summaryrefslogtreecommitdiff
path: root/match/match_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'match/match_test.go')
-rw-r--r--match/match_test.go150
1 files changed, 71 insertions, 79 deletions
diff --git a/match/match_test.go b/match/match_test.go
index f9afd46..ae1ffea 100644
--- a/match/match_test.go
+++ b/match/match_test.go
@@ -15,100 +15,92 @@ func TestMatch(t *testing.T) {
panic(err)
}
- tests := []struct {
- m Matcher
+ type matcherTest struct {
prefix string
want bool
+ }
+
+ tests := []struct {
+ m Matcher
+ tests []matcherTest
}{
{
- m: Prefix("abcd"),
- prefix: "",
- want: true,
- },
- {
- m: Prefix("abcd"),
- prefix: "ab",
- want: true,
- },
- {
- m: Prefix("abcd"),
- prefix: "ac",
- want: false,
- },
- {
- m: Prefix(""),
- prefix: "ac",
- want: false,
- },
- {
- m: Prefix(""),
- prefix: "",
- want: true,
- },
- {
- m: File("file.txt"),
- prefix: "",
- want: true,
- },
- {
- m: File("./file.txt"),
- prefix: "",
- want: true,
- },
- {
- m: File("./file.txt"),
- prefix: "f",
- want: true,
- },
- {
- m: File("./file.txt"),
- prefix: "file.",
- want: true,
- },
- {
- m: File("./file.txt"),
- prefix: "./f",
- want: true,
- },
- {
- m: File("./file.txt"),
- prefix: "other.txt",
- want: false,
- },
- {
- m: File("./file.txt"),
- prefix: "/file.txt",
- want: false,
+ m: Prefix("abcd"),
+ tests: []matcherTest{
+ {prefix: "", want: true},
+ {prefix: "ab", want: true},
+ {prefix: "ac", want: false},
+ },
},
{
- m: File("/file.txt"),
- prefix: "file.txt",
- want: false,
+ m: Prefix(""),
+ tests: []matcherTest{
+ {prefix: "ac", want: false},
+ {prefix: "", want: true},
+ },
},
{
- m: File("/file.txt"),
- prefix: "./file.txt",
- want: false,
+ m: File("file.txt"),
+ tests: []matcherTest{
+ {prefix: "", want: true},
+ {prefix: "f", want: true},
+ {prefix: "./f", want: true},
+ {prefix: "file.", want: true},
+ {prefix: "./file.", want: true},
+ {prefix: "file.txt", want: true},
+ {prefix: "./file.txt", want: true},
+ {prefix: "other.txt", want: false},
+ {prefix: "/other.txt", want: false},
+ {prefix: "/file.txt", want: false},
+ {prefix: "/fil", want: false},
+ {prefix: "/file.txt2", want: false},
+ },
},
{
- m: File("/file.txt"),
- prefix: "/file.txt",
- want: true,
+ m: File("./file.txt"),
+ tests: []matcherTest{
+ {prefix: "", want: true},
+ {prefix: "f", want: true},
+ {prefix: "./f", want: true},
+ {prefix: "file.", want: true},
+ {prefix: "./file.", want: true},
+ {prefix: "file.txt", want: true},
+ {prefix: "./file.txt", want: true},
+ {prefix: "other.txt", want: false},
+ {prefix: "/other.txt", want: false},
+ {prefix: "/file.txt", want: false},
+ {prefix: "/fil", want: false},
+ {prefix: "/file.txt2", want: false},
+ },
},
{
- m: File("/file.txt"),
- prefix: "/fil",
- want: true,
+ m: File("/file.txt"),
+ tests: []matcherTest{
+ {prefix: "", want: false},
+ {prefix: "f", want: false},
+ {prefix: "./f", want: false},
+ {prefix: "file.", want: false},
+ {prefix: "./file.", want: false},
+ {prefix: "file.txt", want: false},
+ {prefix: "./file.txt", want: false},
+ {prefix: "other.txt", want: false},
+ {prefix: "/other.txt", want: false},
+ {prefix: "/file.txt", want: true},
+ {prefix: "/fil", want: true},
+ {prefix: "/file.txt2", want: false},
+ },
},
}
for _, tt := range tests {
- name := tt.m.String() + "/" + tt.prefix
- t.Run(name, func(t *testing.T) {
- got := tt.m.Match(tt.prefix)
- if got != tt.want {
- t.Errorf("Failed %s: got = %t, want: %t", name, got, tt.want)
- }
- })
+ for _, ttt := range tt.tests {
+ name := "matcher:" + tt.m.String() + "/prefix:" + ttt.prefix
+ t.Run(name, func(t *testing.T) {
+ got := tt.m.Match(ttt.prefix)
+ if got != ttt.want {
+ t.Errorf("Failed %s: got = %t, want: %t", name, got, ttt.want)
+ }
+ })
+ }
}
}