172
175
special = tree.get_special_file('a')
173
176
self.assertEqual(None, special)
178
def test_get_file_text(self):
179
work_tree = self.make_branch_and_tree('wt')
180
tree = self.get_tree_no_parents_abc_content_2(work_tree)
182
self.addCleanup(tree.unlock)
183
# test read by file-id
184
self.assertEqual('foobar\n', tree.get_file_text('a-id'))
186
self.assertEqual('foobar\n', tree.get_file_text('a-id', path='a'))
188
def test_get_file_lines(self):
189
work_tree = self.make_branch_and_tree('wt')
190
tree = self.get_tree_no_parents_abc_content_2(work_tree)
192
self.addCleanup(tree.unlock)
193
# test read by file-id
194
self.assertEqual(['foobar\n'], tree.get_file_lines('a-id'))
196
self.assertEqual(['foobar\n'], tree.get_file_lines('a-id', path='a'))
198
def test_get_file_lines_multi_line_breaks(self):
199
work_tree = self.make_branch_and_tree('wt')
200
self.build_tree_contents([('wt/foobar', 'a\rb\nc\r\nd')])
201
work_tree.add('foobar', 'foobar-id')
202
tree = self._convert_tree(work_tree)
204
self.addCleanup(tree.unlock)
205
self.assertEqual(['a\rb\n', 'c\r\n', 'd'],
206
tree.get_file_lines('foobar-id'))
176
209
class TestExtractFilesBytes(TestCaseWithTree):
215
248
output_order = [p for p, e in tree.iter_entries_by_dir()]
216
249
self.assertEqual(['', 'a', 'f', 'a/b', 'a/d', 'a/b/c', 'a/d/e', 'f/g'],
253
class TestHasId(TestCaseWithTree):
255
def test_has_id(self):
256
work_tree = self.make_branch_and_tree('tree')
257
self.build_tree(['tree/file'])
258
work_tree.add('file', 'file-id')
259
tree = self._convert_tree(work_tree)
261
self.addCleanup(tree.unlock)
262
self.assertTrue(tree.has_id('file-id'))
263
self.assertFalse(tree.has_id('dir-id'))
265
def test___contains__(self):
266
work_tree = self.make_branch_and_tree('tree')
267
self.build_tree(['tree/file'])
268
work_tree.add('file', 'file-id')
269
tree = self._convert_tree(work_tree)
271
self.addCleanup(tree.unlock)
272
self.assertTrue('file-id' in tree)
273
self.assertFalse('dir-id' in tree)
276
class TestExtras(TestCaseWithTree):
278
def test_extras(self):
279
work_tree = self.make_branch_and_tree('tree')
280
self.build_tree(['tree/file', 'tree/versioned-file'])
281
work_tree.add(['file', 'versioned-file'])
282
work_tree.commit('add files')
283
work_tree.remove('file')
284
tree = self._convert_tree(work_tree)
286
(revisiontree.RevisionTree,
287
workingtree_4.DirStateRevisionTree)):
292
self.addCleanup(tree.unlock)
293
self.assertEqual(expected, list(tree.extras()))
296
class TestGetFileSha1(TestCaseWithTree):
298
def test_get_file_sha1(self):
299
work_tree = self.make_branch_and_tree('tree')
300
self.build_tree_contents([('tree/file', 'file content')])
301
work_tree.add('file', 'file-id')
302
tree = self._convert_tree(work_tree)
304
self.addCleanup(tree.unlock)
305
expected = osutils.sha_strings('file content')
306
self.assertEqual(expected, tree.get_file_sha1('file-id'))