Add tests for Apply
authorbep <bjorn.erik.pedersen@gmail.com>
Tue, 20 Jan 2015 13:24:43 +0000 (14:24 +0100)
committerbep <bjorn.erik.pedersen@gmail.com>
Tue, 20 Jan 2015 13:24:43 +0000 (14:24 +0100)
tpl/template_test.go
tpl/tpl.test [new file with mode: 0755]

index d1a8bbdbb67cba0c7c62ba50ae6bc6607f223eb1..a96337094a75e0d1964b13dbe3dff2fb16a3ad93 100644 (file)
@@ -832,6 +832,48 @@ func TestMarkdownify(t *testing.T) {
        }
 }
 
+func TestApply(t *testing.T) {
+       strings := []interface{}{"a\n", "b\n"}
+       noStringers := []interface{}{tstNoStringer{}, tstNoStringer{}}
+
+       var nilErr *error = nil
+
+       chomped, _ := Apply(strings, "chomp", ".")
+       assert.Equal(t, []interface{}{"a", "b"}, chomped)
+
+       chomped, _ = Apply(strings, "chomp", "c\n")
+       assert.Equal(t, []interface{}{"c", "c"}, chomped)
+
+       chomped, _ = Apply(nil, "chomp", ".")
+       assert.Equal(t, []interface{}{}, chomped)
+
+       _, err := Apply(strings, "apply", ".")
+       if err == nil {
+               t.Errorf("apply with apply should fail")
+       }
+
+       _, err = Apply(nilErr, "chomp", ".")
+       if err == nil {
+               t.Errorf("apply with nil in seq should fail")
+       }
+
+       _, err = Apply(strings, "dobedobedo", ".")
+       if err == nil {
+               t.Errorf("apply with unknown func should fail")
+       }
+
+       _, err = Apply(noStringers, "chomp", ".")
+       if err == nil {
+               t.Errorf("apply when func fails should fail")
+       }
+
+       _, err = Apply(tstNoStringer{}, "chomp", ".")
+       if err == nil {
+               t.Errorf("apply with non-sequence should fail")
+       }
+
+}
+
 func TestChomp(t *testing.T) {
        base := "\n This is\na story "
        for i, item := range []string{
diff --git a/tpl/tpl.test b/tpl/tpl.test
new file mode 100755 (executable)
index 0000000..33d130b
Binary files /dev/null and b/tpl/tpl.test differ