diff --git a/src/duplicacy_utils.go b/src/duplicacy_utils.go index 6fad983..5dda266 100644 --- a/src/duplicacy_utils.go +++ b/src/duplicacy_utils.go @@ -55,7 +55,7 @@ func IsEmptyFilter(pattern string) bool { } func IsUnspecifiedFilter(pattern string) bool { - if pattern[0] != '+' && pattern[0] != '-' && pattern[0] != 'i' && pattern[0] != 'e' { + if pattern[0] != '+' && pattern[0] != '-' && !strings.HasPrefix(pattern, "i:") && !strings.HasPrefix(pattern, "e:") { return true } else { return false diff --git a/src/duplicacy_utils_test.go b/src/duplicacy_utils_test.go index 82d508b..f53fa58 100644 --- a/src/duplicacy_utils_test.go +++ b/src/duplicacy_utils_test.go @@ -92,6 +92,17 @@ func TestMatchPattern(t *testing.T) { } } + for _, pattern := range []string{ "+", "-", "i:", "e:", "+a", "-a", "i:a", "e:a"} { + if IsUnspecifiedFilter(pattern) { + t.Errorf("pattern %s has a specified filter", pattern) + } + } + + for _, pattern := range []string{ "i", "e", "ia", "ib", "a", "b"} { + if !IsUnspecifiedFilter(pattern) { + t.Errorf("pattern %s does not have a specified filter", pattern) + } + } } func TestRateLimit(t *testing.T) {