tpl: Complete coverage for Humanize

This commit is contained in:
Bjørn Erik Pedersen 2016-02-07 01:45:37 +01:00
parent 7c3dceeaed
commit b3a70abe40

View file

@ -1523,18 +1523,33 @@ func TestChomp(t *testing.T) {
} }
func TestHumanize(t *testing.T) { func TestHumanize(t *testing.T) {
for _, e := range []struct { for i, this := range []struct {
in, exp string in, expect interface{}
}{ }{
{"MyCamelPost", "My camel post"}, {"MyCamelPost", "My camel post"},
{"myLowerCamelPost", "My lower camel post"}, {"myLowerCamelPost", "My lower camel post"},
{"my-dash-post", "My dash post"}, {"my-dash-post", "My dash post"},
{"my_underscore_post", "My underscore post"}, {"my_underscore_post", "My underscore post"},
{"posts/my-first-post", "Posts/my first post"}, {"posts/my-first-post", "Posts/my first post"},
{tstNoStringer{}, false},
} { } {
res, err := Humanize(e.in)
assert.Nil(t, err) result, err := Humanize(this.in)
assert.Equal(t, e.exp, res)
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)
}
}
} }
} }