ref: c1e43095163e5d4301b653f8e02f0aa45596bf31
parent: 8c840480336de030471fffb09623fbc124809dcb
author: Bjørn Erik Pedersen <[email protected]>
date: Mon Feb 15 19:47:14 EST 2016
Clean up the trim template func test
--- a/tpl/template_funcs_test.go
+++ b/tpl/template_funcs_test.go
@@ -1639,14 +1639,33 @@
}
func TestTrim(t *testing.T) {
- v, _ := trim("1234 my way 13", "123")
- assert.Equal(t, "4 my way ", v)
- v, _ = trim(" my way ", " ")
- assert.Equal(t, "my way", v)
- v, _ = trim(1234, "14")
- assert.Equal(t, "23", v)
- _, e := trim(tstNoStringer{}, " ")
- assert.NotNil(t, e, "tstNoStringer isn't trimmable")
+
+ for i, this := range []struct {
+ v1 interface{}
+ v2 string
+ expect interface{}
+ }{
+ {"1234 my way 13", "123 ", "4 my way"},
+ {" my way ", " ", "my way"},
+ {1234, "14", "23"},
+ {tstNoStringer{}, " ", false},
+ } {
+ result, err := trim(this.v1, this.v2)
+
+ if b, ok := this.expect.(bool); ok && !b {
+ if err == nil {
+ t.Errorf("[%d] trim didn't return an expected error", i)
+ }
+ } else {
+ if err != nil {
+ t.Errorf("[%d] failed: %s", i, err)
+ continue
+ }
+ if !reflect.DeepEqual(result, this.expect) {
+ t.Errorf("[%d] got '%s' but expected %s", i, result, this.expect)
+ }
+ }
+ }
}
func TestDateFormat(t *testing.T) {