shithub: hugo

Download patch

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