318
319
globster = _OrderedGlobster(reversed(patterns))
319
320
self.assertEqual(u'bar.*', globster.match('bar.foo'))
320
321
self.assertEqual(None, globster.match('foo.bar'))
324
class TestNormalizePattern(TestCase):
326
def test_backslashes(self):
327
"""tests that backslashes are converted to forward slashes, multiple
328
backslashes are collapsed to single forward slashes and trailing
329
backslashes are removed"""
330
self.assertEqual(u'/', normalize_pattern(u'\\'))
331
self.assertEqual(u'/', normalize_pattern(u'\\\\'))
332
self.assertEqual(u'/foo/bar', normalize_pattern(u'\\foo\\bar'))
333
self.assertEqual(u'foo/bar', normalize_pattern(u'foo\\bar\\'))
334
self.assertEqual(u'/foo/bar', normalize_pattern(u'\\\\foo\\\\bar\\\\'))
336
def test_forward_slashes(self):
337
"""tests that multiple foward slashes are collapsed to single forward
338
slashes and trailing forward slashes are removed"""
339
self.assertEqual(u'/', normalize_pattern(u'/'))
340
self.assertEqual(u'/', normalize_pattern(u'//'))
341
self.assertEqual(u'/foo/bar', normalize_pattern(u'/foo/bar'))
342
self.assertEqual(u'foo/bar', normalize_pattern(u'foo/bar/'))
343
self.assertEqual(u'/foo/bar', normalize_pattern(u'//foo//bar//'))
345
def test_mixed_slashes(self):
346
"""tests that multiple mixed slashes are collapsed to single forward
347
slashes and trailing mixed slashes are removed"""
348
self.assertEqual(u'/foo/bar', normalize_pattern(u'\\/\\foo//\\///bar/\\\\/'))