166
def test_get_file_text(self):
167
work_tree = self.make_branch_and_tree('wt')
168
tree = self.get_tree_no_parents_abc_content_2(work_tree)
170
self.addCleanup(tree.unlock)
171
# test read by file-id
172
self.assertEqual('foobar\n', tree.get_file_text('a-id'))
174
self.assertEqual('foobar\n', tree.get_file_text('a-id', path='a'))
176
def test_get_file_lines(self):
177
work_tree = self.make_branch_and_tree('wt')
178
tree = self.get_tree_no_parents_abc_content_2(work_tree)
180
self.addCleanup(tree.unlock)
181
# test read by file-id
182
self.assertEqual(['foobar\n'], tree.get_file_lines('a-id'))
184
self.assertEqual(['foobar\n'], tree.get_file_lines('a-id', path='a'))
186
def test_get_file_lines_multi_line_breaks(self):
187
work_tree = self.make_branch_and_tree('wt')
188
self.build_tree_contents([('wt/foobar', 'a\rb\nc\r\nd')])
189
work_tree.add('foobar', 'foobar-id')
190
tree = self._convert_tree(work_tree)
192
self.addCleanup(tree.unlock)
193
self.assertEqual(['a\rb\n', 'c\r\n', 'd'],
194
tree.get_file_lines('foobar-id'))
162
197
class TestExtractFilesBytes(TestCaseWithTree):
189
224
work_tree = self.make_branch_and_tree('wt')
190
225
tree = self._convert_tree(work_tree)
191
226
self.assertIsInstance(tree.conflicts(), conflicts.ConflictList)
229
class TestIterEntriesByDir(TestCaseWithTree):
231
def test_iteration_order(self):
232
work_tree = self.make_branch_and_tree('.')
233
self.build_tree(['a/', 'a/b/', 'a/b/c', 'a/d/', 'a/d/e', 'f/', 'f/g'])
234
work_tree.add(['a', 'a/b', 'a/b/c', 'a/d', 'a/d/e', 'f', 'f/g'])
235
tree = self._convert_tree(work_tree)
236
output_order = [p for p, e in tree.iter_entries_by_dir()]
237
self.assertEqual(['', 'a', 'f', 'a/b', 'a/d', 'a/b/c', 'a/d/e', 'f/g'],
241
class TestHasId(TestCaseWithTree):
243
def test_has_id(self):
244
work_tree = self.make_branch_and_tree('tree')
245
self.build_tree(['tree/file'])
246
work_tree.add('file', 'file-id')
247
tree = self._convert_tree(work_tree)
249
self.addCleanup(tree.unlock)
250
self.assertTrue(tree.has_id('file-id'))
251
self.assertFalse(tree.has_id('dir-id'))
253
def test___contains__(self):
254
work_tree = self.make_branch_and_tree('tree')
255
self.build_tree(['tree/file'])
256
work_tree.add('file', 'file-id')
257
tree = self._convert_tree(work_tree)
259
self.addCleanup(tree.unlock)
260
self.assertTrue('file-id' in tree)
261
self.assertFalse('dir-id' in tree)
264
class TestExtras(TestCaseWithTree):
266
def test_extras(self):
267
work_tree = self.make_branch_and_tree('tree')
268
self.build_tree(['tree/file', 'tree/versioned-file'])
269
work_tree.add(['file', 'versioned-file'])
270
work_tree.commit('add files')
271
work_tree.remove('file')
272
tree = self._convert_tree(work_tree)
274
(revisiontree.RevisionTree,
275
workingtree_4.DirStateRevisionTree)):
280
self.addCleanup(tree.unlock)
281
self.assertEqual(expected, list(tree.extras()))
284
class TestGetFileSha1(TestCaseWithTree):
286
def test_get_file_sha1(self):
287
work_tree = self.make_branch_and_tree('tree')
288
self.build_tree_contents([('tree/file', 'file content')])
289
work_tree.add('file', 'file-id')
290
tree = self._convert_tree(work_tree)
292
self.addCleanup(tree.unlock)
293
expected = osutils.sha_strings('file content')
294
self.assertEqual(expected, tree.get_file_sha1('file-id'))