def testVisitchildrensetM2always(self): m1 = matchmod.alwaysmatcher(b'', b'') m2 = matchmod.alwaysmatcher(b'', b'') im = matchmod.intersectmatchers(m1, m2) # im should be equivalent to a alwaysmatcher. self.assertEqual(im.visitchildrenset(b'.'), b'all') self.assertEqual(im.visitchildrenset(b'dir'), b'all') self.assertEqual(im.visitchildrenset(b'dir/subdir'), b'all') self.assertEqual(im.visitchildrenset(b'dir/subdir/z'), b'all') self.assertEqual(im.visitchildrenset(b'dir/foo'), b'all') self.assertEqual(im.visitchildrenset(b'dir/subdir/x'), b'all') self.assertEqual(im.visitchildrenset(b'folder'), b'all')
def testVisitchildrensetM2always(self): m1 = matchmod.alwaysmatcher(b'', b'') m2 = matchmod.alwaysmatcher(b'', b'') um = matchmod.unionmatcher([m1, m2]) # um should be equivalent to a alwaysmatcher. self.assertEqual(um.visitchildrenset(b'.'), b'all') self.assertEqual(um.visitchildrenset(b'dir'), b'all') self.assertEqual(um.visitchildrenset(b'dir/subdir'), b'all') self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'all') self.assertEqual(um.visitchildrenset(b'dir/foo'), b'all') self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'all') self.assertEqual(um.visitchildrenset(b'folder'), b'all')
def testVisitchildrensetM2always(self): m1 = matchmod.alwaysmatcher(b'', b'') m2 = matchmod.alwaysmatcher(b'', b'') dm = matchmod.differencematcher(m1, m2) # dm should be equivalent to a nevermatcher. self.assertEqual(dm.visitchildrenset(b'.'), set()) self.assertEqual(dm.visitchildrenset(b'dir'), set()) self.assertEqual(dm.visitchildrenset(b'dir/subdir'), set()) self.assertEqual(dm.visitchildrenset(b'dir/subdir/z'), set()) self.assertEqual(dm.visitchildrenset(b'dir/foo'), set()) self.assertEqual(dm.visitchildrenset(b'dir/subdir/x'), set()) self.assertEqual(dm.visitchildrenset(b'folder'), set())
def testVisitchildrensetM2SubdirPrefix(self): m1 = matchmod.alwaysmatcher(b'', b'') m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) um = matchmod.unionmatcher([m1, m2]) self.assertEqual(um.visitchildrenset(b'.'), b'all') self.assertEqual(um.visitchildrenset(b'dir'), b'all') self.assertEqual(um.visitchildrenset(b'dir/subdir'), b'all') self.assertEqual(um.visitchildrenset(b'dir/foo'), b'all') self.assertEqual(um.visitchildrenset(b'folder'), b'all') self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'all') self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'all')
def testVisitchildrensetM2SubdirPrefix(self): m1 = matchmod.alwaysmatcher(b'', b'') m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) im = matchmod.intersectmatchers(m1, m2) self.assertEqual(im.visitchildrenset(b'.'), {b'dir'}) self.assertEqual(im.visitchildrenset(b'dir'), {b'subdir'}) self.assertEqual(im.visitchildrenset(b'dir/subdir'), b'all') self.assertEqual(im.visitchildrenset(b'dir/foo'), set()) self.assertEqual(im.visitchildrenset(b'folder'), set()) # OPT: We should probably return 'all' for these self.assertEqual(im.visitchildrenset(b'dir/subdir/z'), b'this') self.assertEqual(im.visitchildrenset(b'dir/subdir/x'), b'this')
def testVisitdirM2never(self): m1 = matchmod.alwaysmatcher(b'', b'') m2 = matchmod.nevermatcher(b'', b'') im = matchmod.intersectmatchers(m1, m2) # im should be equivalent to a nevermatcher. self.assertFalse(im.visitdir(b'.')) self.assertFalse(im.visitdir(b'dir')) self.assertFalse(im.visitdir(b'dir/subdir')) self.assertFalse(im.visitdir(b'dir/subdir/z')) self.assertFalse(im.visitdir(b'dir/foo')) self.assertFalse(im.visitdir(b'dir/subdir/x')) self.assertFalse(im.visitdir(b'folder'))
def testVisitdirM2SubdirPrefix(self): m1 = matchmod.alwaysmatcher(b'', b'') m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) im = matchmod.intersectmatchers(m1, m2) self.assertEqual(im.visitdir(b'.'), True) self.assertEqual(im.visitdir(b'dir'), True) self.assertEqual(im.visitdir(b'dir/subdir'), b'all') self.assertFalse(im.visitdir(b'dir/foo')) self.assertFalse(im.visitdir(b'folder')) # OPT: We should probably return 'all' for these; we don't because # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of # an 'all' pattern, just True. self.assertEqual(im.visitdir(b'dir/subdir/z'), True) self.assertEqual(im.visitdir(b'dir/subdir/x'), True)
def testVisitchildrensetM2SubdirPrefix(self): m1 = matchmod.alwaysmatcher(b'', b'') m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) dm = matchmod.differencematcher(m1, m2) self.assertEqual(dm.visitchildrenset(b'.'), b'this') self.assertEqual(dm.visitchildrenset(b'dir'), b'this') self.assertEqual(dm.visitchildrenset(b'dir/subdir'), set()) self.assertEqual(dm.visitchildrenset(b'dir/foo'), b'all') self.assertEqual(dm.visitchildrenset(b'folder'), b'all') # OPT: We should probably return set() for these; we don't because # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of # an 'all' pattern, just 'this'. self.assertEqual(dm.visitchildrenset(b'dir/subdir/z'), b'this') self.assertEqual(dm.visitchildrenset(b'dir/subdir/x'), b'this')
def testVisitdirM2never(self): m1 = matchmod.alwaysmatcher(b'', b'') m2 = matchmod.nevermatcher(b'', b'') dm = matchmod.differencematcher(m1, m2) # dm should be equivalent to a alwaysmatcher. OPT: if m2 is a # nevermatcher, we could return 'all' for these. # # We're testing Equal-to-True instead of just 'assertTrue' since # assertTrue does NOT verify that it's a bool, just that it's truthy. # While we may want to eventually make these return 'all', they should # not currently do so. self.assertEqual(dm.visitdir(b'.'), True) self.assertEqual(dm.visitdir(b'dir'), True) self.assertEqual(dm.visitdir(b'dir/subdir'), True) self.assertEqual(dm.visitdir(b'dir/subdir/z'), True) self.assertEqual(dm.visitdir(b'dir/foo'), True) self.assertEqual(dm.visitdir(b'dir/subdir/x'), True) self.assertEqual(dm.visitdir(b'folder'), True)
def testVisitchildrenset(self): m = matchmod.alwaysmatcher(b'', b'') self.assertEqual(m.visitchildrenset(b'.'), b'all') self.assertEqual(m.visitchildrenset(b'dir'), b'all')