tests/test-match.py
changeset 41528 b7a0efb3c370
parent 39261 c9a3f7f5c023
child 41530 4dd07bf84608
equal deleted inserted replaced
41527:eb37d95cc486 41528:b7a0efb3c370
   253 
   253 
   254     def testVisitdirM2never(self):
   254     def testVisitdirM2never(self):
   255         m1 = matchmod.alwaysmatcher(b'', b'')
   255         m1 = matchmod.alwaysmatcher(b'', b'')
   256         m2 = matchmod.nevermatcher(b'', b'')
   256         m2 = matchmod.nevermatcher(b'', b'')
   257         dm = matchmod.differencematcher(m1, m2)
   257         dm = matchmod.differencematcher(m1, m2)
   258         # dm should be equivalent to a alwaysmatcher. OPT: if m2 is a
   258         # dm should be equivalent to a alwaysmatcher.
   259         # nevermatcher, we could return 'all' for these.
       
   260         #
   259         #
   261         # We're testing Equal-to-True instead of just 'assertTrue' since
   260         # We're testing Equal-to-True instead of just 'assertTrue' since
   262         # assertTrue does NOT verify that it's a bool, just that it's truthy.
   261         # assertTrue does NOT verify that it's a bool, just that it's truthy.
   263         # While we may want to eventually make these return 'all', they should
   262         # While we may want to eventually make these return 'all', they should
   264         # not currently do so.
   263         # not currently do so.
   265         self.assertEqual(dm.visitdir(b'.'), True)
   264         self.assertEqual(dm.visitdir(b'.'), 'all')
   266         self.assertEqual(dm.visitdir(b'dir'), True)
   265         self.assertEqual(dm.visitdir(b'dir'), 'all')
   267         self.assertEqual(dm.visitdir(b'dir/subdir'), True)
   266         self.assertEqual(dm.visitdir(b'dir/subdir'), 'all')
   268         self.assertEqual(dm.visitdir(b'dir/subdir/z'), True)
   267         self.assertEqual(dm.visitdir(b'dir/subdir/z'), 'all')
   269         self.assertEqual(dm.visitdir(b'dir/foo'), True)
   268         self.assertEqual(dm.visitdir(b'dir/foo'), 'all')
   270         self.assertEqual(dm.visitdir(b'dir/subdir/x'), True)
   269         self.assertEqual(dm.visitdir(b'dir/subdir/x'), 'all')
   271         self.assertEqual(dm.visitdir(b'folder'), True)
   270         self.assertEqual(dm.visitdir(b'folder'), 'all')
   272 
   271 
   273     def testVisitchildrensetM2never(self):
   272     def testVisitchildrensetM2never(self):
   274         m1 = matchmod.alwaysmatcher(b'', b'')
   273         m1 = matchmod.alwaysmatcher(b'', b'')
   275         m2 = matchmod.nevermatcher(b'', b'')
   274         m2 = matchmod.nevermatcher(b'', b'')
   276         dm = matchmod.differencematcher(m1, m2)
   275         dm = matchmod.differencematcher(m1, m2)
   293         # OPT: We should probably return False for these; we don't because
   292         # OPT: We should probably return False for these; we don't because
   294         # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of
   293         # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of
   295         # an 'all' pattern, just True.
   294         # an 'all' pattern, just True.
   296         self.assertEqual(dm.visitdir(b'dir/subdir/z'), True)
   295         self.assertEqual(dm.visitdir(b'dir/subdir/z'), True)
   297         self.assertEqual(dm.visitdir(b'dir/subdir/x'), True)
   296         self.assertEqual(dm.visitdir(b'dir/subdir/x'), True)
   298         # OPT: We could return 'all' for these.
   297         self.assertEqual(dm.visitdir(b'dir/foo'), 'all')
   299         self.assertEqual(dm.visitdir(b'dir/foo'), True)
   298         self.assertEqual(dm.visitdir(b'folder'), 'all')
   300         self.assertEqual(dm.visitdir(b'folder'), True)
       
   301 
   299 
   302     def testVisitchildrensetM2SubdirPrefix(self):
   300     def testVisitchildrensetM2SubdirPrefix(self):
   303         m1 = matchmod.alwaysmatcher(b'', b'')
   301         m1 = matchmod.alwaysmatcher(b'', b'')
   304         m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir'])
   302         m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir'])
   305         dm = matchmod.differencematcher(m1, m2)
   303         dm = matchmod.differencematcher(m1, m2)
   320         m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir'])
   318         m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir'])
   321         m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir'])
   319         m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir'])
   322         dm = matchmod.differencematcher(m1, m2)
   320         dm = matchmod.differencematcher(m1, m2)
   323         self.assertEqual(dm.visitdir(b'.'), True)
   321         self.assertEqual(dm.visitdir(b'.'), True)
   324         self.assertEqual(dm.visitdir(b'dir'), True)
   322         self.assertEqual(dm.visitdir(b'dir'), True)
   325         self.assertEqual(dm.visitdir(b'dir/subdir'), True)
   323         self.assertEqual(dm.visitdir(b'dir/subdir'), 'all')
   326         self.assertFalse(dm.visitdir(b'dir/foo'))
   324         self.assertFalse(dm.visitdir(b'dir/foo'))
   327         self.assertFalse(dm.visitdir(b'folder'))
   325         self.assertFalse(dm.visitdir(b'folder'))
   328         # OPT: We should probably return False for these; we don't because
   326         # OPT: We should probably return False for these; we don't because
   329         # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of
   327         # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of
   330         # an 'all' pattern, just True.
   328         # an 'all' pattern, just True.