def test_not_from_list(self): """![]""" self.assertTrue(pathmatch('a.d', 'a.[!abc]')) self.assertTrue(not pathmatch('a.a', 'a.[!abc]')) self.assertTrue(not pathmatch('a.b', 'a.[!abc]')) self.assertTrue(not pathmatch('a.c', 'a.[!abc]'))
def test_anything(self): """*""" self.assertTrue(pathmatch('abc', 'a*')) self.assertTrue(pathmatch('a.a', 'a.*')) self.assertTrue(pathmatch('a.', 'a.*')) self.assertTrue(pathmatch('a.bar', 'a.*')) self.assertTrue(not pathmatch('b.a', 'a.*')) self.assertTrue(not pathmatch('a.foo/b', 'a.*')) self.assertTrue(pathmatch('a/b/c', 'a/*/c')) self.assertTrue(pathmatch('a/b/c.jpg', 'a/b/*.jpg')) self.assertTrue(pathmatch('test/apple', 'test/a*')) self.assertTrue(not pathmatch('test/apple/blabla', 'test/a*'))
def test_basic(self): self.assertTrue(pathmatch('a', 'a')) self.assertTrue(not pathmatch('abc', 'bcd')) self.assertTrue(pathmatch('/a/b/c', '/a/b/c')) self.assertTrue(pathmatch('a/a/a', 'a/a/a')) self.assertTrue(pathmatch('a/b/c', 'a/b/c')) self.assertTrue(not pathmatch('a/b', 'a/b/c')) self.assertTrue(not pathmatch('a/b/c', 'a/b')) # Problems with / on begin and end of a path self.assertTrue(not pathmatch('/a/b/c', 'a/b/c')) self.assertTrue(not pathmatch('a/b/c', 'a/b/')) self.assertTrue(not pathmatch('a/b/c', 'a/b/c/'))
def test_any_from_list(self): """[]""" self.assertTrue(pathmatch('a.a', 'a.[abc]')) self.assertTrue(pathmatch('a.b', 'a.[abc]')) self.assertTrue(pathmatch('a.c', 'a.[abc]')) self.assertTrue(pathmatch('/a/a/c', '/a/[ab]/c')) self.assertTrue(pathmatch('/a/b/c', '/a/[ab]/c')) self.assertTrue(not pathmatch('/a/ab/c', '/a/[ab]/c')) self.assertTrue(pathmatch('./1.gif', './[0-9].*')) self.assertTrue(pathmatch('./2.gif', './[0-9].*')) self.assertTrue(not pathmatch('./10.gif', './[0-9].*'))
def test_recursively(self): """**""" p = 'a/**' self.assertTrue(not pathmatch('a', p)) self.assertTrue(pathmatch('a/a', p)) self.assertTrue(pathmatch('a/b', p)) self.assertTrue(pathmatch('a/b/c', p)) self.assertTrue(pathmatch('a/a.py', p)) self.assertTrue(pathmatch('a/bb', p)) self.assertTrue(not pathmatch('b', p)) self.assertTrue(pathmatch('a/b/c/d', 'a/**/d')) self.assertTrue(not pathmatch('a/b', '**/a/*')) self.assertTrue(pathmatch('a/b/c.jpg', '**/*.jpg')) self.assertTrue(not pathmatch('a/b/c.jpg', '*.jpg')) p = 'a*/**' self.assertTrue(pathmatch('a/', p)) self.assertTrue(not pathmatch('a', p)) self.assertTrue(pathmatch('a/b/', p)) self.assertTrue(pathmatch('a/b', p)) self.assertTrue(pathmatch('ab/', p)) self.assertTrue(pathmatch('a/b/c', p)) self.assertTrue(pathmatch('a/b/c/a.jpg', p)) self.assertTrue(pathmatch('a/bb', p)) p = '**/*.py' self.assertTrue(pathmatch('a/test.py', p)) self.assertTrue(pathmatch('a/b/x.py', p)) self.assertTrue(pathmatch('file.py', p)) self.assertTrue(pathmatch('/file.py', p)) self.assertTrue(not pathmatch('file.txt', p)) self.assertTrue(not pathmatch('a/b/py', p)) p = '**/*' self.assertTrue(pathmatch('a', p)) self.assertTrue(pathmatch('a/a', p)) self.assertTrue(pathmatch('a/b/c', p)) self.assertTrue(pathmatch('x.py', p)) self.assertTrue(pathmatch('a/b/x.py', p)) self.assertTrue(pathmatch('/a', '**/*')) self.assertTrue(not pathmatch('a', '/**/*')) p = '**/' self.assertTrue(pathmatch('a/', p)) self.assertTrue(pathmatch('a/b/', p)) self.assertTrue(pathmatch('b/', p)) self.assertTrue(not pathmatch('a', p)) self.assertTrue(not pathmatch('file.txt', p)) self.assertTrue(not pathmatch('a/bar.py', p)) p = '../a/**/*.py' self.assertTrue(pathmatch('../a/bar.py', p)) self.assertTrue(pathmatch('../a/foo/hello.py', p)) self.assertTrue(not pathmatch('../a/foo/apple.txt', p)) p = '**/bar.py' self.assertTrue(pathmatch('bar.py', p)) self.assertTrue(pathmatch('a/bar.py', p)) self.assertTrue(pathmatch('b/bar.py', p)) self.assertTrue(not pathmatch('a/bar', p)) p = '**' self.assertTrue(pathmatch('bar.py', p)) self.assertTrue(pathmatch('foo', p)) self.assertTrue(pathmatch('foo/hello.py', p)) self.assertTrue(pathmatch('foo/world.txt', p))
def test_any_char(self): """?""" self.assertTrue(pathmatch('ab', 'a?')) self.assertTrue(not pathmatch('ba', 'a?'))