Mercurial > hg
annotate tests/test-match.py @ 39232:0a5b20c107a6
repository: remove storedeltachains from ifilestorage
The ifilestorage interface was bootstrapped from requirements of
callers outside the storage implementation (revlogs). I believe we
even made some members public so they could be part of the interface!
Historically, the changegroup code was a gross offender when it
came to accessing low-level storage primitives. There are a handful
of members on the ifilestorage interface that are/were used only
for changegroup code.
With the recent refactor of changegroup code and the establishment
of a formal API on the storage interface for producing revision
deltas, the changegroup code is no longer accessing these low-level
primitives related to delta generation directly. Instead, things
are abstracted away in the storage implementation.
This means we can remove elements from the storage interface that
are no longer needed.
We start with "storedeltachains."
We remove it from the interface. Then we make it a private
attribute and update all references.
.. api:: storedeltachains has been dropped from ifilestorage interface
.. api:: storedeltachains on revlog classes is now _storedeltachains
Differential Revision: https://phab.mercurial-scm.org/D4227
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Thu, 09 Aug 2018 16:11:24 -0700 |
parents | 467b5c1df72d |
children | c9a3f7f5c023 |
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 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
12 class BaseMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
13 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
14 def testVisitdir(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
15 m = matchmod.basematcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
16 self.assertTrue(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
17 self.assertTrue(m.visitdir(b'dir')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
18 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
19 def testVisitchildrenset(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
20 m = matchmod.basematcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
21 self.assertEqual(m.visitchildrenset(b'.'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
22 self.assertEqual(m.visitchildrenset(b'dir'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
23 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
24 class AlwaysMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
25 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
26 def testVisitdir(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
27 m = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
28 self.assertEqual(m.visitdir(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
29 self.assertEqual(m.visitdir(b'dir'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
30 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
31 def testVisitchildrenset(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
32 m = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
33 self.assertEqual(m.visitchildrenset(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
34 self.assertEqual(m.visitchildrenset(b'dir'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
35 |
33582
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
36 class NeverMatcherTests(unittest.TestCase): |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
37 |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
38 def testVisitdir(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
39 m = matchmod.nevermatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
40 self.assertFalse(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
41 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
|
42 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
43 def testVisitchildrenset(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
44 m = matchmod.nevermatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
45 self.assertEqual(m.visitchildrenset(b'.'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
46 self.assertEqual(m.visitchildrenset(b'dir'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
47 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
48 class PredicateMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
49 # 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
|
50 # this is equivalent to BaseMatcherTests. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
51 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
52 def testVisitdir(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
53 m = matchmod.predicatematcher(b'', b'', lambda *a: False) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
54 self.assertTrue(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
55 self.assertTrue(m.visitdir(b'dir')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
56 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
57 def testVisitchildrenset(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
58 m = matchmod.predicatematcher(b'', b'', lambda *a: False) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
59 self.assertEqual(m.visitchildrenset(b'.'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
60 self.assertEqual(m.visitchildrenset(b'dir'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
61 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
62 class PatternMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
63 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
64 def testVisitdirPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
65 m = matchmod.match(b'x', b'', patterns=[b'path:dir/subdir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
66 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
|
67 self.assertTrue(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
68 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
|
69 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
|
70 # 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
|
71 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
|
72 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
73 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
74 def testVisitchildrensetPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
75 m = matchmod.match(b'x', b'', patterns=[b'path:dir/subdir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
76 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
|
77 self.assertEqual(m.visitchildrenset(b'.'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
78 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
|
79 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
|
80 # 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
|
81 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
|
82 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
83 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
84 def testVisitdirRootfilesin(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
85 m = matchmod.match(b'x', b'', patterns=[b'rootfilesin:dir/subdir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
86 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
|
87 self.assertTrue(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
88 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
|
89 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
90 # FIXME: These should probably be True. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
91 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
|
92 self.assertFalse(m.visitdir(b'dir/subdir')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
93 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
94 def testVisitchildrensetRootfilesin(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
95 m = matchmod.match(b'x', b'', patterns=[b'rootfilesin:dir/subdir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
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.assertEqual(m.visitchildrenset(b'.'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
98 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
|
99 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
38958
b9f94d67ea73
match: add missing "return set()", add FIXME to test to doc a bug
Kyle Lippincott <spectral@google.com>
parents:
38955
diff
changeset
|
100 # FIXME: These should probably be {'subdir'} and 'this', respectively, |
b9f94d67ea73
match: add missing "return set()", add FIXME to test to doc a bug
Kyle Lippincott <spectral@google.com>
parents:
38955
diff
changeset
|
101 # or at least 'this' and 'this'. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
102 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
|
103 self.assertEqual(m.visitchildrenset(b'dir/subdir'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
104 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
105 def testVisitdirGlob(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
106 m = matchmod.match(b'x', b'', patterns=[b'glob:dir/z*']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
107 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
|
108 self.assertTrue(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
109 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
|
110 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
111 # 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
|
112 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
|
113 self.assertTrue(m.visitdir(b'dir/subdir/x')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
114 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
115 def testVisitchildrensetGlob(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
116 m = matchmod.match(b'x', b'', patterns=[b'glob:dir/z*']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
117 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
|
118 self.assertEqual(m.visitchildrenset(b'.'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
119 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
|
120 self.assertEqual(m.visitchildrenset(b'dir'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
121 # 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
|
122 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
|
123 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
|
124 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
125 class IncludeMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
126 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
127 def testVisitdirPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
128 m = matchmod.match(b'x', b'', include=[b'path:dir/subdir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
129 assert isinstance(m, matchmod.includematcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
130 self.assertTrue(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
131 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
|
132 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
|
133 # 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
|
134 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
|
135 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
136 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
137 def testVisitchildrensetPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
138 m = matchmod.match(b'x', b'', include=[b'path:dir/subdir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
139 assert isinstance(m, matchmod.includematcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
140 self.assertEqual(m.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
141 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
|
142 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
|
143 # 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
|
144 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
|
145 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
146 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
147 def testVisitdirRootfilesin(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
148 m = matchmod.match(b'x', b'', include=[b'rootfilesin:dir/subdir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
149 assert isinstance(m, matchmod.includematcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
150 self.assertTrue(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
151 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
|
152 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
|
153 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
|
154 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
155 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
156 def testVisitchildrensetRootfilesin(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
157 m = matchmod.match(b'x', b'', include=[b'rootfilesin:dir/subdir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
158 assert isinstance(m, matchmod.includematcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
159 self.assertEqual(m.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
160 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
|
161 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
|
162 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
|
163 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
164 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
165 def testVisitdirGlob(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
166 m = matchmod.match(b'x', b'', include=[b'glob:dir/z*']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
167 assert isinstance(m, matchmod.includematcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
168 self.assertTrue(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
169 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
|
170 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
171 # 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
|
172 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
|
173 self.assertTrue(m.visitdir(b'dir/subdir/x')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
174 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
175 def testVisitchildrensetGlob(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
176 m = matchmod.match(b'x', b'', include=[b'glob:dir/z*']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
177 assert isinstance(m, matchmod.includematcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
178 self.assertEqual(m.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
179 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
|
180 self.assertEqual(m.visitchildrenset(b'dir'), b'this') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
181 # 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
|
182 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
|
183 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
|
184 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
185 class ExactMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
186 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
187 def testVisitdir(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
188 m = matchmod.match(b'x', b'', patterns=[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
|
189 exact=True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
190 assert isinstance(m, matchmod.exactmatcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
191 self.assertTrue(m.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
192 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
|
193 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
|
194 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
|
195 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
|
196 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
|
197 self.assertFalse(m.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
198 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
199 def testVisitchildrenset(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
200 m = matchmod.match(b'x', b'', patterns=[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
|
201 exact=True) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
202 assert isinstance(m, matchmod.exactmatcher) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
203 self.assertEqual(m.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
204 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
|
205 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
|
206 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
|
207 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
|
208 self.assertEqual(m.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
209 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
210 class DifferenceMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
211 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
212 def testVisitdirM2always(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
213 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
214 m2 = matchmod.alwaysmatcher(b'', b'') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
215 dm = matchmod.differencematcher(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
216 # dm should be equivalent to a nevermatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
217 self.assertFalse(dm.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
218 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
|
219 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
|
220 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
|
221 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
|
222 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
|
223 self.assertFalse(dm.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
224 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
225 def testVisitchildrensetM2always(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
226 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
227 m2 = matchmod.alwaysmatcher(b'', b'') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
228 dm = matchmod.differencematcher(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
229 # dm should be equivalent to a nevermatcher. |
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(dm.visitchildrenset(b'.'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
231 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
|
232 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
|
233 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
|
234 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
|
235 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
|
236 self.assertEqual(dm.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
237 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
238 def testVisitdirM2never(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
239 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
240 m2 = matchmod.nevermatcher(b'', b'') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
241 dm = matchmod.differencematcher(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
242 # dm should be equivalent to a alwaysmatcher. OPT: if m2 is a |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
243 # nevermatcher, we could return 'all' for these. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
244 # |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
245 # 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
|
246 # 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
|
247 # 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
|
248 # not currently do so. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
249 self.assertEqual(dm.visitdir(b'.'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
250 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
|
251 self.assertEqual(dm.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
|
252 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
|
253 self.assertEqual(dm.visitdir(b'dir/foo'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
254 self.assertEqual(dm.visitdir(b'dir/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
|
255 self.assertEqual(dm.visitdir(b'folder'), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
256 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
257 def testVisitchildrensetM2never(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
258 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
259 m2 = matchmod.nevermatcher(b'', b'') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
260 dm = matchmod.differencematcher(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
261 # dm should be equivalent to a alwaysmatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
262 self.assertEqual(dm.visitchildrenset(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
263 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
|
264 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
|
265 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
|
266 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
|
267 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
|
268 self.assertEqual(dm.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
269 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
270 def testVisitdirM2SubdirPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
271 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
272 m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
273 dm = matchmod.differencematcher(m1, m2) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
274 self.assertEqual(dm.visitdir(b'.'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
275 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
|
276 self.assertFalse(dm.visitdir(b'dir/subdir')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
277 # 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
|
278 # 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
|
279 # 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
|
280 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
|
281 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
|
282 # OPT: We could 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
|
283 self.assertEqual(dm.visitdir(b'dir/foo'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
284 self.assertEqual(dm.visitdir(b'folder'), True) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
285 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
286 def testVisitchildrensetM2SubdirPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
287 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
288 m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
289 dm = matchmod.differencematcher(m1, m2) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
290 self.assertEqual(dm.visitchildrenset(b'.'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
291 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
|
292 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
|
293 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
|
294 self.assertEqual(dm.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
295 # 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
|
296 # 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
|
297 # 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
|
298 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
|
299 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
|
300 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
301 # 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
|
302 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
303 def testVisitdirIncludeIncludfe(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
304 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
305 m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
306 dm = matchmod.differencematcher(m1, m2) |
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.visitdir(b'.'), True) |
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.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
|
309 self.assertEqual(dm.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
|
310 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
|
311 self.assertFalse(dm.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
312 # 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
|
313 # 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
|
314 # 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
|
315 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
|
316 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
|
317 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
318 def testVisitchildrensetIncludeInclude(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
319 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
320 m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
321 dm = matchmod.differencematcher(m1, m2) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
322 self.assertEqual(dm.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
323 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
|
324 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
|
325 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
|
326 self.assertEqual(dm.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
327 # 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
|
328 # 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
|
329 # 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
|
330 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
|
331 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
|
332 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
333 class IntersectionMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
334 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
335 def testVisitdirM2always(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
336 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
337 m2 = matchmod.alwaysmatcher(b'', b'') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
338 im = matchmod.intersectmatchers(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
339 # im should be equivalent to a alwaysmatcher. |
38963
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(im.visitdir(b'.'), 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(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
|
342 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
|
343 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
|
344 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
|
345 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
|
346 self.assertEqual(im.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
347 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
348 def testVisitchildrensetM2always(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
349 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
350 m2 = matchmod.alwaysmatcher(b'', b'') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
351 im = matchmod.intersectmatchers(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
352 # im should be equivalent to a alwaysmatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
353 self.assertEqual(im.visitchildrenset(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
354 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
|
355 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
|
356 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
|
357 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
|
358 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
|
359 self.assertEqual(im.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
360 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
361 def testVisitdirM2never(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
362 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
363 m2 = matchmod.nevermatcher(b'', b'') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
364 im = matchmod.intersectmatchers(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
365 # im should be equivalent to a nevermatcher. |
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.assertFalse(im.visitdir(b'.')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
367 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
|
368 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
|
369 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
|
370 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
|
371 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
|
372 self.assertFalse(im.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
373 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
374 def testVisitchildrensetM2never(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
375 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
376 m2 = matchmod.nevermatcher(b'', b'') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
377 im = matchmod.intersectmatchers(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
378 # im should be equivalent to a nevermqtcher. |
38963
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(im.visitchildrenset(b'.'), set()) |
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(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
|
381 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
|
382 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
|
383 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
|
384 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
|
385 self.assertEqual(im.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
386 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
387 def testVisitdirM2SubdirPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
388 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
389 m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
390 im = matchmod.intersectmatchers(m1, m2) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
391 self.assertEqual(im.visitdir(b'.'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
392 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
|
393 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
|
394 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
|
395 self.assertFalse(im.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
396 # 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
|
397 # 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
|
398 # 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
|
399 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
|
400 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
|
401 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
402 def testVisitchildrensetM2SubdirPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
403 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
404 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
405 im = matchmod.intersectmatchers(m1, m2) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
406 self.assertEqual(im.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
407 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
|
408 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
|
409 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
|
410 self.assertEqual(im.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
411 # 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
|
412 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
|
413 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
|
414 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
415 # 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
|
416 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
417 def testVisitdirIncludeIncludfe(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
418 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
419 m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
420 im = matchmod.intersectmatchers(m1, m2) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
421 self.assertEqual(im.visitdir(b'.'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
422 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
|
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/foo')) |
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'folder')) |
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/z')) |
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'dir/subdir/x')) |
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 testVisitchildrensetIncludeInclude(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
430 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
431 m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
432 im = matchmod.intersectmatchers(m1, m2) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
433 self.assertEqual(im.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
434 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
|
435 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
|
436 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
|
437 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
|
438 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
|
439 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
|
440 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
441 # 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
|
442 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
443 def testVisitdirIncludeInclude2(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
444 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
445 m2 = matchmod.match(b'', b'', include=[b'path:folder']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
446 im = matchmod.intersectmatchers(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
447 # FIXME: is True correct here? |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
448 self.assertEqual(im.visitdir(b'.'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
449 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
|
450 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
|
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')) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
453 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
|
454 self.assertFalse(im.visitdir(b'dir/subdir/x')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
455 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
456 def testVisitchildrensetIncludeInclude2(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
457 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
458 m2 = matchmod.match(b'', b'', include=[b'path:folder']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
459 im = matchmod.intersectmatchers(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
460 # FIXME: is set() correct here? |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
461 self.assertEqual(im.visitchildrenset(b'.'), set()) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
462 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
|
463 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
|
464 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
|
465 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
|
466 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
|
467 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
|
468 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
469 # 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
|
470 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
471 def testVisitdirIncludeInclude3(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
472 m1 = matchmod.match(b'', b'', include=[b'path: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
|
473 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
474 im = matchmod.intersectmatchers(m1, m2) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
475 self.assertEqual(im.visitdir(b'.'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
476 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
|
477 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
|
478 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
|
479 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
|
480 self.assertFalse(im.visitdir(b'dir/subdir/z')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
481 # 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
|
482 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
|
483 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
484 def testVisitchildrensetIncludeInclude3(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
485 m1 = matchmod.match(b'', b'', include=[b'path: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
|
486 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
487 im = matchmod.intersectmatchers(m1, m2) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
488 self.assertEqual(im.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
489 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
|
490 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
|
491 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
|
492 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
|
493 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
|
494 # 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
|
495 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
|
496 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
497 # 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
|
498 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
499 def testVisitdirIncludeInclude4(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
500 m1 = matchmod.match(b'', b'', include=[b'path: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
|
501 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir/z']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
502 im = matchmod.intersectmatchers(m1, m2) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
503 # OPT: these next three could probably be False as well. |
38963
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.visitdir(b'.'), True) |
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.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
|
506 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
|
507 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
|
508 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
|
509 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
|
510 self.assertFalse(im.visitdir(b'dir/subdir/x')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
511 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
512 def testVisitchildrensetIncludeInclude4(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
513 m1 = matchmod.match(b'', b'', include=[b'path: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
|
514 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir/z']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
515 im = matchmod.intersectmatchers(m1, m2) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
516 # OPT: these next two could probably be set() as well. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
517 self.assertEqual(im.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
518 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
|
519 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
|
520 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
|
521 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
|
522 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
|
523 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
|
524 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
525 class UnionMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
526 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
527 def testVisitdirM2always(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
528 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
529 m2 = matchmod.alwaysmatcher(b'', b'') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
530 um = matchmod.unionmatcher([m1, m2]) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
531 # um should be equivalent to a alwaysmatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
532 self.assertEqual(um.visitdir(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
533 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
|
534 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
|
535 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
|
536 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
|
537 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
|
538 self.assertEqual(um.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
539 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
540 def testVisitchildrensetM2always(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
541 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
542 m2 = matchmod.alwaysmatcher(b'', b'') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
543 um = matchmod.unionmatcher([m1, m2]) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
544 # um should be equivalent to a alwaysmatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
545 self.assertEqual(um.visitchildrenset(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
546 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
|
547 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
|
548 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
|
549 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
|
550 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
|
551 self.assertEqual(um.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
552 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
553 def testVisitdirM1never(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
554 m1 = matchmod.nevermatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
555 m2 = matchmod.alwaysmatcher(b'', b'') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
556 um = matchmod.unionmatcher([m1, m2]) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
557 # um should be equivalent to a alwaysmatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
558 self.assertEqual(um.visitdir(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
559 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
|
560 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
|
561 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
|
562 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
|
563 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
|
564 self.assertEqual(um.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
565 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
566 def testVisitchildrensetM1never(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
567 m1 = matchmod.nevermatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
568 m2 = matchmod.alwaysmatcher(b'', b'') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
569 um = matchmod.unionmatcher([m1, m2]) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
570 # um should be equivalent to a alwaysmatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
571 self.assertEqual(um.visitchildrenset(b'.'), b'all') |
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(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
|
573 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
|
574 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
|
575 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
|
576 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
|
577 self.assertEqual(um.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
578 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
579 def testVisitdirM2never(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
580 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
581 m2 = matchmod.nevermatcher(b'', b'') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
582 um = matchmod.unionmatcher([m1, m2]) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
583 # um should be equivalent to a alwaysmatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
584 self.assertEqual(um.visitdir(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
585 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
|
586 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
|
587 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
|
588 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
|
589 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
|
590 self.assertEqual(um.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
591 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
592 def testVisitchildrensetM2never(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
593 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
594 m2 = matchmod.nevermatcher(b'', b'') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
595 um = matchmod.unionmatcher([m1, m2]) |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
596 # um should be equivalent to a alwaysmatcher. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
597 self.assertEqual(um.visitchildrenset(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
598 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
|
599 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
|
600 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
|
601 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
|
602 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
|
603 self.assertEqual(um.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
604 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
605 def testVisitdirM2SubdirPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
606 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
607 m2 = matchmod.match(b'', b'', patterns=[b'path:dir/subdir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
608 um = matchmod.unionmatcher([m1, m2]) |
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(um.visitdir(b'.'), b'all') |
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(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
|
611 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
|
612 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
|
613 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
|
614 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
|
615 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
|
616 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
617 def testVisitchildrensetM2SubdirPrefix(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
618 m1 = matchmod.alwaysmatcher(b'', b'') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
619 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
620 um = matchmod.unionmatcher([m1, m2]) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
621 self.assertEqual(um.visitchildrenset(b'.'), b'all') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
622 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
|
623 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
|
624 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
|
625 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
|
626 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
|
627 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
|
628 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
629 # 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
|
630 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
631 def testVisitdirIncludeIncludfe(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
632 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
633 m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
634 um = matchmod.unionmatcher([m1, m2]) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
635 self.assertEqual(um.visitdir(b'.'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
636 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
|
637 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
|
638 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
|
639 self.assertFalse(um.visitdir(b'folder')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
640 # 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
|
641 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
|
642 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
|
643 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
644 def testVisitchildrensetIncludeInclude(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
645 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
646 m2 = matchmod.match(b'', b'', include=[b'rootfilesin:dir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
647 um = matchmod.unionmatcher([m1, m2]) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
648 self.assertEqual(um.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
649 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
|
650 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
|
651 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
|
652 self.assertEqual(um.visitchildrenset(b'folder'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
653 # 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
|
654 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
|
655 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
|
656 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
657 # 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
|
658 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
659 def testVisitdirIncludeInclude2(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
660 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
661 m2 = matchmod.match(b'', b'', include=[b'path:folder']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
662 um = matchmod.unionmatcher([m1, m2]) |
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.visitdir(b'.'), True) |
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.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
|
665 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
|
666 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
|
667 self.assertEqual(um.visitdir(b'folder'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
668 # 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
|
669 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
|
670 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
|
671 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
672 def testVisitchildrensetIncludeInclude2(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
673 m1 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
674 m2 = matchmod.match(b'', b'', include=[b'path:folder']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
675 um = matchmod.unionmatcher([m1, m2]) |
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.visitchildrenset(b'.'), {b'folder', b'dir'}) |
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.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
|
678 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
|
679 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
|
680 self.assertEqual(um.visitchildrenset(b'folder'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
681 # 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
|
682 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
|
683 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
|
684 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
685 # 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
|
686 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
687 def testVisitdirIncludeInclude3(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
688 m1 = matchmod.match(b'', b'', include=[b'path: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
|
689 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
690 um = matchmod.unionmatcher([m1, m2]) |
38963
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.visitdir(b'.'), True) |
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.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
|
693 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
|
694 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
|
695 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
|
696 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
|
697 # 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
|
698 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
|
699 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
700 def testVisitchildrensetIncludeInclude3(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
701 m1 = matchmod.match(b'', b'', include=[b'path: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
|
702 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
703 um = matchmod.unionmatcher([m1, m2]) |
38963
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.visitchildrenset(b'.'), {b'dir'}) |
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.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
|
706 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
|
707 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
|
708 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
|
709 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
|
710 # 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
|
711 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
|
712 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
713 # 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
|
714 # better (giving narrower results) than patternmatcher. |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
715 def testVisitdirIncludeInclude4(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
716 m1 = matchmod.match(b'', b'', include=[b'path: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
|
717 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir/z']) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
718 um = matchmod.unionmatcher([m1, m2]) |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
719 # OPT: these next three could probably be False as well. |
38963
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.visitdir(b'.'), True) |
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.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
|
722 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
|
723 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
|
724 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
|
725 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
|
726 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
|
727 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
728 def testVisitchildrensetIncludeInclude4(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
729 m1 = matchmod.match(b'', b'', include=[b'path: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
|
730 m2 = matchmod.match(b'', b'', include=[b'path:dir/subdir/z']) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
731 um = matchmod.unionmatcher([m1, m2]) |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
732 self.assertEqual(um.visitchildrenset(b'.'), {b'dir'}) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
733 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
|
734 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
|
735 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
|
736 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
|
737 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
|
738 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
|
739 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
740 class SubdirMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
741 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
742 def testVisitdir(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
743 m = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
744 sm = matchmod.subdirmatcher(b'dir', m) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
745 |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
746 self.assertEqual(sm.visitdir(b'.'), True) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
747 self.assertEqual(sm.visitdir(b'subdir'), b'all') |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
748 # 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
|
749 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
|
750 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
|
751 self.assertFalse(sm.visitdir(b'foo')) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
752 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
753 def testVisitchildrenset(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
754 m = matchmod.match(b'', b'', include=[b'path:dir/subdir']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
755 sm = matchmod.subdirmatcher(b'dir', m) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
756 |
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(sm.visitchildrenset(b'.'), {b'subdir'}) |
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(sm.visitchildrenset(b'subdir'), b'all') |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
759 # 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
|
760 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
|
761 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
|
762 self.assertEqual(sm.visitchildrenset(b'foo'), set()) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
763 |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
764 class PrefixdirMatcherTests(unittest.TestCase): |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
765 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
766 def testVisitdir(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
767 m = matchmod.match(util.localpath(b'root/d'), b'e/f', |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
768 [b'../a.txt', b'b.txt']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
769 pm = matchmod.prefixdirmatcher(b'root', b'd/e/f', b'd', m) |
38953
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
770 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
771 # `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
|
772 # 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
|
773 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
|
774 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
|
775 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
|
776 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
|
777 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
|
778 |
987d3a4b989f
match: add tests for visitdir functionality
spectral <spectral@google.com>
parents:
33582
diff
changeset
|
779 # 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
|
780 # 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
|
781 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
|
782 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
|
783 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
|
784 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
|
785 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
|
786 |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
787 self.assertEqual(m.visitdir(b'.'), True) |
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(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
|
789 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
|
790 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
|
791 |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
792 self.assertEqual(pm.visitdir(b'.'), True) |
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(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
|
794 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
|
795 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
|
796 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
|
797 |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
798 def testVisitchildrenset(self): |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
799 m = matchmod.match(util.localpath(b'root/d'), b'e/f', |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
800 [b'../a.txt', b'b.txt']) |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
801 pm = matchmod.prefixdirmatcher(b'root', b'd/e/f', b'd', m) |
38955
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
802 |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
803 # 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
|
804 # next two, respectively; patternmatcher does not have this |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
805 # optimization. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
806 self.assertEqual(m.visitchildrenset(b'.'), b'this') |
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(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
|
808 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
|
809 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
|
810 |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
811 # OPT: visitchildrenset could possibly return {'d'}, {'e'}, and {'f'} |
081cc9a95b65
match: add visitchildrenset complement to visitdir
spectral <spectral@google.com>
parents:
38953
diff
changeset
|
812 # 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
|
813 # optimization. |
38963
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
814 self.assertEqual(pm.visitchildrenset(b'.'), b'this') |
467b5c1df72d
tests: make all the string constants in test-match.py be bytes
Augie Fackler <augie@google.com>
parents:
38958
diff
changeset
|
815 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
|
816 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
|
817 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
|
818 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
|
819 |
33582
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
820 if __name__ == '__main__': |
44bc181b9835
match: override visitdir() in nevermatcher to return False
Martin von Zweigbergk <martinvonz@google.com>
parents:
diff
changeset
|
821 silenttestrunner.main(__name__) |