~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/per_workingtree/test_rename_one.py

  • Committer: John Arbash Meinel
  • Date: 2011-05-11 11:35:28 UTC
  • mto: This revision was merged to the branch mainline in revision 5851.
  • Revision ID: john@arbash-meinel.com-20110511113528-qepibuwxicjrbb2h
Break compatibility with python <2.6.

This includes auditing the code for places where we were doing
explicit 'sys.version' checks and removing them as appropriate.

Show diffs side-by-side

added added

removed removed

Lines of Context:
91
91
                              tree)
92
92
        self.assertTreeLayout([('', root_id), ('a', 'a-id'), ('b', 'b-id')],
93
93
                              tree.basis_tree())
94
 
        self.failIfExists('a')
 
94
        self.assertPathDoesNotExist('a')
95
95
        self.assertFileEqual(a_contents, 'foo')
96
96
 
97
97
    def test_rename_one_not_localdir(self):
107
107
                              tree)
108
108
        self.assertTreeLayout([('', root_id), ('a', 'a-id'), ('b', 'b-id')],
109
109
                              tree.basis_tree())
110
 
        self.failIfExists('tree/a')
 
110
        self.assertPathDoesNotExist('tree/a')
111
111
        self.assertFileEqual(a_contents, 'tree/b/foo')
112
112
 
113
113
    def test_rename_one_subdir(self):
126
126
                               ('b/d', 'a-id')], tree)
127
127
        self.assertTreeLayout([('', root_id), ('a', 'a-id'), ('b', 'b-id'),
128
128
                               ('b/c', 'c-id')], tree.basis_tree())
129
 
        self.failIfExists('a')
 
129
        self.assertPathDoesNotExist('a')
130
130
        self.assertFileEqual(a_contents, 'b/d')
131
131
 
132
132
    def test_rename_one_parent_dir(self):
141
141
                               ('d', 'c-id')], tree)
142
142
        self.assertTreeLayout([('', root_id), ('a', 'a-id'), ('b', 'b-id'),
143
143
                               ('b/c', 'c-id')], tree.basis_tree())
144
 
        self.failIfExists('b/c')
 
144
        self.assertPathDoesNotExist('b/c')
145
145
        self.assertFileEqual(c_contents, 'd')
146
146
 
147
147
    def test_rename_one_fail_consistent(self):
221
221
                              tree.basis_tree())
222
222
 
223
223
    def test_rename_one_after_source_removed(self):
224
 
        """Rename even if the source was removed from the inventory already"""
 
224
        """Rename even if the source was already unversioned."""
225
225
        tree = self.make_branch_and_tree('.')
226
226
        self.build_tree(['a', 'b/'])
227
227
        tree.add(['a', 'b'], ['a-id', 'b-id'])
336
336
        tree.add(['a'])
337
337
        self.assertRaises((errors.InvalidNormalization, UnicodeEncodeError),
338
338
            tree.rename_one, 'a', u'ba\u030arry')
 
339
 
 
340
    def test_rename_unversioned_non_ascii(self):
 
341
        """Check error when renaming an unversioned non-ascii file"""
 
342
        self.requireFeature(tests.UnicodeFilename)
 
343
        tree = self.make_branch_and_tree(".")
 
344
        self.build_tree([u"\xA7"])
 
345
        e = self.assertRaises(errors.BzrRenameFailedError,
 
346
            tree.rename_one, u"\xA7", "b")
 
347
        self.assertIsInstance(e.extra, errors.NotVersionedError)
 
348
        self.assertEqual(e.extra.path, u"\xA7")
 
349
 
 
350
    def test_rename_into_unversioned_non_ascii_dir(self):
 
351
        """Check error when renaming into unversioned non-ascii directory"""
 
352
        self.requireFeature(tests.UnicodeFilename)
 
353
        tree = self.make_branch_and_tree(".")
 
354
        self.build_tree(["a", u"\xA7/"])
 
355
        tree.add(["a"])
 
356
        e = self.assertRaises(errors.BzrMoveFailedError,
 
357
            tree.rename_one, "a", u"\xA7/a")
 
358
        self.assertIsInstance(e.extra, errors.NotVersionedError)
 
359
        self.assertEqual(e.extra.path, u"\xA7")
 
360
 
 
361
    def test_rename_over_already_versioned_non_ascii(self):
 
362
        """Check error renaming over an already versioned non-ascii file"""
 
363
        self.requireFeature(tests.UnicodeFilename)
 
364
        tree = self.make_branch_and_tree(".")
 
365
        self.build_tree(["a", u"\xA7"])
 
366
        tree.add(["a", u"\xA7"])
 
367
        e = self.assertRaises(errors.BzrMoveFailedError,
 
368
            tree.rename_one, "a", u"\xA7")
 
369
        self.assertIsInstance(e.extra, errors.AlreadyVersionedError)
 
370
        self.assertEqual(e.extra.path, u"\xA7")
 
371
 
 
372
    def test_rename_after_non_existant_non_ascii(self):
 
373
        """Check error renaming after move with missing non-ascii file"""
 
374
        self.requireFeature(tests.UnicodeFilename)
 
375
        tree = self.make_branch_and_tree(".")
 
376
        self.build_tree(["a"])
 
377
        tree.add(["a"])
 
378
        e = self.assertRaises(errors.BzrMoveFailedError,
 
379
            tree.rename_one, "a", u"\xA7", after=True)
 
380
        self.assertIsInstance(e.extra, errors.NoSuchFile)
 
381
        self.assertEqual(e.extra.path, u"\xA7")