1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
package funcs
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestReplaceAll(t *testing.T) {
sf := &StringFuncs{}
assert.Equal(t, "Replaced",
sf.ReplaceAll("Orig", "Replaced", "Orig"))
assert.Equal(t, "ReplacedReplaced",
sf.ReplaceAll("Orig", "Replaced", "OrigOrig"))
}
func TestIndent(t *testing.T) {
sf := &StringFuncs{}
assert.Equal(t, " foo\n bar\n baz", sf.Indent("foo\nbar\nbaz"))
assert.Equal(t, " foo\n bar\n baz", sf.Indent(" ", "foo\nbar\nbaz"))
assert.Equal(t, "---foo\n---bar\n---baz", sf.Indent(3, "-", "foo\nbar\nbaz"))
assert.Equal(t, " foo\n bar\n baz", sf.Indent(3, "foo\nbar\nbaz"))
}
func TestTrimPrefix(t *testing.T) {
sf := &StringFuncs{}
assert.Equal(t, "Bar",
sf.TrimPrefix("Foo", "FooBar"))
}
func TestTrunc(t *testing.T) {
sf := &StringFuncs{}
assert.Equal(t, "", sf.Trunc(5, ""))
assert.Equal(t, "", sf.Trunc(0, nil))
assert.Equal(t, "123", sf.Trunc(3, 123456789))
assert.Equal(t, "hello, world", sf.Trunc(-1, "hello, world"))
}
func TestAbbrev(t *testing.T) {
sf := &StringFuncs{}
_, err := sf.Abbrev()
assert.Error(t, err)
_, err = sf.Abbrev("foo")
assert.Error(t, err)
s, err := sf.Abbrev(3, "foo")
assert.NoError(t, err)
assert.Equal(t, "foo", s)
s, err = sf.Abbrev(2, 6, "foobar")
assert.NoError(t, err)
assert.Equal(t, "foobar", s)
s, err = sf.Abbrev(6, 9, "foobarbazquxquux")
assert.NoError(t, err)
assert.Equal(t, "...baz...", s)
}
func TestSlug(t *testing.T) {
sf := &StringFuncs{}
s := sf.Slug(nil)
assert.Equal(t, "nil", s)
s = sf.Slug(0)
assert.Equal(t, "0", s)
s = sf.Slug(1.85e-5)
assert.Equal(t, "1-85e-05", s)
s = sf.Slug("Hello, World!")
assert.Equal(t, "hello-world", s)
s = sf.Slug("foo@example.com")
assert.Equal(t, "fooatexample-com", s)
s = sf.Slug("rock & roll!")
assert.Equal(t, "rock-and-roll", s)
s = sf.Slug("foo@example.com")
assert.Equal(t, "fooatexample-com", s)
s = sf.Slug(`100%`)
assert.Equal(t, "100", s)
}
|