259 # |
259 # |
260 # We're testing Equal-to-True instead of just 'assertTrue' since |
260 # We're testing Equal-to-True instead of just 'assertTrue' since |
261 # 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. |
262 # 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 |
263 # not currently do so. |
263 # not currently do so. |
264 self.assertEqual(dm.visitdir(b'.'), 'all') |
264 self.assertEqual(dm.visitdir(b'.'), b'all') |
265 self.assertEqual(dm.visitdir(b'dir'), 'all') |
265 self.assertEqual(dm.visitdir(b'dir'), b'all') |
266 self.assertEqual(dm.visitdir(b'dir/subdir'), 'all') |
266 self.assertEqual(dm.visitdir(b'dir/subdir'), b'all') |
267 self.assertEqual(dm.visitdir(b'dir/subdir/z'), 'all') |
267 self.assertEqual(dm.visitdir(b'dir/subdir/z'), b'all') |
268 self.assertEqual(dm.visitdir(b'dir/foo'), 'all') |
268 self.assertEqual(dm.visitdir(b'dir/foo'), b'all') |
269 self.assertEqual(dm.visitdir(b'dir/subdir/x'), 'all') |
269 self.assertEqual(dm.visitdir(b'dir/subdir/x'), b'all') |
270 self.assertEqual(dm.visitdir(b'folder'), 'all') |
270 self.assertEqual(dm.visitdir(b'folder'), b'all') |
271 |
271 |
272 def testVisitchildrensetM2never(self): |
272 def testVisitchildrensetM2never(self): |
273 m1 = matchmod.alwaysmatcher(b'', b'') |
273 m1 = matchmod.alwaysmatcher(b'', b'') |
274 m2 = matchmod.nevermatcher(b'', b'') |
274 m2 = matchmod.nevermatcher(b'', b'') |
275 dm = matchmod.differencematcher(m1, m2) |
275 dm = matchmod.differencematcher(m1, m2) |
292 # 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 |
293 # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of |
293 # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of |
294 # an 'all' pattern, just True. |
294 # an 'all' pattern, just True. |
295 self.assertEqual(dm.visitdir(b'dir/subdir/z'), True) |
295 self.assertEqual(dm.visitdir(b'dir/subdir/z'), True) |
296 self.assertEqual(dm.visitdir(b'dir/subdir/x'), True) |
296 self.assertEqual(dm.visitdir(b'dir/subdir/x'), True) |
297 self.assertEqual(dm.visitdir(b'dir/foo'), 'all') |
297 self.assertEqual(dm.visitdir(b'dir/foo'), b'all') |
298 self.assertEqual(dm.visitdir(b'folder'), 'all') |
298 self.assertEqual(dm.visitdir(b'folder'), b'all') |
299 |
299 |
300 def testVisitchildrensetM2SubdirPrefix(self): |
300 def testVisitchildrensetM2SubdirPrefix(self): |
301 m1 = matchmod.alwaysmatcher(b'', b'') |
301 m1 = matchmod.alwaysmatcher(b'', b'') |
302 m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) |
302 m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) |
303 dm = matchmod.differencematcher(m1, m2) |
303 dm = matchmod.differencematcher(m1, m2) |
318 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
318 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
319 m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) |
319 m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) |
320 dm = matchmod.differencematcher(m1, m2) |
320 dm = matchmod.differencematcher(m1, m2) |
321 self.assertEqual(dm.visitdir(b'.'), True) |
321 self.assertEqual(dm.visitdir(b'.'), True) |
322 self.assertEqual(dm.visitdir(b'dir'), True) |
322 self.assertEqual(dm.visitdir(b'dir'), True) |
323 self.assertEqual(dm.visitdir(b'dir/subdir'), 'all') |
323 self.assertEqual(dm.visitdir(b'dir/subdir'), b'all') |
324 self.assertFalse(dm.visitdir(b'dir/foo')) |
324 self.assertFalse(dm.visitdir(b'dir/foo')) |
325 self.assertFalse(dm.visitdir(b'folder')) |
325 self.assertFalse(dm.visitdir(b'folder')) |
326 # 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 |
327 # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of |
327 # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of |
328 # an 'all' pattern, just True. |
328 # an 'all' pattern, just True. |