/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/per_tree/test_tree.py

  • Committer: Jelmer Vernooij
  • Date: 2018-03-24 17:48:04 UTC
  • mfrom: (6921 work)
  • mto: This revision was merged to the branch mainline in revision 6923.
  • Revision ID: jelmer@jelmer.uk-20180324174804-xf22o05byoj12x1q
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
        work_b = work_a.controldir.sprout('wtb').open_workingtree()
57
57
        self.build_tree_contents([('wta/file', 'b\nc\nd\ne\n')])
58
58
        tree_a = self.workingtree_to_test_tree(work_a)
 
59
        if getattr(tree_a, 'plan_file_merge', None) is None:
 
60
            raise tests.TestNotApplicable('Tree does not support plan_file_merge')
59
61
        tree_a.lock_read()
60
62
        self.addCleanup(tree_a.unlock)
61
63
        self.build_tree_contents([('wtb/file', 'a\nc\nd\nf\n')])
116
118
        if root_id is not None:
117
119
            self.assertIsInstance(root_id, str)
118
120
 
 
121
    def test_is_versioned(self):
 
122
        tree = self.make_branch_and_tree('tree')
 
123
        self.assertTrue(tree.is_versioned(''))
 
124
        self.assertFalse(tree.is_versioned('blah'))
 
125
        self.build_tree(['tree/dir/', 'tree/dir/file'])
 
126
        self.assertFalse(tree.is_versioned('dir'))
 
127
        self.assertFalse(tree.is_versioned('dir/'))
 
128
        tree.add(['dir', 'dir/file'])
 
129
        self.assertTrue(tree.is_versioned('dir'))
 
130
        self.assertTrue(tree.is_versioned('dir/'))
 
131
 
119
132
 
120
133
class TestFileIds(TestCaseWithTree):
121
134
 
124
137
        work_tree = self.make_branch_and_tree('wt')
125
138
        tree = self.get_tree_no_parents_abc_content(work_tree)
126
139
        a_id = tree.path2id('a')
127
 
        tree.lock_read()
128
 
        try:
 
140
        with tree.lock_read():
129
141
            self.assertEqual(u'a', tree.id2path(a_id))
130
142
            # other ids give an error- don't return None for this case
131
143
            self.assertRaises(errors.NoSuchId, tree.id2path, 'a')
132
 
        finally:
133
 
            tree.unlock()
134
144
 
135
145
    def test_all_file_ids(self):
136
146
        work_tree = self.make_branch_and_tree('wt')
222
232
        tree.lock_read()
223
233
        self.addCleanup(tree.unlock)
224
234
        extracted = dict((i, ''.join(b)) for i, b in
225
 
                         tree.iter_files_bytes([(tree.path2id('foo'), 'id1'),
226
 
                                                (tree.path2id('bar'), 'id2'),
227
 
                                                (tree.path2id('baz'), 'id3')]))
 
235
                         tree.iter_files_bytes([('foo', 'id1'),
 
236
                                                ('bar', 'id2'),
 
237
                                                ('baz', 'id3')]))
228
238
        self.assertEqual('foo', extracted['id1'])
229
239
        self.assertEqual('bar', extracted['id2'])
230
240
        self.assertEqual('baz', extracted['id3'])
231
 
        self.assertRaises(errors.NoSuchId, lambda: list(
 
241
        self.assertRaises(errors.NoSuchFile, lambda: list(
232
242
                          tree.iter_files_bytes(
233
 
                          [('qux-id', 'file1-notpresent')])))
 
243
                          [('qux', 'file1-notpresent')])))
234
244
 
235
245
 
236
246
class TestConflicts(TestCaseWithTree):
349
359
    def test_has_versioned_directories(self):
350
360
        work_tree = self.make_branch_and_tree('tree')
351
361
        tree = self._convert_tree(work_tree)
352
 
        self.assertSubset([tree.has_versioned_directories()], (True, False))
 
362
        self.assertIn(tree.has_versioned_directories(), (True, False))
 
363
 
 
364
 
 
365
class TestSupportsRenameTracking(TestCaseWithTree):
 
366
 
 
367
    def test_supports_rename_tracking(self):
 
368
        work_tree = self.make_branch_and_tree('tree')
 
369
        tree = self._convert_tree(work_tree)
 
370
        self.assertSubset([tree.supports_rename_tracking()], (True, False))