diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2022-01-09 00:20:24 +0100 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2022-01-09 00:20:24 +0100 |
commit | d480edb65af5d6e9d8906940cdd4093761c1b451 (patch) | |
tree | 186cf7e2aee6576d84fdb3df11e6a06bc80d6a52 /internal/feed/template/funcs_test.go | |
parent | 0d3a8c8bab2fad592e192169a83e286d0d2ab692 (diff) | |
download | feed2imap-go-d480edb65af5d6e9d8906940cdd4093761c1b451.tar.gz feed2imap-go-d480edb65af5d6e9d8906940cdd4093761c1b451.tar.bz2 feed2imap-go-d480edb65af5d6e9d8906940cdd4093761c1b451.zip |
template: Restructuring and adding tests.
Diffstat (limited to '')
-rw-r--r-- | internal/feed/template/funcs_test.go | 57 |
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) + } + }) + } +} |