summaryrefslogtreecommitdiff
path: root/lib/textui/text_test.go
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2022-12-24 23:05:34 -0700
committerLuke Shumaker <lukeshu@lukeshu.com>2022-12-26 00:14:45 -0700
commitb15e874d00e113813a928ef4769e8a73fd6090a5 (patch)
tree7424862762297b27b95ed3b3b57daa3864247c6f /lib/textui/text_test.go
parentbfe111c950da328b673ed4e3f8da0503bbd793d8 (diff)
textui: Add some utilities for human-friendly text
Diffstat (limited to 'lib/textui/text_test.go')
-rw-r--r--lib/textui/text_test.go39
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/textui/text_test.go b/lib/textui/text_test.go
new file mode 100644
index 0000000..c4b42f6
--- /dev/null
+++ b/lib/textui/text_test.go
@@ -0,0 +1,39 @@
+// Copyright (C) 2022 Luke Shumaker <lukeshu@lukeshu.com>
+//
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+package textui_test
+
+import (
+ "fmt"
+ "strings"
+ "testing"
+
+ "github.com/stretchr/testify/assert"
+
+ "git.lukeshu.com/btrfs-progs-ng/lib/btrfs/btrfsvol"
+ "git.lukeshu.com/btrfs-progs-ng/lib/textui"
+)
+
+func TestFprintf(t *testing.T) {
+ var out strings.Builder
+ textui.Fprintf(&out, "%d", 12345)
+ assert.Equal(t, "12,345", out.String())
+}
+
+func TestHumanized(t *testing.T) {
+ assert.Equal(t, "12,345", fmt.Sprint(textui.Humanized(12345)))
+ assert.Equal(t, "12,345 ", fmt.Sprintf("%-8d", textui.Humanized(12345)))
+
+ laddr := btrfsvol.LogicalAddr(345243543)
+ assert.Equal(t, "0x000000001493ff97", fmt.Sprintf("%v", textui.Humanized(laddr)))
+ assert.Equal(t, "345243543", fmt.Sprintf("%d", textui.Humanized(laddr)))
+ assert.Equal(t, "345,243,543", fmt.Sprintf("%d", textui.Humanized(uint64(laddr))))
+}
+
+func TestPortion(t *testing.T) {
+ assert.Equal(t, "100% (0/0)", fmt.Sprint(textui.Portion[int]{}))
+ assert.Equal(t, "0% (1/12,345)", fmt.Sprint(textui.Portion[int]{N: 1, D: 12345}))
+ assert.Equal(t, "100% (0/0)", fmt.Sprint(textui.Portion[btrfsvol.PhysicalAddr]{}))
+ assert.Equal(t, "0% (1/12,345)", fmt.Sprint(textui.Portion[btrfsvol.PhysicalAddr]{N: 1, D: 12345}))
+}