aboutsummaryrefslogtreecommitdiff
path: root/internal/feed/template/funcs_test.go
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2022-01-09 00:20:24 +0100
committerRené 'Necoro' Neumann <necoro@necoro.eu>2022-01-09 00:20:24 +0100
commitd480edb65af5d6e9d8906940cdd4093761c1b451 (patch)
tree186cf7e2aee6576d84fdb3df11e6a06bc80d6a52 /internal/feed/template/funcs_test.go
parent0d3a8c8bab2fad592e192169a83e286d0d2ab692 (diff)
downloadfeed2imap-go-d480edb65af5d6e9d8906940cdd4093761c1b451.tar.gz
feed2imap-go-d480edb65af5d6e9d8906940cdd4093761c1b451.tar.bz2
feed2imap-go-d480edb65af5d6e9d8906940cdd4093761c1b451.zip
template: Restructuring and adding tests.
Diffstat (limited to 'internal/feed/template/funcs_test.go')
-rw-r--r--internal/feed/template/funcs_test.go57
1 files changed, 57 insertions, 0 deletions
diff --git a/internal/feed/template/funcs_test.go b/internal/feed/template/funcs_test.go
new file mode 100644
index 0000000..c75d27d
--- /dev/null
+++ b/internal/feed/template/funcs_test.go
@@ -0,0 +1,57 @@
+package template
+
+import (
+ "testing"
+
+ "github.com/google/go-cmp/cmp"
+)
+
+func TestByteCount(t *testing.T) {
+ tests := map[string]struct {
+ inp string
+ out string
+ }{
+ "Empty": {"", "0 B"},
+ "Byte": {"123", "123 B"},
+ "KByte": {"2048", "2.0 KB"},
+ "KByte slight": {"2049", "2.0 KB"},
+ "KByte round": {"2560", "2.5 KB"},
+ "MByte": {"2097152", "2.0 MB"},
+ }
+
+ for name, tt := range tests {
+ t.Run(name, func(tst *testing.T) {
+ out := byteCount(tt.inp)
+
+ if diff := cmp.Diff(tt.out, out); diff != "" {
+ tst.Error(diff)
+ }
+ })
+ }
+}
+
+func TestDict(t *testing.T) {
+ type i []interface{}
+ type o map[string]interface{}
+
+ tests := map[string]struct {
+ inp i
+ out o
+ }{
+ "Empty": {i{}, o{}},
+ "One": {i{"1"}, o{"1": ""}},
+ "Two": {i{"1", 1}, o{"1": 1}},
+ "Three": {i{"1", "2", "3"}, o{"1": "2", "3": ""}},
+ "Four": {i{"1", 2, "3", '4'}, o{"1": 2, "3": '4'}},
+ }
+
+ for name, tt := range tests {
+ t.Run(name, func(tst *testing.T) {
+ out := dict(tt.inp...)
+
+ if diff := cmp.Diff(tt.out, o(out)); diff != "" {
+ tst.Error(diff)
+ }
+ })
+ }
+}