summaryrefslogtreecommitdiffstats
path: root/tpl
diff options
context:
space:
mode:
authorCameron Moore <moorereason@gmail.com>2017-08-14 18:30:04 -0500
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2017-08-18 14:21:58 +0200
commit29a2da0593b081cdd61b93c6328af2c9ea4eb20f (patch)
tree1056d419ff8b9afebb48b7b4eae45114838998a1 /tpl
parent7674ad73825c61eecc4003475fe0577f225fe579 (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.go16
-rw-r--r--tpl/strings/strings.go4
-rw-r--r--tpl/strings/strings_test.go4
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)