diff options
Diffstat (limited to 'tpl/strings/strings_test.go')
-rw-r--r-- | tpl/strings/strings_test.go | 50 |
1 files changed, 37 insertions, 13 deletions
diff --git a/tpl/strings/strings_test.go b/tpl/strings/strings_test.go index 92767925a..4fcd3b59a 100644 --- a/tpl/strings/strings_test.go +++ b/tpl/strings/strings_test.go @@ -153,17 +153,30 @@ func TestContainsNonSpace(t *testing.T) { for _, test := range []struct { s any expect bool + isErr bool }{ - {"", false}, - {" ", false}, - {" ", false}, - {"\t", false}, - {"\r", false}, - {"a", true}, - {" a", true}, - {"a\n", true}, + {"", false, false}, + {" ", false, false}, + {" ", false, false}, + {"\t", false, false}, + {"\r", false, false}, + {"a", true, false}, + {" a", true, false}, + {"a\n", true, false}, + // error + {tstNoStringer{}, false, true}, } { - c.Assert(ns.ContainsNonSpace(test.s), qt.Equals, test.expect) + + result, err := ns.ContainsNonSpace(test.s) + + if test.isErr { + c.Assert(err, qt.IsNotNil) + continue + } + + c.Assert(err, qt.IsNil) + c.Assert(result, qt.Equals, test.expect) + } } @@ -812,21 +825,32 @@ func TestDiff(t *testing.T) { t.Parallel() c := qt.New(t) - for _, tt := range []struct { + for _, test := range []struct { oldname string old any newname string new any - expect string + expect any }{ {"old", "foo\n", "new", "bar\n", "diff old new\n--- old\n+++ new\n@@ -1,1 +1,1 @@\n-foo\n+bar\n"}, {"old", "foo\n", "new", "foo\n", ""}, {"old", "foo\n", "new", "", "diff old new\n--- old\n+++ new\n@@ -1,1 +0,0 @@\n-foo\n"}, {"old", "foo\n", "new", nil, "diff old new\n--- old\n+++ new\n@@ -1,1 +0,0 @@\n-foo\n"}, {"old", "", "new", "", ""}, + // errors + {"old", tstNoStringer{}, "new", "foo", false}, + {"old", "foo", "new", tstNoStringer{}, false}, } { - result := ns.Diff(tt.oldname, tt.old, tt.newname, tt.new) - c.Assert(result, qt.Equals, tt.expect) + result, err := ns.Diff(test.oldname, test.old, test.newname, test.new) + + if b, ok := test.expect.(bool); ok && !b { + c.Assert(err, qt.Not(qt.IsNil)) + continue + } + + c.Assert(err, qt.IsNil) + c.Assert(result, qt.Equals, test.expect) + } } |