ref: f470cf9590bb7ca6841b230ef70b83f507c68fd1
parent: 3f0f186b91e89f8958821d25820a7a73d29fb4be
author: bep <[email protected]>
date: Tue Jan 20 09:24:43 EST 2015
Add tests for Apply
--- a/tpl/template_test.go
+++ b/tpl/template_test.go
@@ -832,6 +832,48 @@
}
}
+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{
binary files /dev/null b/tpl/tpl.test differ