Mercurial > hg
annotate tests/test-match.py @ 45578:f9a3edf2dee4
git: add test showing `hg commit -i` working on a git repo
Shows `hg commit -i` working on a git repo via the `git`
extension. Adds working directory changes to files `alpha` and
`beta`, then selects only `alpha` changes and commits them.
As of now this would fail for a filename that
includes uppercase characters due to the lack of case folding
support in the extension.
Differential Revision: https://phab.mercurial-scm.org/D9081
author | Connor Sheehan <sheehan@mozilla.com> |
---|---|
date | Wed, 23 Sep 2020 14:20:49 -0400 |
parents | 8f67735344ae |
children | 89a2afe31e82 |
rev | line source |
---|---|
33582
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
1 from __future__ import absolute_import |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
2 |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
3 import unittest |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
4 |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
5 import silenttestrunner |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
6 |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
7 from mercurial import ( |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
8 match as matchmod, |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
9 util, |
33582
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
10 ) |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
11 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
12 |
43949
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
13 noop_auditor = lambda name: None |
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
14 |
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
15 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
16 class BaseMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
17 def testVisitdir(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
18 m = matchmod.basematcher() |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
19 self.assertTrue(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
20 self.assertTrue(m.visitdir(b'dir')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
21 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
22 def testVisitchildrenset(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
23 m = matchmod.basematcher() |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
24 self.assertEqual(m.visitchildrenset(b''), b'this') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
25 self.assertEqual(m.visitchildrenset(b'dir'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
26 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
27 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
28 class AlwaysMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
29 def testVisitdir(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
30 m = matchmod.alwaysmatcher() |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
31 self.assertEqual(m.visitdir(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
32 self.assertEqual(m.visitdir(b'dir'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
33 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
34 def testVisitchildrenset(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
35 m = matchmod.alwaysmatcher() |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
36 self.assertEqual(m.visitchildrenset(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
37 self.assertEqual(m.visitchildrenset(b'dir'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
38 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
39 |
33582
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
40 class NeverMatcherTests(unittest.TestCase): |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
41 def testVisitdir(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
42 m = matchmod.nevermatcher() |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
43 self.assertFalse(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
44 self.assertFalse(m.visitdir(b'dir')) |
33582
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
45 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
46 def testVisitchildrenset(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
47 m = matchmod.nevermatcher() |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
48 self.assertEqual(m.visitchildrenset(b''), set()) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
49 self.assertEqual(m.visitchildrenset(b'dir'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
50 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
51 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
52 class PredicateMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
53 # predicatematcher does not currently define either of these methods, so |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
54 # this is equivalent to BaseMatcherTests. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
55 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
56 def testVisitdir(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
57 m = matchmod.predicatematcher(lambda *a: False) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
58 self.assertTrue(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
59 self.assertTrue(m.visitdir(b'dir')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
60 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
61 def testVisitchildrenset(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
62 m = matchmod.predicatematcher(lambda *a: False) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
63 self.assertEqual(m.visitchildrenset(b''), b'this') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
64 self.assertEqual(m.visitchildrenset(b'dir'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
65 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
66 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
67 class PatternMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
68 def testVisitdirPrefix(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
69 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
70 util.localpath(b'/repo'), b'', patterns=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
71 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
72 assert isinstance(m, matchmod.patternmatcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
73 self.assertTrue(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
74 self.assertTrue(m.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
75 self.assertEqual(m.visitdir(b'dir/subdir'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
76 # OPT: This should probably be 'all' if its parent is? |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
77 self.assertTrue(m.visitdir(b'dir/subdir/x')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
78 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
79 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
80 def testVisitchildrensetPrefix(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
81 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
82 util.localpath(b'/repo'), b'', patterns=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
83 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
84 assert isinstance(m, matchmod.patternmatcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
85 self.assertEqual(m.visitchildrenset(b''), b'this') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
86 self.assertEqual(m.visitchildrenset(b'dir'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
87 self.assertEqual(m.visitchildrenset(b'dir/subdir'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
88 # OPT: This should probably be 'all' if its parent is? |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
89 self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
90 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
91 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
92 def testVisitdirRootfilesin(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
93 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
94 util.localpath(b'/repo'), b'', patterns=[b'rootfilesin:dir/subdir'], |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
95 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
96 assert isinstance(m, matchmod.patternmatcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
97 self.assertFalse(m.visitdir(b'dir/subdir/x')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
98 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
99 # FIXME: These should probably be True. |
42346
38d85ec06552
match: drop unnecessary adding of '' to set of dirs
Martin von Zweigbergk <martinvonz@google.com>
parents:
42341
diff
changeset
|
100 self.assertFalse(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
101 self.assertFalse(m.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
102 self.assertFalse(m.visitdir(b'dir/subdir')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
103 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
104 def testVisitchildrensetRootfilesin(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
105 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
106 util.localpath(b'/repo'), b'', patterns=[b'rootfilesin:dir/subdir'], |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
107 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
108 assert isinstance(m, matchmod.patternmatcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
109 self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
110 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
42346
38d85ec06552
match: drop unnecessary adding of '' to set of dirs
Martin von Zweigbergk <martinvonz@google.com>
parents:
42341
diff
changeset
|
111 # FIXME: These should probably be {'dir'}, {'subdir'} and 'this', |
38d85ec06552
match: drop unnecessary adding of '' to set of dirs
Martin von Zweigbergk <martinvonz@google.com>
parents:
42341
diff
changeset
|
112 # respectively, or at least 'this' for all three. |
38d85ec06552
match: drop unnecessary adding of '' to set of dirs
Martin von Zweigbergk <martinvonz@google.com>
parents:
42341
diff
changeset
|
113 self.assertEqual(m.visitchildrenset(b''), set()) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
114 self.assertEqual(m.visitchildrenset(b'dir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
115 self.assertEqual(m.visitchildrenset(b'dir/subdir'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
116 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
117 def testVisitdirGlob(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
118 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
119 util.localpath(b'/repo'), b'', patterns=[b'glob:dir/z*'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
120 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
121 assert isinstance(m, matchmod.patternmatcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
122 self.assertTrue(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
123 self.assertTrue(m.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
124 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
125 # OPT: these should probably be False. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
126 self.assertTrue(m.visitdir(b'dir/subdir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
127 self.assertTrue(m.visitdir(b'dir/subdir/x')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
128 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
129 def testVisitchildrensetGlob(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
130 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
131 util.localpath(b'/repo'), b'', patterns=[b'glob:dir/z*'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
132 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
133 assert isinstance(m, matchmod.patternmatcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
134 self.assertEqual(m.visitchildrenset(b''), b'this') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
135 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
136 self.assertEqual(m.visitchildrenset(b'dir'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
137 # OPT: these should probably be set(). |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
138 self.assertEqual(m.visitchildrenset(b'dir/subdir'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
139 self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
140 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
141 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
142 class IncludeMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
143 def testVisitdirPrefix(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
144 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
145 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
146 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
147 assert isinstance(m, matchmod.includematcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
148 self.assertTrue(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
149 self.assertTrue(m.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
150 self.assertEqual(m.visitdir(b'dir/subdir'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
151 # OPT: This should probably be 'all' if its parent is? |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
152 self.assertTrue(m.visitdir(b'dir/subdir/x')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
153 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
154 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
155 def testVisitchildrensetPrefix(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
156 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
157 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
158 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
159 assert isinstance(m, matchmod.includematcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
160 self.assertEqual(m.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
161 self.assertEqual(m.visitchildrenset(b'dir'), {b'subdir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
162 self.assertEqual(m.visitchildrenset(b'dir/subdir'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
163 # OPT: This should probably be 'all' if its parent is? |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
164 self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
165 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
166 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
167 def testVisitdirRootfilesin(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
168 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
169 util.localpath(b'/repo'), b'', include=[b'rootfilesin:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
170 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
171 assert isinstance(m, matchmod.includematcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
172 self.assertTrue(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
173 self.assertTrue(m.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
174 self.assertTrue(m.visitdir(b'dir/subdir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
175 self.assertFalse(m.visitdir(b'dir/subdir/x')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
176 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
177 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
178 def testVisitchildrensetRootfilesin(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
179 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
180 util.localpath(b'/repo'), b'', include=[b'rootfilesin:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
181 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
182 assert isinstance(m, matchmod.includematcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
183 self.assertEqual(m.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
184 self.assertEqual(m.visitchildrenset(b'dir'), {b'subdir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
185 self.assertEqual(m.visitchildrenset(b'dir/subdir'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
186 self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
187 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
188 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
189 def testVisitdirGlob(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
190 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
191 util.localpath(b'/repo'), b'', include=[b'glob:dir/z*'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
192 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
193 assert isinstance(m, matchmod.includematcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
194 self.assertTrue(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
195 self.assertTrue(m.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
196 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
197 # OPT: these should probably be False. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
198 self.assertTrue(m.visitdir(b'dir/subdir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
199 self.assertTrue(m.visitdir(b'dir/subdir/x')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
200 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
201 def testVisitchildrensetGlob(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
202 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
203 util.localpath(b'/repo'), b'', include=[b'glob:dir/z*'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
204 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
205 assert isinstance(m, matchmod.includematcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
206 self.assertEqual(m.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
207 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
208 self.assertEqual(m.visitchildrenset(b'dir'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
209 # OPT: these should probably be set(). |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
210 self.assertEqual(m.visitchildrenset(b'dir/subdir'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
211 self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
212 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
213 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
214 class ExactMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
215 def testVisitdir(self): |
41676
0531dff73d0b
match: delete unused root and cwd arguments from {always,never,exact}() (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41675
diff
changeset
|
216 m = matchmod.exact(files=[b'dir/subdir/foo.txt']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
217 assert isinstance(m, matchmod.exactmatcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
218 self.assertTrue(m.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
219 self.assertTrue(m.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
220 self.assertTrue(m.visitdir(b'dir/subdir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
221 self.assertFalse(m.visitdir(b'dir/subdir/foo.txt')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
222 self.assertFalse(m.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
223 self.assertFalse(m.visitdir(b'dir/subdir/x')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
224 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
225 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
226 def testVisitchildrenset(self): |
41676
0531dff73d0b
match: delete unused root and cwd arguments from {always,never,exact}() (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41675
diff
changeset
|
227 m = matchmod.exact(files=[b'dir/subdir/foo.txt']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
228 assert isinstance(m, matchmod.exactmatcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
229 self.assertEqual(m.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
230 self.assertEqual(m.visitchildrenset(b'dir'), {b'subdir'}) |
39261
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
231 self.assertEqual(m.visitchildrenset(b'dir/subdir'), {b'foo.txt'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
232 self.assertEqual(m.visitchildrenset(b'dir/subdir/x'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
233 self.assertEqual(m.visitchildrenset(b'dir/subdir/foo.txt'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
234 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
235 |
39261
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
236 def testVisitchildrensetFilesAndDirs(self): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
237 m = matchmod.exact( |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
238 files=[ |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
239 b'rootfile.txt', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
240 b'a/file1.txt', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
241 b'a/b/file2.txt', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
242 # no file in a/b/c |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
243 b'a/b/c/d/file4.txt', |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
244 ] |
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
245 ) |
39261
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
246 assert isinstance(m, matchmod.exactmatcher) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
247 self.assertEqual(m.visitchildrenset(b''), {b'a', b'rootfile.txt'}) |
39261
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
248 self.assertEqual(m.visitchildrenset(b'a'), {b'b', b'file1.txt'}) |
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
249 self.assertEqual(m.visitchildrenset(b'a/b'), {b'c', b'file2.txt'}) |
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
250 self.assertEqual(m.visitchildrenset(b'a/b/c'), {b'd'}) |
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
251 self.assertEqual(m.visitchildrenset(b'a/b/c/d'), {b'file4.txt'}) |
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
252 self.assertEqual(m.visitchildrenset(b'a/b/c/d/e'), set()) |
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
253 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
c9a3f7f5c023
match: make exactmatcher.visitchildrenset return file children as well
Kyle Lippincott <spectral@google.com>
parents:
38963
diff
changeset
|
254 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
255 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
256 class DifferenceMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
257 def testVisitdirM2always(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
258 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
259 m2 = matchmod.alwaysmatcher() |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
260 dm = matchmod.differencematcher(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
261 # dm should be equivalent to a nevermatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
262 self.assertFalse(dm.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
263 self.assertFalse(dm.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
264 self.assertFalse(dm.visitdir(b'dir/subdir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
265 self.assertFalse(dm.visitdir(b'dir/subdir/z')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
266 self.assertFalse(dm.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
267 self.assertFalse(dm.visitdir(b'dir/subdir/x')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
268 self.assertFalse(dm.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
269 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
270 def testVisitchildrensetM2always(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
271 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
272 m2 = matchmod.alwaysmatcher() |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
273 dm = matchmod.differencematcher(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
274 # dm should be equivalent to a nevermatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
275 self.assertEqual(dm.visitchildrenset(b''), set()) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
276 self.assertEqual(dm.visitchildrenset(b'dir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
277 self.assertEqual(dm.visitchildrenset(b'dir/subdir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
278 self.assertEqual(dm.visitchildrenset(b'dir/subdir/z'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
279 self.assertEqual(dm.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
280 self.assertEqual(dm.visitchildrenset(b'dir/subdir/x'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
281 self.assertEqual(dm.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
282 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
283 def testVisitdirM2never(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
284 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
285 m2 = matchmod.nevermatcher() |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
286 dm = matchmod.differencematcher(m1, m2) |
41528
b7a0efb3c370
match: teach diffmatcher.visitdir() to return 'all' if possible
Pulkit Goyal <pulkit@yandex-team.ru>
parents:
39261
diff
changeset
|
287 # dm should be equivalent to a alwaysmatcher. |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
288 # |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
289 # We're testing Equal-to-True instead of just 'assertTrue' since |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
290 # assertTrue does NOT verify that it's a bool, just that it's truthy. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
291 # While we may want to eventually make these return 'all', they should |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
292 # not currently do so. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
293 self.assertEqual(dm.visitdir(b''), b'all') |
41530
4dd07bf84608
tests: fix test-match.py on Python3
Augie Fackler <augie@google.com>
parents:
41528
diff
changeset
|
294 self.assertEqual(dm.visitdir(b'dir'), b'all') |
4dd07bf84608
tests: fix test-match.py on Python3
Augie Fackler <augie@google.com>
parents:
41528
diff
changeset
|
295 self.assertEqual(dm.visitdir(b'dir/subdir'), b'all') |
4dd07bf84608
tests: fix test-match.py on Python3
Augie Fackler <augie@google.com>
parents:
41528
diff
changeset
|
296 self.assertEqual(dm.visitdir(b'dir/subdir/z'), b'all') |
4dd07bf84608
tests: fix test-match.py on Python3
Augie Fackler <augie@google.com>
parents:
41528
diff
changeset
|
297 self.assertEqual(dm.visitdir(b'dir/foo'), b'all') |
4dd07bf84608
tests: fix test-match.py on Python3
Augie Fackler <augie@google.com>
parents:
41528
diff
changeset
|
298 self.assertEqual(dm.visitdir(b'dir/subdir/x'), b'all') |
4dd07bf84608
tests: fix test-match.py on Python3
Augie Fackler <augie@google.com>
parents:
41528
diff
changeset
|
299 self.assertEqual(dm.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
300 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
301 def testVisitchildrensetM2never(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
302 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
303 m2 = matchmod.nevermatcher() |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
304 dm = matchmod.differencematcher(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
305 # dm should be equivalent to a alwaysmatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
306 self.assertEqual(dm.visitchildrenset(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
307 self.assertEqual(dm.visitchildrenset(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
308 self.assertEqual(dm.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
309 self.assertEqual(dm.visitchildrenset(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
310 self.assertEqual(dm.visitchildrenset(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
311 self.assertEqual(dm.visitchildrenset(b'dir/subdir/x'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
312 self.assertEqual(dm.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
313 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
314 def testVisitdirM2SubdirPrefix(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
315 m1 = matchmod.alwaysmatcher() |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
316 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
317 util.localpath(b'/repo'), b'', patterns=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
318 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
319 dm = matchmod.differencematcher(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
320 self.assertEqual(dm.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
321 self.assertEqual(dm.visitdir(b'dir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
322 self.assertFalse(dm.visitdir(b'dir/subdir')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
323 # OPT: We should probably return False for these; we don't because |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
324 # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
325 # an 'all' pattern, just True. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
326 self.assertEqual(dm.visitdir(b'dir/subdir/z'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
327 self.assertEqual(dm.visitdir(b'dir/subdir/x'), True) |
41530
4dd07bf84608
tests: fix test-match.py on Python3
Augie Fackler <augie@google.com>
parents:
41528
diff
changeset
|
328 self.assertEqual(dm.visitdir(b'dir/foo'), b'all') |
4dd07bf84608
tests: fix test-match.py on Python3
Augie Fackler <augie@google.com>
parents:
41528
diff
changeset
|
329 self.assertEqual(dm.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
330 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
331 def testVisitchildrensetM2SubdirPrefix(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
332 m1 = matchmod.alwaysmatcher() |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
333 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
334 util.localpath(b'/repo'), b'', patterns=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
335 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
336 dm = matchmod.differencematcher(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
337 self.assertEqual(dm.visitchildrenset(b''), b'this') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
338 self.assertEqual(dm.visitchildrenset(b'dir'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
339 self.assertEqual(dm.visitchildrenset(b'dir/subdir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
340 self.assertEqual(dm.visitchildrenset(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
341 self.assertEqual(dm.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
342 # OPT: We should probably return set() for these; we don't because |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
343 # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
344 # an 'all' pattern, just 'this'. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
345 self.assertEqual(dm.visitchildrenset(b'dir/subdir/z'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
346 self.assertEqual(dm.visitchildrenset(b'dir/subdir/x'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
347 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
348 # We're using includematcher instead of patterns because it behaves slightly |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
349 # better (giving narrower results) than patternmatcher. |
43375
c2c3ee8794dd
tests: fix typo "includfe"
Martin von Zweigbergk <martinvonz@google.com>
parents:
43076
diff
changeset
|
350 def testVisitdirIncludeInclude(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
351 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
352 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
353 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
354 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
355 util.localpath(b'/repo'), b'', include=[b'rootfilesin:dir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
356 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
357 dm = matchmod.differencematcher(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
358 self.assertEqual(dm.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
359 self.assertEqual(dm.visitdir(b'dir'), True) |
41530
4dd07bf84608
tests: fix test-match.py on Python3
Augie Fackler <augie@google.com>
parents:
41528
diff
changeset
|
360 self.assertEqual(dm.visitdir(b'dir/subdir'), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
361 self.assertFalse(dm.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
362 self.assertFalse(dm.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
363 # OPT: We should probably return False for these; we don't because |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
364 # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
365 # an 'all' pattern, just True. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
366 self.assertEqual(dm.visitdir(b'dir/subdir/z'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
367 self.assertEqual(dm.visitdir(b'dir/subdir/x'), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
368 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
369 def testVisitchildrensetIncludeInclude(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
370 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
371 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
372 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
373 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
374 util.localpath(b'/repo'), b'', include=[b'rootfilesin:dir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
375 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
376 dm = matchmod.differencematcher(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
377 self.assertEqual(dm.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
378 self.assertEqual(dm.visitchildrenset(b'dir'), {b'subdir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
379 self.assertEqual(dm.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
380 self.assertEqual(dm.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
381 self.assertEqual(dm.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
382 # OPT: We should probably return set() for these; we don't because |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
383 # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
384 # an 'all' pattern, just 'this'. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
385 self.assertEqual(dm.visitchildrenset(b'dir/subdir/z'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
386 self.assertEqual(dm.visitchildrenset(b'dir/subdir/x'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
387 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
388 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
389 class IntersectionMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
390 def testVisitdirM2always(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
391 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
392 m2 = matchmod.alwaysmatcher() |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
393 im = matchmod.intersectmatchers(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
394 # im should be equivalent to a alwaysmatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
395 self.assertEqual(im.visitdir(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
396 self.assertEqual(im.visitdir(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
397 self.assertEqual(im.visitdir(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
398 self.assertEqual(im.visitdir(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
399 self.assertEqual(im.visitdir(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
400 self.assertEqual(im.visitdir(b'dir/subdir/x'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
401 self.assertEqual(im.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
402 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
403 def testVisitchildrensetM2always(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
404 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
405 m2 = matchmod.alwaysmatcher() |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
406 im = matchmod.intersectmatchers(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
407 # im should be equivalent to a alwaysmatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
408 self.assertEqual(im.visitchildrenset(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
409 self.assertEqual(im.visitchildrenset(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
410 self.assertEqual(im.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
411 self.assertEqual(im.visitchildrenset(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
412 self.assertEqual(im.visitchildrenset(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
413 self.assertEqual(im.visitchildrenset(b'dir/subdir/x'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
414 self.assertEqual(im.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
415 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
416 def testVisitdirM2never(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
417 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
418 m2 = matchmod.nevermatcher() |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
419 im = matchmod.intersectmatchers(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
420 # im should be equivalent to a nevermatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
421 self.assertFalse(im.visitdir(b'')) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
422 self.assertFalse(im.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
423 self.assertFalse(im.visitdir(b'dir/subdir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
424 self.assertFalse(im.visitdir(b'dir/subdir/z')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
425 self.assertFalse(im.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
426 self.assertFalse(im.visitdir(b'dir/subdir/x')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
427 self.assertFalse(im.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
428 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
429 def testVisitchildrensetM2never(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
430 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
431 m2 = matchmod.nevermatcher() |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
432 im = matchmod.intersectmatchers(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
433 # im should be equivalent to a nevermqtcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
434 self.assertEqual(im.visitchildrenset(b''), set()) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
435 self.assertEqual(im.visitchildrenset(b'dir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
436 self.assertEqual(im.visitchildrenset(b'dir/subdir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
437 self.assertEqual(im.visitchildrenset(b'dir/subdir/z'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
438 self.assertEqual(im.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
439 self.assertEqual(im.visitchildrenset(b'dir/subdir/x'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
440 self.assertEqual(im.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
441 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
442 def testVisitdirM2SubdirPrefix(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
443 m1 = matchmod.alwaysmatcher() |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
444 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
445 util.localpath(b'/repo'), b'', patterns=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
446 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
447 im = matchmod.intersectmatchers(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
448 self.assertEqual(im.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
449 self.assertEqual(im.visitdir(b'dir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
450 self.assertEqual(im.visitdir(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
451 self.assertFalse(im.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
452 self.assertFalse(im.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
453 # OPT: We should probably return 'all' for these; we don't because |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
454 # patternmatcher.visitdir() (our m2) doesn't return 'all' for subdirs of |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
455 # an 'all' pattern, just True. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
456 self.assertEqual(im.visitdir(b'dir/subdir/z'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
457 self.assertEqual(im.visitdir(b'dir/subdir/x'), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
458 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
459 def testVisitchildrensetM2SubdirPrefix(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
460 m1 = matchmod.alwaysmatcher() |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
461 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
462 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
463 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
464 im = matchmod.intersectmatchers(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
465 self.assertEqual(im.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
466 self.assertEqual(im.visitchildrenset(b'dir'), {b'subdir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
467 self.assertEqual(im.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
468 self.assertEqual(im.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
469 self.assertEqual(im.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
470 # OPT: We should probably return 'all' for these |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
471 self.assertEqual(im.visitchildrenset(b'dir/subdir/z'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
472 self.assertEqual(im.visitchildrenset(b'dir/subdir/x'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
473 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
474 # We're using includematcher instead of patterns because it behaves slightly |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
475 # better (giving narrower results) than patternmatcher. |
43375
c2c3ee8794dd
tests: fix typo "includfe"
Martin von Zweigbergk <martinvonz@google.com>
parents:
43076
diff
changeset
|
476 def testVisitdirIncludeInclude(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
477 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
478 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
479 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
480 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
481 util.localpath(b'/repo'), b'', include=[b'rootfilesin:dir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
482 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
483 im = matchmod.intersectmatchers(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
484 self.assertEqual(im.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
485 self.assertEqual(im.visitdir(b'dir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
486 self.assertFalse(im.visitdir(b'dir/subdir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
487 self.assertFalse(im.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
488 self.assertFalse(im.visitdir(b'folder')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
489 self.assertFalse(im.visitdir(b'dir/subdir/z')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
490 self.assertFalse(im.visitdir(b'dir/subdir/x')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
491 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
492 def testVisitchildrensetIncludeInclude(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
493 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
494 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
495 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
496 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
497 util.localpath(b'/repo'), b'', include=[b'rootfilesin:dir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
498 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
499 im = matchmod.intersectmatchers(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
500 self.assertEqual(im.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
501 self.assertEqual(im.visitchildrenset(b'dir'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
502 self.assertEqual(im.visitchildrenset(b'dir/subdir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
503 self.assertEqual(im.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
504 self.assertEqual(im.visitchildrenset(b'folder'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
505 self.assertEqual(im.visitchildrenset(b'dir/subdir/z'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
506 self.assertEqual(im.visitchildrenset(b'dir/subdir/x'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
507 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
508 # We're using includematcher instead of patterns because it behaves slightly |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
509 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
510 def testVisitdirIncludeInclude2(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
511 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
512 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
513 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
514 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
515 util.localpath(b'/repo'), b'', include=[b'path:folder'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
516 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
517 im = matchmod.intersectmatchers(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
518 # FIXME: is True correct here? |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
519 self.assertEqual(im.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
520 self.assertFalse(im.visitdir(b'dir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
521 self.assertFalse(im.visitdir(b'dir/subdir')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
522 self.assertFalse(im.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
523 self.assertFalse(im.visitdir(b'folder')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
524 self.assertFalse(im.visitdir(b'dir/subdir/z')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
525 self.assertFalse(im.visitdir(b'dir/subdir/x')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
526 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
527 def testVisitchildrensetIncludeInclude2(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
528 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
529 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
530 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
531 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
532 util.localpath(b'/repo'), b'', include=[b'path:folder'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
533 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
534 im = matchmod.intersectmatchers(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
535 # FIXME: is set() correct here? |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
536 self.assertEqual(im.visitchildrenset(b''), set()) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
537 self.assertEqual(im.visitchildrenset(b'dir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
538 self.assertEqual(im.visitchildrenset(b'dir/subdir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
539 self.assertEqual(im.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
540 self.assertEqual(im.visitchildrenset(b'folder'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
541 self.assertEqual(im.visitchildrenset(b'dir/subdir/z'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
542 self.assertEqual(im.visitchildrenset(b'dir/subdir/x'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
543 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
544 # We're using includematcher instead of patterns because it behaves slightly |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
545 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
546 def testVisitdirIncludeInclude3(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
547 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
548 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/x'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
549 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
550 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
551 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
552 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
553 im = matchmod.intersectmatchers(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
554 self.assertEqual(im.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
555 self.assertEqual(im.visitdir(b'dir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
556 self.assertEqual(im.visitdir(b'dir/subdir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
557 self.assertFalse(im.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
558 self.assertFalse(im.visitdir(b'folder')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
559 self.assertFalse(im.visitdir(b'dir/subdir/z')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
560 # OPT: this should probably be 'all' not True. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
561 self.assertEqual(im.visitdir(b'dir/subdir/x'), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
562 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
563 def testVisitchildrensetIncludeInclude3(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
564 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
565 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/x'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
566 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
567 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
568 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
569 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
570 im = matchmod.intersectmatchers(m1, m2) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
571 self.assertEqual(im.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
572 self.assertEqual(im.visitchildrenset(b'dir'), {b'subdir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
573 self.assertEqual(im.visitchildrenset(b'dir/subdir'), {b'x'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
574 self.assertEqual(im.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
575 self.assertEqual(im.visitchildrenset(b'folder'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
576 self.assertEqual(im.visitchildrenset(b'dir/subdir/z'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
577 # OPT: this should probably be 'all' not 'this'. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
578 self.assertEqual(im.visitchildrenset(b'dir/subdir/x'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
579 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
580 # We're using includematcher instead of patterns because it behaves slightly |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
581 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
582 def testVisitdirIncludeInclude4(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
583 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
584 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/x'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
585 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
586 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
587 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/z'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
588 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
589 im = matchmod.intersectmatchers(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
590 # OPT: these next three could probably be False as well. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
591 self.assertEqual(im.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
592 self.assertEqual(im.visitdir(b'dir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
593 self.assertEqual(im.visitdir(b'dir/subdir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
594 self.assertFalse(im.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
595 self.assertFalse(im.visitdir(b'folder')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
596 self.assertFalse(im.visitdir(b'dir/subdir/z')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
597 self.assertFalse(im.visitdir(b'dir/subdir/x')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
598 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
599 def testVisitchildrensetIncludeInclude4(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
600 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
601 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/x'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
602 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
603 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
604 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/z'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
605 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
606 im = matchmod.intersectmatchers(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
607 # OPT: these next two could probably be set() as well. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
608 self.assertEqual(im.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
609 self.assertEqual(im.visitchildrenset(b'dir'), {b'subdir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
610 self.assertEqual(im.visitchildrenset(b'dir/subdir'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
611 self.assertEqual(im.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
612 self.assertEqual(im.visitchildrenset(b'folder'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
613 self.assertEqual(im.visitchildrenset(b'dir/subdir/z'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
614 self.assertEqual(im.visitchildrenset(b'dir/subdir/x'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
615 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
616 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
617 class UnionMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
618 def testVisitdirM2always(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
619 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
620 m2 = matchmod.alwaysmatcher() |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
621 um = matchmod.unionmatcher([m1, m2]) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
622 # um should be equivalent to a alwaysmatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
623 self.assertEqual(um.visitdir(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
624 self.assertEqual(um.visitdir(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
625 self.assertEqual(um.visitdir(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
626 self.assertEqual(um.visitdir(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
627 self.assertEqual(um.visitdir(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
628 self.assertEqual(um.visitdir(b'dir/subdir/x'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
629 self.assertEqual(um.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
630 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
631 def testVisitchildrensetM2always(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
632 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
633 m2 = matchmod.alwaysmatcher() |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
634 um = matchmod.unionmatcher([m1, m2]) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
635 # um should be equivalent to a alwaysmatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
636 self.assertEqual(um.visitchildrenset(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
637 self.assertEqual(um.visitchildrenset(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
638 self.assertEqual(um.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
639 self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
640 self.assertEqual(um.visitchildrenset(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
641 self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
642 self.assertEqual(um.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
643 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
644 def testVisitdirM1never(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
645 m1 = matchmod.nevermatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
646 m2 = matchmod.alwaysmatcher() |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
647 um = matchmod.unionmatcher([m1, m2]) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
648 # um should be equivalent to a alwaysmatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
649 self.assertEqual(um.visitdir(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
650 self.assertEqual(um.visitdir(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
651 self.assertEqual(um.visitdir(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
652 self.assertEqual(um.visitdir(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
653 self.assertEqual(um.visitdir(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
654 self.assertEqual(um.visitdir(b'dir/subdir/x'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
655 self.assertEqual(um.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
656 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
657 def testVisitchildrensetM1never(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
658 m1 = matchmod.nevermatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
659 m2 = matchmod.alwaysmatcher() |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
660 um = matchmod.unionmatcher([m1, m2]) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
661 # um should be equivalent to a alwaysmatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
662 self.assertEqual(um.visitchildrenset(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
663 self.assertEqual(um.visitchildrenset(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
664 self.assertEqual(um.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
665 self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
666 self.assertEqual(um.visitchildrenset(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
667 self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
668 self.assertEqual(um.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
669 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
670 def testVisitdirM2never(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
671 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
672 m2 = matchmod.nevermatcher() |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
673 um = matchmod.unionmatcher([m1, m2]) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
674 # um should be equivalent to a alwaysmatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
675 self.assertEqual(um.visitdir(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
676 self.assertEqual(um.visitdir(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
677 self.assertEqual(um.visitdir(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
678 self.assertEqual(um.visitdir(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
679 self.assertEqual(um.visitdir(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
680 self.assertEqual(um.visitdir(b'dir/subdir/x'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
681 self.assertEqual(um.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
682 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
683 def testVisitchildrensetM2never(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
684 m1 = matchmod.alwaysmatcher() |
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
685 m2 = matchmod.nevermatcher() |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
686 um = matchmod.unionmatcher([m1, m2]) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
687 # um should be equivalent to a alwaysmatcher. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
688 self.assertEqual(um.visitchildrenset(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
689 self.assertEqual(um.visitchildrenset(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
690 self.assertEqual(um.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
691 self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
692 self.assertEqual(um.visitchildrenset(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
693 self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
694 self.assertEqual(um.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
695 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
696 def testVisitdirM2SubdirPrefix(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
697 m1 = matchmod.alwaysmatcher() |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
698 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
699 util.localpath(b'/repo'), b'', patterns=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
700 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
701 um = matchmod.unionmatcher([m1, m2]) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
702 self.assertEqual(um.visitdir(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
703 self.assertEqual(um.visitdir(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
704 self.assertEqual(um.visitdir(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
705 self.assertEqual(um.visitdir(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
706 self.assertEqual(um.visitdir(b'folder'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
707 self.assertEqual(um.visitdir(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
708 self.assertEqual(um.visitdir(b'dir/subdir/x'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
709 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
710 def testVisitchildrensetM2SubdirPrefix(self): |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
711 m1 = matchmod.alwaysmatcher() |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
712 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
713 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
714 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
715 um = matchmod.unionmatcher([m1, m2]) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
716 self.assertEqual(um.visitchildrenset(b''), b'all') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
717 self.assertEqual(um.visitchildrenset(b'dir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
718 self.assertEqual(um.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
719 self.assertEqual(um.visitchildrenset(b'dir/foo'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
720 self.assertEqual(um.visitchildrenset(b'folder'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
721 self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
722 self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
723 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
724 # We're using includematcher instead of patterns because it behaves slightly |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
725 # better (giving narrower results) than patternmatcher. |
43375
c2c3ee8794dd
tests: fix typo "includfe"
Martin von Zweigbergk <martinvonz@google.com>
parents:
43076
diff
changeset
|
726 def testVisitdirIncludeInclude(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
727 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
728 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
729 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
730 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
731 util.localpath(b'/repo'), b'', include=[b'rootfilesin:dir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
732 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
733 um = matchmod.unionmatcher([m1, m2]) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
734 self.assertEqual(um.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
735 self.assertEqual(um.visitdir(b'dir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
736 self.assertEqual(um.visitdir(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
737 self.assertFalse(um.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
738 self.assertFalse(um.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
739 # OPT: These two should probably be 'all' not True. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
740 self.assertEqual(um.visitdir(b'dir/subdir/z'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
741 self.assertEqual(um.visitdir(b'dir/subdir/x'), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
742 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
743 def testVisitchildrensetIncludeInclude(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
744 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
745 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
746 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
747 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
748 util.localpath(b'/repo'), b'', include=[b'rootfilesin:dir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
749 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
750 um = matchmod.unionmatcher([m1, m2]) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
751 self.assertEqual(um.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
752 self.assertEqual(um.visitchildrenset(b'dir'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
753 self.assertEqual(um.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
754 self.assertEqual(um.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
755 self.assertEqual(um.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
756 # OPT: These next two could be 'all' instead of 'this'. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
757 self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
758 self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
759 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
760 # We're using includematcher instead of patterns because it behaves slightly |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
761 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
762 def testVisitdirIncludeInclude2(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
763 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
764 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
765 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
766 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
767 util.localpath(b'/repo'), b'', include=[b'path:folder'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
768 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
769 um = matchmod.unionmatcher([m1, m2]) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
770 self.assertEqual(um.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
771 self.assertEqual(um.visitdir(b'dir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
772 self.assertEqual(um.visitdir(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
773 self.assertFalse(um.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
774 self.assertEqual(um.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
775 # OPT: These should probably be 'all' not True. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
776 self.assertEqual(um.visitdir(b'dir/subdir/z'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
777 self.assertEqual(um.visitdir(b'dir/subdir/x'), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
778 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
779 def testVisitchildrensetIncludeInclude2(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
780 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
781 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
782 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
783 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
784 util.localpath(b'/repo'), b'', include=[b'path:folder'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
785 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
786 um = matchmod.unionmatcher([m1, m2]) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
787 self.assertEqual(um.visitchildrenset(b''), {b'folder', b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
788 self.assertEqual(um.visitchildrenset(b'dir'), {b'subdir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
789 self.assertEqual(um.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
790 self.assertEqual(um.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
791 self.assertEqual(um.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
792 # OPT: These next two could be 'all' instead of 'this'. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
793 self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
794 self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
795 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
796 # We're using includematcher instead of patterns because it behaves slightly |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
797 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
798 def testVisitdirIncludeInclude3(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
799 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
800 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/x'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
801 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
802 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
803 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
804 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
805 um = matchmod.unionmatcher([m1, m2]) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
806 self.assertEqual(um.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
807 self.assertEqual(um.visitdir(b'dir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
808 self.assertEqual(um.visitdir(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
809 self.assertFalse(um.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
810 self.assertFalse(um.visitdir(b'folder')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
811 self.assertEqual(um.visitdir(b'dir/subdir/x'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
812 # OPT: this should probably be 'all' not True. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
813 self.assertEqual(um.visitdir(b'dir/subdir/z'), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
814 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
815 def testVisitchildrensetIncludeInclude3(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
816 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
817 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/x'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
818 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
819 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
820 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
821 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
822 um = matchmod.unionmatcher([m1, m2]) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
823 self.assertEqual(um.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
824 self.assertEqual(um.visitchildrenset(b'dir'), {b'subdir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
825 self.assertEqual(um.visitchildrenset(b'dir/subdir'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
826 self.assertEqual(um.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
827 self.assertEqual(um.visitchildrenset(b'folder'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
828 self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
829 # OPT: this should probably be 'all' not 'this'. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
830 self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
831 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
832 # We're using includematcher instead of patterns because it behaves slightly |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
833 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
834 def testVisitdirIncludeInclude4(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
835 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
836 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/x'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
837 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
838 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
839 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/z'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
840 ) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
841 um = matchmod.unionmatcher([m1, m2]) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
842 # OPT: these next three could probably be False as well. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
843 self.assertEqual(um.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
844 self.assertEqual(um.visitdir(b'dir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
845 self.assertEqual(um.visitdir(b'dir/subdir'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
846 self.assertFalse(um.visitdir(b'dir/foo')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
847 self.assertFalse(um.visitdir(b'folder')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
848 self.assertEqual(um.visitdir(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
849 self.assertEqual(um.visitdir(b'dir/subdir/x'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
850 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
851 def testVisitchildrensetIncludeInclude4(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
852 m1 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
853 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/x'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
854 ) |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
855 m2 = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
856 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir/z'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
857 ) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
858 um = matchmod.unionmatcher([m1, m2]) |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
859 self.assertEqual(um.visitchildrenset(b''), {b'dir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
860 self.assertEqual(um.visitchildrenset(b'dir'), {b'subdir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
861 self.assertEqual(um.visitchildrenset(b'dir/subdir'), {b'x', b'z'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
862 self.assertEqual(um.visitchildrenset(b'dir/foo'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
863 self.assertEqual(um.visitchildrenset(b'folder'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
864 self.assertEqual(um.visitchildrenset(b'dir/subdir/z'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
865 self.assertEqual(um.visitchildrenset(b'dir/subdir/x'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
866 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
867 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
868 class SubdirMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
869 def testVisitdir(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
870 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
871 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
872 ) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
873 sm = matchmod.subdirmatcher(b'dir', m) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
874 |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
875 self.assertEqual(sm.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
876 self.assertEqual(sm.visitdir(b'subdir'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
877 # OPT: These next two should probably be 'all' not True. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
878 self.assertEqual(sm.visitdir(b'subdir/x'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
879 self.assertEqual(sm.visitdir(b'subdir/z'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
880 self.assertFalse(sm.visitdir(b'foo')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
881 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
882 def testVisitchildrenset(self): |
43964
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
883 m = matchmod.match( |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
884 util.localpath(b'/repo'), b'', include=[b'path:dir/subdir'] |
8f67735344ae
tests: convert the `root` arg of matchmod.match() to local path separators
Matt Harbison <matt_harbison@yahoo.com>
parents:
43949
diff
changeset
|
885 ) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
886 sm = matchmod.subdirmatcher(b'dir', m) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
887 |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
888 self.assertEqual(sm.visitchildrenset(b''), {b'subdir'}) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
889 self.assertEqual(sm.visitchildrenset(b'subdir'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
890 # OPT: These next two should probably be 'all' not 'this'. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
891 self.assertEqual(sm.visitchildrenset(b'subdir/x'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
892 self.assertEqual(sm.visitchildrenset(b'subdir/z'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
893 self.assertEqual(sm.visitchildrenset(b'foo'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
894 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
895 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
896 class PrefixdirMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
897 def testVisitdir(self): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
898 m = matchmod.match( |
43949
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
899 util.localpath(b'/root/d'), |
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
900 b'e/f', |
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
901 [b'../a.txt', b'b.txt'], |
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
902 auditor=noop_auditor, |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
903 ) |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
904 pm = matchmod.prefixdirmatcher(b'd', m) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
905 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
906 # `m` elides 'd' because it's part of the root, and the rest of the |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
907 # patterns are relative. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
908 self.assertEqual(bool(m(b'a.txt')), False) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
909 self.assertEqual(bool(m(b'b.txt')), False) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
910 self.assertEqual(bool(m(b'e/a.txt')), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
911 self.assertEqual(bool(m(b'e/b.txt')), False) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
912 self.assertEqual(bool(m(b'e/f/b.txt')), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
913 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
914 # The prefix matcher re-adds 'd' to the paths, so they need to be |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
915 # specified when using the prefixdirmatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
916 self.assertEqual(bool(pm(b'a.txt')), False) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
917 self.assertEqual(bool(pm(b'b.txt')), False) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
918 self.assertEqual(bool(pm(b'd/e/a.txt')), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
919 self.assertEqual(bool(pm(b'd/e/b.txt')), False) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
920 self.assertEqual(bool(pm(b'd/e/f/b.txt')), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
921 |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
922 self.assertEqual(m.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
923 self.assertEqual(m.visitdir(b'e'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
924 self.assertEqual(m.visitdir(b'e/f'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
925 self.assertEqual(m.visitdir(b'e/f/g'), False) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
926 |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
927 self.assertEqual(pm.visitdir(b''), True) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
928 self.assertEqual(pm.visitdir(b'd'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
929 self.assertEqual(pm.visitdir(b'd/e'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
930 self.assertEqual(pm.visitdir(b'd/e/f'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
931 self.assertEqual(pm.visitdir(b'd/e/f/g'), False) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
932 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
933 def testVisitchildrenset(self): |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
934 m = matchmod.match( |
43949
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
935 util.localpath(b'/root/d'), |
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
936 b'e/f', |
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
937 [b'../a.txt', b'b.txt'], |
8b1a9ba375e5
match: make sure `root` argument is always an absolute path (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
43375
diff
changeset
|
938 auditor=noop_auditor, |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
939 ) |
41675
ddbebce94665
match: delete unused root and cwd arguments to constructors (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41621
diff
changeset
|
940 pm = matchmod.prefixdirmatcher(b'd', m) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
941 |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
942 # OPT: visitchildrenset could possibly return {'e'} and {'f'} for these |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
943 # next two, respectively; patternmatcher does not have this |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
944 # optimization. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
945 self.assertEqual(m.visitchildrenset(b''), b'this') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
946 self.assertEqual(m.visitchildrenset(b'e'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
947 self.assertEqual(m.visitchildrenset(b'e/f'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
948 self.assertEqual(m.visitchildrenset(b'e/f/g'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
949 |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
950 # OPT: visitchildrenset could possibly return {'d'}, {'e'}, and {'f'} |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
951 # for these next three, respectively; patternmatcher does not have this |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
952 # optimization. |
42341
27d6956d386b
match: use '' instead of '.' for root directory (API)
Martin von Zweigbergk <martinvonz@google.com>
parents:
41676
diff
changeset
|
953 self.assertEqual(pm.visitchildrenset(b''), b'this') |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
954 self.assertEqual(pm.visitchildrenset(b'd'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
955 self.assertEqual(pm.visitchildrenset(b'd/e'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
956 self.assertEqual(pm.visitchildrenset(b'd/e/f'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
957 self.assertEqual(pm.visitchildrenset(b'd/e/f/g'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
958 |
43076
2372284d9457
formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents:
42346
diff
changeset
|
959 |
33582
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
960 if __name__ == '__main__': |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
961 silenttestrunner.main(__name__) |