-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathstring_test.go
More file actions
79 lines (68 loc) · 2.35 KB
/
string_test.go
File metadata and controls
79 lines (68 loc) · 2.35 KB
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
package com
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestSubstr(t *testing.T) {
assert.Equal(t, `web`, Substr(`webx_top`, ``, 3))
assert.Equal(t, `历史书`, Substr(`历史书籍`, ``, 3))
}
func TestTitleCase(t *testing.T) {
assert.Equal(t, `Webx_Top`, TitleCase(`webx_top`))
assert.Equal(t, `Webx Top`, TitleCase(`webx top`))
}
func TestPascalCaseWith(t *testing.T) {
assert.Equal(t, `WebxTop.CoscmsCom`, PascalCaseWith(`webx_top.coscms_com`, '.'))
assert.Equal(t, `webx_top.coscms_com`, SnakeCaseWith(`WebxTop.CoscmsCom`, '.'))
assert.Equal(t, `webxTopAbc`, CamelCase(`webx_top_abc`))
assert.Equal(t, `webxTop.coscmsCom`, CamelCaseWith(`webx_top.coscms_com`, '.'))
assert.Equal(t, `webx_top.coscms_com`, SnakeCaseWith(`webxTop.coscmsCom`, '.'))
}
func TestSlashes(t *testing.T) {
assert.Equal(t, `webx\'top\\`, AddSlashes(`webx'top\`))
assert.Equal(t, `webx'top\`, StripSlashes(`webx\'top\\`))
assert.Equal(t, `webx\\\'top\\\\`, AddSlashes(`webx\'top\\`))
assert.Equal(t, `webx\'top\\`, StripSlashes(`webx\\\'top\\\\`))
assert.Equal(t, `webx'top'`, StripSlashes(`webx\'top\'`))
s := `webx
eee
www www2
`
actual := AddRSlashes(s)
assert.Equal(t, `webx\neee\n\twww\twww2\n`, actual)
fmt.Println(actual)
}
func TestSafeBase64(t *testing.T) {
s, e := SafeBase64Decode(SafeBase64Encode(`webx_top`))
if e != nil {
panic(e)
}
assert.Equal(t, `webx_top`, s)
}
func TestTitle(t *testing.T) {
v := Title(`nickName`)
assert.Equal(t, `NickName`, v)
v = Title(`nick_name`)
assert.Equal(t, `Nick_name`, v)
}
func TestContainsWord(t *testing.T) {
v := ContainsWord(`application/x-apple-diskimage`, `image`)
assert.False(t, v)
v = ContainsWord(`image/jpg`, `image`)
assert.True(t, v)
v = ContainsWord(`imagejpg`, `image`)
assert.False(t, v)
v = ContainsWord(`abc/image`, `image`)
assert.True(t, v)
v = ContainsWord(`abc/image/jpg`, `image`)
assert.True(t, v)
v = ContainsWord(`abc/imagejpg`, `image`)
assert.False(t, v)
}
func TestMultipleBytesText(t *testing.T) {
s := `。,()-1!@234567890abc123456789abc`
v := MBToSBText(s)
assert.Equal(t, `。,()-1!@234567890abc123456789abc`, v)
assert.Equal(t, `。,()-1!@234567890abc123456789abc`, SBToMBText(v))
}