},
)
+ ns.AddMethodMapping(ctx.TrimPrefix,
+ nil,
+ [][2]string{
+ {`{{ "aabbaa" | strings.TrimPrefix "a" }}`, `abbaa`},
+ {`{{ "aabbaa" | strings.TrimPrefix "aa" }}`, `bbaa`},
+ },
+ )
+
ns.AddMethodMapping(ctx.TrimRight,
nil,
[][2]string{
},
)
+ 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{
// 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
// 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
} {
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)
} {
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)