From: Cameron Moore Date: Mon, 14 Aug 2017 23:30:04 +0000 (-0500) Subject: tpl: Cleanup strings.TrimPrefix and TrimSuffix X-Git-Tag: v0.27~19 X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=29a2da059;p=brevno-suite%2Fhugo tpl: Cleanup strings.TrimPrefix and TrimSuffix These funcs were added during the move to namespaces but were undocumented. This commit fixes the order of the arguments and adds the funcs to the method mapping. --- diff --git a/tpl/strings/init.go b/tpl/strings/init.go index b7491b81..dc674c52 100644 --- a/tpl/strings/init.go +++ b/tpl/strings/init.go @@ -119,6 +119,14 @@ func init() { }, ) + ns.AddMethodMapping(ctx.TrimPrefix, + nil, + [][2]string{ + {`{{ "aabbaa" | strings.TrimPrefix "a" }}`, `abbaa`}, + {`{{ "aabbaa" | strings.TrimPrefix "aa" }}`, `bbaa`}, + }, + ) + ns.AddMethodMapping(ctx.TrimRight, nil, [][2]string{ @@ -126,6 +134,14 @@ func init() { }, ) + ns.AddMethodMapping(ctx.TrimSuffix, + nil, + [][2]string{ + {`{{ "aabbaa" | strings.TrimSuffix "a" }}`, `aabba`}, + {`{{ "aabbaa" | strings.TrimSuffix "aa" }}`, `aabb`}, + }, + ) + ns.AddMethodMapping(ctx.Title, []string{"title"}, [][2]string{ diff --git a/tpl/strings/strings.go b/tpl/strings/strings.go index 1e1bda49..f8acbfe2 100644 --- a/tpl/strings/strings.go +++ b/tpl/strings/strings.go @@ -365,7 +365,7 @@ func (ns *Namespace) TrimLeft(cutset, s interface{}) (string, error) { // TrimPrefix returns s without the provided leading prefix string. If s doesn't // start with prefix, s is returned unchanged. -func (ns *Namespace) TrimPrefix(s, prefix interface{}) (string, error) { +func (ns *Namespace) TrimPrefix(prefix, s interface{}) (string, error) { ss, err := cast.ToStringE(s) if err != nil { return "", err @@ -397,7 +397,7 @@ func (ns *Namespace) TrimRight(cutset, s interface{}) (string, error) { // TrimSuffix returns s without the provided trailing suffix string. If s // doesn't end with suffix, s is returned unchanged. -func (ns *Namespace) TrimSuffix(s, suffix interface{}) (string, error) { +func (ns *Namespace) TrimSuffix(suffix, s interface{}) (string, error) { ss, err := cast.ToStringE(s) if err != nil { return "", err diff --git a/tpl/strings/strings_test.go b/tpl/strings/strings_test.go index 8c6b9760..3ab73392 100644 --- a/tpl/strings/strings_test.go +++ b/tpl/strings/strings_test.go @@ -627,7 +627,7 @@ func TestTrimPrefix(t *testing.T) { } { errMsg := fmt.Sprintf("[%d] %v", i, test) - result, err := ns.TrimPrefix(test.s, test.prefix) + result, err := ns.TrimPrefix(test.prefix, test.s) if b, ok := test.expect.(bool); ok && !b { require.Error(t, err, errMsg) @@ -692,7 +692,7 @@ func TestTrimSuffix(t *testing.T) { } { errMsg := fmt.Sprintf("[%d] %v", i, test) - result, err := ns.TrimSuffix(test.s, test.suffix) + result, err := ns.TrimSuffix(test.suffix, test.s) if b, ok := test.expect.(bool); ok && !b { require.Error(t, err, errMsg)