~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

merge trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
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")