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.
This commit is contained in:
Cameron Moore 2017-08-14 18:30:04 -05:00 committed by Bjørn Erik Pedersen
parent 7674ad7382
commit 29a2da0593
3 changed files with 20 additions and 4 deletions

View file

@ -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{

View file

@ -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

View file

@ -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)