146
149
self.assertEquals(
147
150
"[u'', u'a'] != [u'', u'a', u'b/', u'b/c']",
148
151
mismatch.describe())
154
class TestContainsNoVfsCalls(TestCase):
156
def _make_call(self, method, args):
157
return CapturedCall(CallHookParams(method, args, None, None, None), 0)
159
def test__str__(self):
160
self.assertEqual("ContainsNoVfsCalls()", str(ContainsNoVfsCalls()))
162
def test_empty(self):
163
self.assertIs(None, ContainsNoVfsCalls().match([]))
165
def test_no_vfs_calls(self):
166
calls = [self._make_call("Branch.get_config_file", [])]
167
self.assertIs(None, ContainsNoVfsCalls().match(calls))
169
def test_ignores_unknown(self):
170
calls = [self._make_call("unknown", [])]
171
self.assertIs(None, ContainsNoVfsCalls().match(calls))
173
def test_match(self):
174
calls = [self._make_call("append", ["file"]),
175
self._make_call("Branch.get_config_file", [])]
176
mismatch = ContainsNoVfsCalls().match(calls)
177
self.assertIsNot(None, mismatch)
178
self.assertEquals([calls[0].call], mismatch.vfs_calls)
179
self.assertEquals("no VFS calls expected, got: append('file')""",
183
class TestRevisionHistoryMatches(TestCaseWithTransport):
185
def test_empty(self):
186
tree = self.make_branch_and_tree('.')
187
matcher = RevisionHistoryMatches([])
188
self.assertIs(None, matcher.match(tree.branch))
190
def test_matches(self):
191
tree = self.make_branch_and_tree('.')
192
tree.commit('msg1', rev_id='a')
193
tree.commit('msg2', rev_id='b')
194
matcher = RevisionHistoryMatches(['a', 'b'])
195
self.assertIs(None, matcher.match(tree.branch))
197
def test_mismatch(self):
198
tree = self.make_branch_and_tree('.')
199
tree.commit('msg1', rev_id='a')
200
tree.commit('msg2', rev_id='b')
201
matcher = RevisionHistoryMatches(['a', 'b', 'c'])
203
"['a', 'b', 'c'] != ['a', 'b']",
204
matcher.match(tree.branch).describe())