Skip to content

Commit 0f591e0

Browse files
committed
test(serverHandler): add test cases for filter
1 parent d1d63ac commit 0f591e0

File tree

3 files changed

+136
-31
lines changed

3 files changed

+136
-31
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package serverHandler
2+
3+
import (
4+
"os"
5+
"time"
6+
)
7+
8+
type dummyFileInfo struct {
9+
name string
10+
size int64
11+
modTime time.Time
12+
isDir bool
13+
}
14+
15+
func (info dummyFileInfo) Name() string {
16+
return info.name
17+
}
18+
19+
func (info dummyFileInfo) Size() int64 {
20+
return info.size
21+
}
22+
23+
func (info dummyFileInfo) Mode() os.FileMode {
24+
return 0
25+
}
26+
27+
func (info dummyFileInfo) ModTime() time.Time {
28+
return info.modTime
29+
}
30+
31+
func (info dummyFileInfo) IsDir() bool {
32+
return info.isDir
33+
}
34+
35+
func (info dummyFileInfo) Sys() interface{} {
36+
return nil
37+
}

src/serverHandler/filter_test.go

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
package serverHandler
2+
3+
import (
4+
"os"
5+
"regexp"
6+
"testing"
7+
"time"
8+
)
9+
10+
func TestHandler_FilterItems(t *testing.T) {
11+
now := time.Now()
12+
var h *handler
13+
var infos []os.FileInfo
14+
var ok bool
15+
16+
re2 := regexp.MustCompile("2")
17+
re3 := regexp.MustCompile("3")
18+
19+
dir1 := dummyFileInfo{"dir1", 0, now, true}
20+
dir2 := dummyFileInfo{"dir2", 0, now, true}
21+
dir3 := dummyFileInfo{"dir3", 0, now, true}
22+
23+
file1 := dummyFileInfo{"file1", 0, now, false}
24+
file2 := dummyFileInfo{"file2", 0, now, false}
25+
file3 := dummyFileInfo{"file3", 0, now, false}
26+
27+
originInfos := []os.FileInfo{dir1, dir2, dir3, file1, file2, file3}
28+
29+
h = &handler{shows: re2}
30+
infos = h.FilterItems(originInfos)
31+
ok = expectInfos(infos, dir2, file2)
32+
if !ok {
33+
t.Errorf("%+v\n", infos)
34+
}
35+
36+
h = &handler{showDirs: re2}
37+
infos = h.FilterItems(originInfos)
38+
ok = expectInfos(infos, dir2, file1, file2, file3)
39+
if !ok {
40+
t.Errorf("%+v\n", infos)
41+
}
42+
43+
h = &handler{showFiles: re2}
44+
infos = h.FilterItems(originInfos)
45+
ok = expectInfos(infos, dir1, dir2, dir3, file2)
46+
if !ok {
47+
t.Errorf("%+v\n", infos)
48+
}
49+
50+
h = &handler{hides: re2}
51+
infos = h.FilterItems(originInfos)
52+
ok = expectInfos(infos, dir1, dir3, file1, file3)
53+
if !ok {
54+
t.Errorf("%+v\n", infos)
55+
}
56+
57+
h = &handler{hideDirs: re2}
58+
infos = h.FilterItems(originInfos)
59+
ok = expectInfos(infos, dir1, dir3, file1, file2, file3)
60+
if !ok {
61+
t.Errorf("%+v\n", infos)
62+
}
63+
64+
h = &handler{hideFiles: re2}
65+
infos = h.FilterItems(originInfos)
66+
ok = expectInfos(infos, dir1, dir2, dir3, file1, file3)
67+
if !ok {
68+
t.Errorf("%+v\n", infos)
69+
}
70+
71+
h = &handler{shows: re2, hides: re3}
72+
infos = h.FilterItems(originInfos)
73+
ok = expectInfos(infos, dir2, file2)
74+
if !ok {
75+
t.Errorf("%+v\n", infos)
76+
}
77+
78+
h = &handler{shows: re2, hides: re2}
79+
infos = h.FilterItems(originInfos)
80+
ok = expectInfos(infos)
81+
if !ok {
82+
t.Errorf("%+v\n", infos)
83+
}
84+
85+
h = &handler{shows: re2, hideDirs: re2}
86+
infos = h.FilterItems(originInfos)
87+
ok = expectInfos(infos, file2)
88+
if !ok {
89+
t.Errorf("%+v\n", infos)
90+
}
91+
92+
h = &handler{shows: re2, hideFiles: re2}
93+
infos = h.FilterItems(originInfos)
94+
ok = expectInfos(infos, dir2)
95+
if !ok {
96+
t.Errorf("%+v\n", infos)
97+
}
98+
99+
}

src/serverHandler/sort_test.go

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -6,37 +6,6 @@ import (
66
"time"
77
)
88

9-
type dummyFileInfo struct {
10-
name string
11-
size int64
12-
modTime time.Time
13-
isDir bool
14-
}
15-
16-
func (info dummyFileInfo) Name() string {
17-
return info.name
18-
}
19-
20-
func (info dummyFileInfo) Size() int64 {
21-
return info.size
22-
}
23-
24-
func (info dummyFileInfo) Mode() os.FileMode {
25-
return 0
26-
}
27-
28-
func (info dummyFileInfo) ModTime() time.Time {
29-
return info.modTime
30-
}
31-
32-
func (info dummyFileInfo) IsDir() bool {
33-
return info.isDir
34-
}
35-
36-
func (info dummyFileInfo) Sys() interface{} {
37-
return nil
38-
}
39-
409
func expectInfos(infos []os.FileInfo, expects ...os.FileInfo) bool {
4110
if len(infos) != len(expects) {
4211
return false

0 commit comments

Comments
 (0)