-
Notifications
You must be signed in to change notification settings - Fork 14
/
util_test.go
78 lines (73 loc) · 1.66 KB
/
util_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
package main
import (
"reflect"
"testing"
)
func TestSanitisePath(t *testing.T) {
cases := []struct {
path string
platform string
want string
}{
{"/Users/foo/bar", "darin", "/Users/foo/bar"},
{"/home/foo/bar", "linux", "/home/foo/bar"},
{"C:\\Users\\foo\\bar", "windows", "/c/Users/foo/bar"},
}
for _, c := range cases {
gotSanitisedPath := SanitisePath(c.path, c.platform)
if gotSanitisedPath != c.want {
t.Errorf("SanitisedPath %q != %q", gotSanitisedPath, c.want)
}
}
}
func TestAddPrefix(t *testing.T) {
cases := []struct {
inSlice []string
prefix string
want []string
}{
{
[]string{"foo", "bar", "foobar"},
"prefix",
[]string{"prefix", "foo", "prefix", "bar", "prefix", "foobar"},
},
}
for _, c := range cases {
got := AddPrefix(c.inSlice, c.prefix)
if !reflect.DeepEqual(got, c.want) {
t.Errorf("AddPrefix(%q, %q) %q != %q", c.inSlice, c.prefix, got, c.want)
}
}
}
func TestJoinStringSlices(t *testing.T) {
cases := []struct {
inSlices [][]string
want []string
}{
{
[][]string{{"foo"}, {"bar"}, {"foobar"}},
[]string{"foo", "bar", "foobar"},
},
}
for _, c := range cases {
got := JoinStringSlices(c.inSlices...)
if !reflect.DeepEqual(got, c.want) {
t.Errorf("JoinStringSlices(%q) %q != %q", c.inSlices, got, c.want)
}
}
}
func TestExtractFileExtension(t *testing.T) {
cases := []struct {
filename string
extension string
}{
{"foo.bar", "bar"},
{"foo.bar.foobar", "foobar"},
}
for _, c := range cases {
gotExtension := ExtractFileExtension(c.filename)
if gotExtension != c.extension {
t.Errorf("ExtractFileExtension %q != %q", gotExtension, c.extension)
}
}
}