- skip-blame just b prefixes
Details
Details
- Reviewers
martinvonz - Group Reviewers
hg-reviewers - Commits
- rHG4dd07bf84608: tests: fix test-match.py on Python3
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Lint Skipped - Unit
Unit Tests Skipped
martinvonz |
hg-reviewers |
Lint Skipped |
Unit Tests Skipped |
Path | Packages | |||
---|---|---|---|---|
M | tests/test-match.py (20 lines) |
Commit | Parents | Author | Summary | Date |
---|---|---|---|---|
Augie Fackler | Feb 4 2019, 5:06 PM |
m2 = matchmod.nevermatcher(b'', b'') | m2 = matchmod.nevermatcher(b'', b'') | ||||
dm = matchmod.differencematcher(m1, m2) | dm = matchmod.differencematcher(m1, m2) | ||||
# dm should be equivalent to a alwaysmatcher. | # dm should be equivalent to a alwaysmatcher. | ||||
# | # | ||||
# We're testing Equal-to-True instead of just 'assertTrue' since | # 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. | # 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 | # While we may want to eventually make these return 'all', they should | ||||
# not currently do so. | # not currently do so. | ||||
self.assertEqual(dm.visitdir(b'.'), 'all') | self.assertEqual(dm.visitdir(b'.'), b'all') | ||||
self.assertEqual(dm.visitdir(b'dir'), 'all') | self.assertEqual(dm.visitdir(b'dir'), b'all') | ||||
self.assertEqual(dm.visitdir(b'dir/subdir'), 'all') | self.assertEqual(dm.visitdir(b'dir/subdir'), b'all') | ||||
self.assertEqual(dm.visitdir(b'dir/subdir/z'), 'all') | self.assertEqual(dm.visitdir(b'dir/subdir/z'), b'all') | ||||
self.assertEqual(dm.visitdir(b'dir/foo'), 'all') | self.assertEqual(dm.visitdir(b'dir/foo'), b'all') | ||||
self.assertEqual(dm.visitdir(b'dir/subdir/x'), 'all') | self.assertEqual(dm.visitdir(b'dir/subdir/x'), b'all') | ||||
self.assertEqual(dm.visitdir(b'folder'), 'all') | self.assertEqual(dm.visitdir(b'folder'), b'all') | ||||
def testVisitchildrensetM2never(self): | def testVisitchildrensetM2never(self): | ||||
m1 = matchmod.alwaysmatcher(b'', b'') | m1 = matchmod.alwaysmatcher(b'', b'') | ||||
m2 = matchmod.nevermatcher(b'', b'') | m2 = matchmod.nevermatcher(b'', b'') | ||||
dm = matchmod.differencematcher(m1, m2) | dm = matchmod.differencematcher(m1, m2) | ||||
# dm should be equivalent to a alwaysmatcher. | # dm should be equivalent to a alwaysmatcher. | ||||
self.assertEqual(dm.visitchildrenset(b'.'), b'all') | self.assertEqual(dm.visitchildrenset(b'.'), b'all') | ||||
self.assertEqual(dm.visitchildrenset(b'dir'), b'all') | self.assertEqual(dm.visitchildrenset(b'dir'), b'all') | ||||
self.assertEqual(dm.visitdir(b'.'), True) | self.assertEqual(dm.visitdir(b'.'), True) | ||||
self.assertEqual(dm.visitdir(b'dir'), True) | self.assertEqual(dm.visitdir(b'dir'), True) | ||||
self.assertFalse(dm.visitdir(b'dir/subdir')) | self.assertFalse(dm.visitdir(b'dir/subdir')) | ||||
# OPT: We should probably return False for these; we don't because | # OPT: We should probably return False for these; we don't because | ||||
# patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of | # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of | ||||
# an 'all' pattern, just True. | # an 'all' pattern, just True. | ||||
self.assertEqual(dm.visitdir(b'dir/subdir/z'), True) | self.assertEqual(dm.visitdir(b'dir/subdir/z'), True) | ||||
self.assertEqual(dm.visitdir(b'dir/subdir/x'), True) | self.assertEqual(dm.visitdir(b'dir/subdir/x'), True) | ||||
self.assertEqual(dm.visitdir(b'dir/foo'), 'all') | self.assertEqual(dm.visitdir(b'dir/foo'), b'all') | ||||
self.assertEqual(dm.visitdir(b'folder'), 'all') | self.assertEqual(dm.visitdir(b'folder'), b'all') | ||||
def testVisitchildrensetM2SubdirPrefix(self): | def testVisitchildrensetM2SubdirPrefix(self): | ||||
m1 = matchmod.alwaysmatcher(b'', b'') | m1 = matchmod.alwaysmatcher(b'', b'') | ||||
m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) | m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) | ||||
dm = matchmod.differencematcher(m1, m2) | dm = matchmod.differencematcher(m1, m2) | ||||
self.assertEqual(dm.visitchildrenset(b'.'), b'this') | self.assertEqual(dm.visitchildrenset(b'.'), b'this') | ||||
self.assertEqual(dm.visitchildrenset(b'dir'), b'this') | self.assertEqual(dm.visitchildrenset(b'dir'), b'this') | ||||
self.assertEqual(dm.visitchildrenset(b'dir/subdir'), set()) | self.assertEqual(dm.visitchildrenset(b'dir/subdir'), set()) | ||||
self.assertEqual(dm.visitchildrenset(b'dir/foo'), b'all') | self.assertEqual(dm.visitchildrenset(b'dir/foo'), b'all') | ||||
self.assertEqual(dm.visitchildrenset(b'folder'), b'all') | self.assertEqual(dm.visitchildrenset(b'folder'), b'all') | ||||
# OPT: We should probably return set() for these; we don't because | # OPT: We should probably return set() for these; we don't because | ||||
# patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of | # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of | ||||
# an 'all' pattern, just 'this'. | # an 'all' pattern, just 'this'. | ||||
self.assertEqual(dm.visitchildrenset(b'dir/subdir/z'), b'this') | self.assertEqual(dm.visitchildrenset(b'dir/subdir/z'), b'this') | ||||
self.assertEqual(dm.visitchildrenset(b'dir/subdir/x'), b'this') | self.assertEqual(dm.visitchildrenset(b'dir/subdir/x'), b'this') | ||||
# We're using includematcher instead of patterns because it behaves slightly | # We're using includematcher instead of patterns because it behaves slightly | ||||
# better (giving narrower results) than patternmatcher. | # better (giving narrower results) than patternmatcher. | ||||
def testVisitdirIncludeIncludfe(self): | def testVisitdirIncludeIncludfe(self): | ||||
m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) | m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) | ||||
m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) | m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) | ||||
dm = matchmod.differencematcher(m1, m2) | dm = matchmod.differencematcher(m1, m2) | ||||
self.assertEqual(dm.visitdir(b'.'), True) | self.assertEqual(dm.visitdir(b'.'), True) | ||||
self.assertEqual(dm.visitdir(b'dir'), True) | self.assertEqual(dm.visitdir(b'dir'), True) | ||||
self.assertEqual(dm.visitdir(b'dir/subdir'), 'all') | self.assertEqual(dm.visitdir(b'dir/subdir'), b'all') | ||||
self.assertFalse(dm.visitdir(b'dir/foo')) | self.assertFalse(dm.visitdir(b'dir/foo')) | ||||
self.assertFalse(dm.visitdir(b'folder')) | self.assertFalse(dm.visitdir(b'folder')) | ||||
# OPT: We should probably return False for these; we don't because | # OPT: We should probably return False for these; we don't because | ||||
# patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of | # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of | ||||
# an 'all' pattern, just True. | # an 'all' pattern, just True. | ||||
self.assertEqual(dm.visitdir(b'dir/subdir/z'), True) | self.assertEqual(dm.visitdir(b'dir/subdir/z'), True) | ||||
self.assertEqual(dm.visitdir(b'dir/subdir/x'), True) | self.assertEqual(dm.visitdir(b'dir/subdir/x'), True) | ||||