68
68
self.failIf(matcher(fname), 'glob %s should not match %s' % (glob, fname))
70
70
def test_no_globs(self):
71
self.assertMatching('a', ['a'], ['b', 'a ', ' a'])
72
self.assertMatching('foo[', ['foo['], ['[', 'foo', '[foo'])
71
check = self.assertMatching
72
check('a', ['a'], ['b', 'a ', ' a'])
73
check('foo[', ['foo['], ['[', 'foo', '[foo'])
74
75
def test_star(self):
75
self.assertMatching('a*', ['a', 'ab', 'abc', 'a.txt'],
76
['a/', 'a/a', 'foo/a', 'a\\'])
76
check = self.assertMatching
77
check('a*', ['a', 'ab', 'abc', 'a.txt'],
78
['a/', 'a/a', 'foo/a', 'a\\'])
77
79
# TODO jam 20060107 Some would say '*a' should not match .a
78
self.assertMatching('*a', ['a', 'ba', 'bca', '.a', 'c.a'],
79
['/a', 'a/a', 'foo/a', '\\a', 'a\\a'])
80
check('*a', ['a', 'ba', 'bca', '.a', 'c.a'],
81
['/a', 'a/a', 'foo/a', '\\a', 'a\\a'])
81
83
def test_starstar(self):
82
self.assertMatching('a**', ['a', 'ab', 'abc', 'a/', 'a/a', 'a\\'],
84
self.assertMatching('**a', ['a', 'ba', 'bca', '/a', '.a', './.a'],
85
['booty/ab', 'bca/b'])
84
check = self.assertMatching
85
check('a**', ['a', 'ab', 'abc', 'a/', 'a/a', 'a\\'],
87
check('**a', ['a', 'ba', 'bca', '/a', '.a', './.a'],
88
['booty/ab', 'bca/b'])
90
def test_sequence(self):
91
check = self.assertMatching
92
check('a[abcd]', ['aa', 'ab', 'ac', 'ad'],
93
['a', 'baa', 'ae', 'a/', 'abc', 'aab'])
94
check('a[!abcd]', ['ae', 'af', 'aq'],
95
['a', 'a/', 'ab', 'ac', 'ad', 'abc'])
96
check('a[^b]', ['ab', 'a^'], ['a', 'ac'])
97
check('a[!^]', ['ab', 'ac'], ['a', 'a^', 'a/'])