tests/test-match.py
changeset 41676 0531dff73d0b
parent 41675 ddbebce94665
child 42341 27d6956d386b
equal deleted inserted replaced
41675:ddbebce94665 41676:0531dff73d0b
   183         self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), b'this')
   183         self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), b'this')
   184 
   184 
   185 class ExactMatcherTests(unittest.TestCase):
   185 class ExactMatcherTests(unittest.TestCase):
   186 
   186 
   187     def testVisitdir(self):
   187     def testVisitdir(self):
   188         m = matchmod.exact(b'x', b'', files=[b'dir/subdir/foo.txt'])
   188         m = matchmod.exact(files=[b'dir/subdir/foo.txt'])
   189         assert isinstance(m, matchmod.exactmatcher)
   189         assert isinstance(m, matchmod.exactmatcher)
   190         self.assertTrue(m.visitdir(b'.'))
   190         self.assertTrue(m.visitdir(b'.'))
   191         self.assertTrue(m.visitdir(b'dir'))
   191         self.assertTrue(m.visitdir(b'dir'))
   192         self.assertTrue(m.visitdir(b'dir/subdir'))
   192         self.assertTrue(m.visitdir(b'dir/subdir'))
   193         self.assertFalse(m.visitdir(b'dir/subdir/foo.txt'))
   193         self.assertFalse(m.visitdir(b'dir/subdir/foo.txt'))
   194         self.assertFalse(m.visitdir(b'dir/foo'))
   194         self.assertFalse(m.visitdir(b'dir/foo'))
   195         self.assertFalse(m.visitdir(b'dir/subdir/x'))
   195         self.assertFalse(m.visitdir(b'dir/subdir/x'))
   196         self.assertFalse(m.visitdir(b'folder'))
   196         self.assertFalse(m.visitdir(b'folder'))
   197 
   197 
   198     def testVisitchildrenset(self):
   198     def testVisitchildrenset(self):
   199         m = matchmod.exact(b'x', b'', files=[b'dir/subdir/foo.txt'])
   199         m = matchmod.exact(files=[b'dir/subdir/foo.txt'])
   200         assert isinstance(m, matchmod.exactmatcher)
   200         assert isinstance(m, matchmod.exactmatcher)
   201         self.assertEqual(m.visitchildrenset(b'.'), {b'dir'})
   201         self.assertEqual(m.visitchildrenset(b'.'), {b'dir'})
   202         self.assertEqual(m.visitchildrenset(b'dir'), {b'subdir'})
   202         self.assertEqual(m.visitchildrenset(b'dir'), {b'subdir'})
   203         self.assertEqual(m.visitchildrenset(b'dir/subdir'), {b'foo.txt'})
   203         self.assertEqual(m.visitchildrenset(b'dir/subdir'), {b'foo.txt'})
   204         self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), set())
   204         self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), set())
   205         self.assertEqual(m.visitchildrenset(b'dir/subdir/foo.txt'), set())
   205         self.assertEqual(m.visitchildrenset(b'dir/subdir/foo.txt'), set())
   206         self.assertEqual(m.visitchildrenset(b'folder'), set())
   206         self.assertEqual(m.visitchildrenset(b'folder'), set())
   207 
   207 
   208     def testVisitchildrensetFilesAndDirs(self):
   208     def testVisitchildrensetFilesAndDirs(self):
   209         m = matchmod.exact(b'x', b'', files=[b'rootfile.txt',
   209         m = matchmod.exact(files=[b'rootfile.txt',
   210                                              b'a/file1.txt',
   210                                   b'a/file1.txt',
   211                                              b'a/b/file2.txt',
   211                                   b'a/b/file2.txt',
   212                                              # no file in a/b/c
   212                                   # no file in a/b/c
   213                                              b'a/b/c/d/file4.txt'])
   213                                   b'a/b/c/d/file4.txt'])
   214         assert isinstance(m, matchmod.exactmatcher)
   214         assert isinstance(m, matchmod.exactmatcher)
   215         self.assertEqual(m.visitchildrenset(b'.'), {b'a', b'rootfile.txt'})
   215         self.assertEqual(m.visitchildrenset(b'.'), {b'a', b'rootfile.txt'})
   216         self.assertEqual(m.visitchildrenset(b'a'), {b'b', b'file1.txt'})
   216         self.assertEqual(m.visitchildrenset(b'a'), {b'b', b'file1.txt'})
   217         self.assertEqual(m.visitchildrenset(b'a/b'), {b'c', b'file2.txt'})
   217         self.assertEqual(m.visitchildrenset(b'a/b'), {b'c', b'file2.txt'})
   218         self.assertEqual(m.visitchildrenset(b'a/b/c'), {b'd'})
   218         self.assertEqual(m.visitchildrenset(b'a/b/c'), {b'd'})