~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/test_transform.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2006-04-10 05:15:38 UTC
  • mfrom: (1534.10.29 bzr.ttransform)
  • Revision ID: pqm@pqm.ubuntu.com-20060410051538-e33ae09cf879c95b
Use numbered backups when reverting

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
                           ExistingLimbo, ImmortalLimbo, LockError)
25
25
from bzrlib.osutils import file_kind, has_symlinks, pathjoin
26
26
from bzrlib.merge import Merge3Merger
27
 
from bzrlib.tests import TestCaseInTempDir, TestSkipped
 
27
from bzrlib.tests import TestCaseInTempDir, TestSkipped, TestCase
28
28
from bzrlib.transform import (TreeTransform, ROOT_PARENT, FinalPaths, 
29
29
                              resolve_conflicts, cook_conflicts, 
30
 
                              find_interesting, build_tree)
 
30
                              find_interesting, build_tree, get_backup_name)
31
31
 
32
32
class TestTreeTransform(TestCaseInTempDir):
33
33
    def setUp(self):
700
700
        self.assertIs(os.path.isdir('b/foo'), True)
701
701
        self.assertEqual(file('b/foo/bar', 'rb').read(), "contents")
702
702
        self.assertEqual(os.readlink('b/foo/baz'), 'a/foo/bar')
 
703
        
 
704
class MockTransform(object):
 
705
 
 
706
    def has_named_child(self, by_parent, parent_id, name):
 
707
        for child_id in by_parent[parent_id]:
 
708
            if child_id == '0':
 
709
                if name == "name~":
 
710
                    return True
 
711
            elif name == "name.~%s~" % child_id:
 
712
                return True
 
713
        return False
 
714
 
 
715
class MockEntry(object):
 
716
    def __init__(self):
 
717
        object.__init__(self)
 
718
        self.name = "name"
 
719
 
 
720
class TestGetBackupName(TestCase):
 
721
    def test_get_backup_name(self):
 
722
        tt = MockTransform()
 
723
        name = get_backup_name(MockEntry(), {'a':[]}, 'a', tt)
 
724
        self.assertEqual(name, 'name.~1~')
 
725
        name = get_backup_name(MockEntry(), {'a':['1']}, 'a', tt)
 
726
        self.assertEqual(name, 'name.~2~')
 
727
        name = get_backup_name(MockEntry(), {'a':['2']}, 'a', tt)
 
728
        self.assertEqual(name, 'name.~1~')
 
729
        name = get_backup_name(MockEntry(), {'a':['2'], 'b':[]}, 'b', tt)
 
730
        self.assertEqual(name, 'name.~1~')
 
731
        name = get_backup_name(MockEntry(), {'a':['1', '2', '3']}, 'a', tt)
 
732
        self.assertEqual(name, 'name.~4~')