hugo

Unnamed repository; edit this file 'description' to name the repository.

git clone git://git.shimmy1996.com/hugo.git
commit 29a2da0593b081cdd61b93c6328af2c9ea4eb20f
parent 7674ad73825c61eecc4003475fe0577f225fe579
Author: Cameron Moore <moorereason@gmail.com>
Date:   Mon, 14 Aug 2017 18:30:04 -0500

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:
Mtpl/strings/init.go | 16++++++++++++++++
Mtpl/strings/strings.go | 4++--
Mtpl/strings/strings_test.go | 4++--
3 files changed, 20 insertions(+), 4 deletions(-)
diff --git 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
@@ -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
@@ -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)