-
Notifications
You must be signed in to change notification settings - Fork 0
/
stdlib_test.go
56 lines (47 loc) · 1.23 KB
/
stdlib_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
package stdlib
import (
"testing"
)
func TestIsTextFile(tester *testing.T) {
cases := []struct {
name, path string
want bool
}{
{"txt", "text-file-01.txt", true},
{"jpg", "text-file-02.jpg", false},
{"gif", "text-file-03.gif", false},
{"png", "text-file-04.png", false},
{"json", "text-file-05.json", true},
{"md", "text-file-06.md", true},
{"xml", "text-file-07.xml", true},
{"hiddenDirectory", ".hidden/file.txt", true},
{"noExtension", "config", true},
}
el := []string{"jpg", "gif", "png", "pdf"}
in := []string{"txt", "json", "md", "xml", "config"}
sbj, _ := NewFileExtChecker(&el, &in)
for _, fxtr := range cases {
tester.Run(fxtr.name, func(t *testing.T) {
got := sbj.IsValid(fxtr.path)
if got != fxtr.want {
t.Errorf("got %v, want %v, for %v", got, fxtr.want, fxtr.path)
}
})
}
cases = []struct {
name, path string
want bool
}{
{"notInTheExcludeList", "text-file-07.xml", true},
}
fxtr := cases[0]
el = []string{"jpg", "gif", "png", "pdf"}
in = []string{}
sbj, _ = NewFileExtChecker(&el, &in)
tester.Run(fxtr.name, func(t *testing.T) {
got := sbj.IsValid(fxtr.path)
if got != fxtr.want {
t.Errorf("got %v, want %v, for %v", got, fxtr.want, fxtr.path)
}
})
}