return strings.Trim(ss, sc), nil
}
+// TrimSpace returns the given string, removing leading and trailing whitespace
+// as defined by Unicode.
+func (ns *Namespace) TrimSpace(s any) (string, error) {
+ ss, err := cast.ToStringE(s)
+ if err != nil {
+ return "", err
+ }
+
+ return strings.TrimSpace(ss), nil
+}
+
// TrimLeft returns a slice of the string s with all leading characters
// contained in cutset removed.
func (ns *Namespace) TrimLeft(cutset, s any) (string, error) {
}
}
+
+func TestTrimSpace(t *testing.T) {
+ t.Parallel()
+ c := qt.New(t)
+
+ for _, test := range []struct {
+ s any
+ expect any
+ }{
+ {"\n\r test \n\r", "test"},
+ {template.HTML("\n\r test \n\r"), "test"},
+ {[]byte("\n\r test \n\r"), "test"},
+ // errors
+ {tstNoStringer{}, false},
+ } {
+
+ result, err := ns.TrimSpace(test.s)
+
+ if b, ok := test.expect.(bool); ok && !b {
+ c.Assert(err, qt.Not(qt.IsNil))
+ continue
+ }
+
+ c.Assert(err, qt.IsNil)
+ c.Assert(result, qt.Equals, test.expect)
+ }
+}