tpl: Complete coverage for Humanize
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 7 Feb 2016 00:45:37 +0000 (01:45 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Sun, 7 Feb 2016 00:45:37 +0000 (01:45 +0100)
tpl/template_funcs_test.go

index 1c4daf844e567e8258fb710ccbb95b16b9d63dcb..c1e8f3f94b2452b921f19decbc0cc0b0639b3b69 100644 (file)
@@ -1523,18 +1523,33 @@ func TestChomp(t *testing.T) {
 }
 
 func TestHumanize(t *testing.T) {
-       for _, e := range []struct {
-               in, exp string
+       for i, this := range []struct {
+               in, expect interface{}
        }{
                {"MyCamelPost", "My camel post"},
                {"myLowerCamelPost", "My lower camel post"},
                {"my-dash-post", "My dash post"},
                {"my_underscore_post", "My underscore post"},
                {"posts/my-first-post", "Posts/my first post"},
+               {tstNoStringer{}, false},
        } {
-               res, err := Humanize(e.in)
-               assert.Nil(t, err)
-               assert.Equal(t, e.exp, res)
+
+               result, err := Humanize(this.in)
+
+               if b, ok := this.expect.(bool); ok && !b {
+                       if err == nil {
+                               t.Errorf("[%d] Humanize didn't return an expected error", i)
+                       }
+               } else {
+                       if err != nil {
+                               t.Errorf("[%d] failed: %s", i, err)
+                               continue
+                       }
+                       if result != this.expect {
+                               t.Errorf("[%d] Humanize got %v but expected %v", i, result, this.expect)
+                       }
+               }
+
        }
 }