summaryrefslogtreecommitdiff
path: root/cmd/restic/exclude_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/restic/exclude_test.go')
-rw-r--r--cmd/restic/exclude_test.go27
1 files changed, 27 insertions, 0 deletions
diff --git a/cmd/restic/exclude_test.go b/cmd/restic/exclude_test.go
index 741dbdb64..6c8ce6e14 100644
--- a/cmd/restic/exclude_test.go
+++ b/cmd/restic/exclude_test.go
@@ -36,6 +36,33 @@ func TestRejectByPattern(t *testing.T) {
}
}
+func TestRejectByInsensitivePattern(t *testing.T) {
+ var tests = []struct {
+ filename string
+ reject bool
+ }{
+ {filename: "/home/user/foo.GO", reject: true},
+ {filename: "/home/user/foo.c", reject: false},
+ {filename: "/home/user/foobar", reject: false},
+ {filename: "/home/user/FOObar/x", reject: true},
+ {filename: "/home/user/README", reject: false},
+ {filename: "/home/user/readme.md", reject: true},
+ }
+
+ patterns := []string{"*.go", "README.md", "/home/user/foobar/*"}
+
+ for _, tc := range tests {
+ t.Run("", func(t *testing.T) {
+ reject := rejectByInsensitivePattern(patterns)
+ res := reject(tc.filename)
+ if res != tc.reject {
+ t.Fatalf("wrong result for filename %v: want %v, got %v",
+ tc.filename, tc.reject, res)
+ }
+ })
+ }
+}
+
func TestIsExcludedByFile(t *testing.T) {
const (
tagFilename = "CACHEDIR.TAG"