diff options
author | Cameron Moore <moorereason@gmail.com> | 2017-08-14 18:30:04 -0500 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2017-08-18 14:21:58 +0200 |
commit | 29a2da0593b081cdd61b93c6328af2c9ea4eb20f (patch) | |
tree | 1056d419ff8b9afebb48b7b4eae45114838998a1 /tpl | |
parent | 7674ad73825c61eecc4003475fe0577f225fe579 (diff) |
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.
Diffstat (limited to 'tpl')
-rw-r--r-- | tpl/strings/init.go | 16 | ||||
-rw-r--r-- | tpl/strings/strings.go | 4 | ||||
-rw-r--r-- | tpl/strings/strings_test.go | 4 |
3 files changed, 20 insertions, 4 deletions
diff --git a/tpl/strings/init.go b/tpl/strings/init.go index b7491b81d..dc674c522 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 1e1bda493..f8acbfe2b 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 8c6b97602..3ab73392c 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) |