-
Notifications
You must be signed in to change notification settings - Fork 1
/
utils_test.go
84 lines (73 loc) · 3.01 KB
/
utils_test.go
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
package chatbot
import (
"testing"
)
func Test_SplitCommandString(t *testing.T) {
type strarr struct {
src string
dest []string
}
arrok := []strarr{
strarr{src: "getdtdata -m gamedatareport -s 2019-04-17 -e 2019-04-17", dest: []string{"getdtdata", "-m", "gamedatareport", "-s", "2019-04-17", "-e", "2019-04-17"}},
strarr{src: "getdtdata", dest: []string{"getdtdata"}},
strarr{src: " getdtdata", dest: []string{"getdtdata"}},
strarr{src: " getdtdata ", dest: []string{"getdtdata"}},
strarr{src: "getdtdata ", dest: []string{"getdtdata"}},
strarr{src: " getdtdata -m gamedatareport -s 2019-04-17 -e 2019-04-17 ", dest: []string{"getdtdata", "-m", "gamedatareport", "-s", "2019-04-17", "-e", "2019-04-17"}},
strarr{src: " getdtdata -m gamedatareport -s \"2019-04-17\" -e 2019-04-17 ", dest: []string{"getdtdata", "-m", "gamedatareport", "-s", "2019-04-17", "-e", "2019-04-17"}},
strarr{src: " getdtdata -m gamedatareport -s \"2019-04-17 \" -e 2019-04-17 ", dest: []string{"getdtdata", "-m", "gamedatareport", "-s", "2019-04-17 ", "-e", "2019-04-17"}},
strarr{src: "duckling -l zh_CN -t \"这个星期四要去看复联\"", dest: []string{"duckling", "-l", "zh_CN", "-t", "这个星期四要去看复联"}},
}
for _, v := range arrok {
cr := SplitCommandString(v.src)
if len(cr) != len(v.dest) {
t.Fatalf("Test_SplitCommandString Err src:%v dest:%v ret:%v", v.src, v.dest, cr)
}
for i, sv := range cr {
if sv != v.dest[i] {
t.Fatalf("Test_SplitCommandString Err src:%v dest:%v ret:%v", v.src, v.dest, cr)
}
}
}
t.Logf("Test_SplitCommandString OK")
}
func Test_SplitMultiCommandString(t *testing.T) {
type strarr struct {
src string
dest []string
}
arrok := []strarr{
strarr{
src: "reqtask techinasia -m jobs",
dest: []string{"reqtask techinasia -m jobs"},
},
strarr{
src: "reqtask techinasia -m jobs\n\r\n\n\r\n",
dest: []string{"reqtask techinasia -m jobs"},
},
strarr{
src: "reqtask techinasia -m jobs\nreqtask techinasia -m jobs\r\n\n\r\nreqtask techinasia -m jobs",
dest: []string{"reqtask techinasia -m jobs", "reqtask techinasia -m jobs", "reqtask techinasia -m jobs"},
},
strarr{
src: "reqtask techinasia -m \"jobs\"\nreqtask techinasia -m jobs\r\n\n\r\nreqtask techinasia -m jobs",
dest: []string{"reqtask techinasia -m \"jobs\"", "reqtask techinasia -m jobs", "reqtask techinasia -m jobs"},
},
strarr{
src: "reqtask techinasia -m \"jobs\nreqtask techinasia -m jobs\r\n\"\n\r\nreqtask techinasia -m jobs",
dest: []string{"reqtask techinasia -m \"jobs\nreqtask techinasia -m jobs\r\n\"", "reqtask techinasia -m jobs"},
},
}
for _, v := range arrok {
cr := SplitMultiCommandString(v.src)
if len(cr) != len(v.dest) {
t.Fatalf("Test_SplitMultiCommandString Err src:%v dest:%v ret:%v", v.src, v.dest, cr)
}
for i, sv := range cr {
if sv != v.dest[i] {
t.Fatalf("Test_SplitMultiCommandString Err src:%v dest:%v ret:%v", v.src, v.dest, cr)
}
}
}
t.Logf("Test_SplitMultiCommandString OK")
}