blob: 2c136d9ad986eb88703c5692d717340cda068a14 [file] [log] [blame]
# Items on a line a separated by TABs. Empty pattern or text can be written as <empty>.
# Empty lines, comment lines, and leading and trailing whitespace is ignored.
#
# Tests with IgnoreCase = false are run both with false and true. Tests with IgnoreCase = true are run only case-insensitively.
# IgnoreCase? Pattern Text Expected
false foo foo true
false foo fop false
false foo fo false
false fo foo false
false ??? foo true
false ??? fo false
false ?? foo false
false ?? fo true
false ? f true
false f?o foo true
false f?o fo false
false f?o f.o true
false * foo true
false f* foo true
false f** foo true
false f**** foo true
false ***f* foo true
false *f foo false
false *o foo true
false *foo* foo true
false f*o foo true
false f*o fabcdefghijklmnopqrstuvwxyzo true
false f*o abcdefghijklmnopqrstuvwxyzo false
false f*o fabcdefghijklmnpqrstuvwxyzo true
false f*o fabcdefghijklmnopqrstuvwxyz false
false f*o fabcdefghijklmnoooo true
false f*o gabcdefghijklmnoooo false
false *ob*a*r* foobar true
false *ob*a*r* oobar true
false *ob*a*r* obar true
false *barz abarabarabarz true
false *barz abarabarzbarz true
false *ab aaaaaaabababab true
false foo\* foo* true
false foo\* foobar false
false foo\\* foo* false
# Even number of backslashes followed by * at the end of the pattern
false foo\\* foo\* true
false foo\\* foo\a true
false foo\\* foo\\* true
false foo\\* foo\\a true
false foo\\* foo\ true
false foo\? foo? true
false foo\? foop false
false foo\\? foo\a true
false foo\\? foo\ false
false foo\\? foo\\a false
false foo\*bar foobar false
false foo*bar foobar true
false foo\\bar foo\bar true
false foo\\bar foo\\bar false
# Backslash is taken literally if not followed by *, ?, or \
false foo\bar foo\bar true
false foo\bar foobar false
false foo/bar foo/bar true
false foo/* foo/bar true
false foo/* foo/bar/baz true
false foo* foo/bar/baz true
false foo/*arr foo/baz/arr true
false foo/*z foo/baz/arr false
false t/n t/n true
false t*n t/n true
false t?n t/n true
false *l? ball true
false *a? ball false
false *a?l ball true
false *a?? ball true
false foo*bar foo/baz/bar true
false foo**bar foo/baz/bar true
# Trailing backslash
false foo\ foo false
false foo\ foo\ true
false foo\\ foo false
false foo\\ foo\ true
false foo\\ foo\\ false
false fo?\\ foo\ true
false fo?\ foo\ true
false fo?\ foo false
false b*a aaabbb false
false *ba* aabcaa false
false -*-*-*-*-*-*-12-*-*-*-m-*-*-* -adobe-courier-bold-o-normal--12-120-75-75-m-70-iso8859-1 true
false -*-*-*-*-*-*-12-*-*-*-m-*-*-* -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-1 false
false -*-*-*-*-*-*-12-*-*-*-m-*-*-* -adobe-courier-bold-o-normal--12-120-75-75-/-70-iso8859-1 false
false -*-*-*-*-*-*-12-*-*-*-m-*-*-* -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-m--- true
false -*-*-*-*-*-*-12-*-*-*-m-*-*-* -adobe-courier-bold-o-normal--12-120-75-75-X-70-iso8859-m-- false
false *a*b*g*n*t abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt true
false *a*b*g*n*t abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz false
false */*a*b*g*n*t abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt true
false */*a*b*g*n*t abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz false
false **/*a*b*g*n*t abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txt true
false **/*a*b*g*n*t abcd/abcdefg/abcdefghijk/abcdefghijklmnop.txtz false
false */*/* foo false
false */*/* foo/bar false
false */*/* foo/bba/arr true
false */*/* foo/bb/aa/rr true
false *X*i abcXdefXghi true
false *X*i ab/cXd/efXg/hi true
false */*X*/*/*i ab/cXd/efXg/hi true
false *Xg*i ab/cXd/efXg/hi true
# Match empty text
false * <empty> true
false ** <empty> true
false ? <empty> false
false ?* <empty> false
false *? <empty> false
false x <empty> false
# Empty patterns
false true
false <empty> true
false <empty> <empty> true
false <empty> x false
false <empty> xxx false
false * a true
false ** a true
# Ignoring case
true f f true
true F f true
true f F true
true F F true
true FooBar foobar true
true FooBar fOObAR true
true FooBar FooBar true
true FooBar Foo false
true F*b?R foobar true
true F*b?R FOOBAR true
true F*b?R foOBar true
true F*b?R foobr false
true ?ob*R fobar true
true ?ob*R fobaar true
true ?ob*R FOBAR true
true ?ob*R FOBAAR true
true ?ob*R fOBar true
true ?ob*R fobr true
true ?ob*R fobarz false
true ?ob*R fobarzr true