-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathins_parser_test.go
73 lines (65 loc) · 2.04 KB
/
ins_parser_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
package pkg
import (
"testing"
)
func TestParseInsCmdOnly(t *testing.T) {
if ins, err := ParseIns(`CP`); err != nil || ins.First != "CP" {
t.Error("test error of cmd only")
}
if ins, err := ParseIns(` CP`); err != nil || ins.First != "CP" {
t.Error("test error of cmd only")
}
if ins, err := ParseIns(`CP `); err != nil || ins.First != "CP" {
t.Error("test error of cmd only")
}
if ins, err := ParseIns(` CP `); err != nil || ins.First != "CP" {
t.Error("test error of cmd only")
}
}
func TestParseInsSecond(t *testing.T) {
if ins, err := ParseIns(`CP ../path ./`); err != nil {
t.Error("test error of ins second parsing")
} else {
if ins.Second != "../path" || ins.Third != "./" {
t.Errorf("test error of ins second parsing: `CP ../path ./`, second:%s, third:%s",
ins.Second, ins.Third)
}
}
if ins, err := ParseIns(`CP ../path `); err != nil {
t.Error("test error of ins second parsing")
} else {
if ins.Second != "../path" || ins.Third != "" {
t.Errorf("test error of ins second parsing: `CP ../path `, second:%s, third:%s",
ins.Second, ins.Third)
}
}
if ins, err := ParseIns(`CP ../path "./des" `); err != nil {
t.Error("test error of ins second parsing")
} else {
if ins.Second != "../path" || ins.Third != "./des" {
t.Errorf("test error of ins second parsing: `CP ../path \"./des\"`, second:%s, third:%s",
ins.Second, ins.Third)
}
}
}
func TestParseInsSecondQ(t *testing.T) {
if _, err := ParseIns(`CP "`); err == nil {
t.Error("test error of ins second parsing")
}
if _, err := ParseIns(`CP " `); err == nil {
t.Error("test error of ins second parsing")
}
if ins, err := ParseIns(`CP ""`); err != nil {
t.Error("test error of ins second parsing")
} else {
if ins.Second != "" {
t.Errorf("test error of ins second parsing, second:%s", ins.Second)
}
}
if ins, err := ParseIns(`CP "C"`); err != nil || ins.Second != "C" {
t.Error("test error of ins second parsing")
}
if ins, err := ParseIns("CP \"C \""); err != nil || ins.Second != "C" {
t.Error("test error of ins second parsing")
}
}