Change * to match ANY file, to confirm with unofficial public usage.
This commit is contained in:
@@ -30,6 +30,13 @@ var metaCharsRegexp = []*regexp.Regexp{
|
|||||||
}
|
}
|
||||||
|
|
||||||
func ConvertWildcardPatternToGoRegexp(pattern string) *regexp.Regexp {
|
func ConvertWildcardPatternToGoRegexp(pattern string) *regexp.Regexp {
|
||||||
|
if pattern == "*" {
|
||||||
|
// A single * seems to be universally used to mean every file, despite the official docs
|
||||||
|
// showing that ** is correct and * should only match top-level files. However, we adapt
|
||||||
|
// to what is used in the real world to be practical.
|
||||||
|
return regexp.MustCompile(".")
|
||||||
|
}
|
||||||
|
|
||||||
originalPattern := pattern
|
originalPattern := pattern
|
||||||
|
|
||||||
for _, r := range metaCharsRegexp {
|
for _, r := range metaCharsRegexp {
|
||||||
|
|||||||
@@ -43,4 +43,7 @@ func TestConvertWildcardPatternToGoRegexp(t *testing.T) {
|
|||||||
|
|
||||||
// Test everything together.
|
// Test everything together.
|
||||||
RunConvertWildcardPatternToGoRegexp(`*/**/[a-z]/{photos,videos}/{0..5}.*`, `[^/\\]+/.+/[a-z]/(photos|videos)/[-0-9]+\.[^/\\]+`)
|
RunConvertWildcardPatternToGoRegexp(`*/**/[a-z]/{photos,videos}/{0..5}.*`, `[^/\\]+/.+/[a-z]/(photos|videos)/[-0-9]+\.[^/\\]+`)
|
||||||
|
|
||||||
|
// Test * on it's own. It should match every path.
|
||||||
|
RunConvertWildcardPatternToGoRegexp(`*`, `.`)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user