~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/branch_implementations/test_parent.py

  • Committer: Martin Pool
  • Date: 2006-06-20 07:55:43 UTC
  • mfrom: (1798 +trunk)
  • mto: This revision was merged to the branch mainline in revision 1799.
  • Revision ID: mbp@sourcefrog.net-20060620075543-b10f6575d4a4fa32
[merge] bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
 
18
import cStringIO
18
19
import os
 
20
import sys
19
21
 
20
22
from bzrlib.branch import Branch
21
 
from bzrlib.osutils import abspath, realpath
 
23
import bzrlib.errors
 
24
from bzrlib.osutils import abspath, realpath, getcwd
 
25
from bzrlib.urlutils import local_path_from_url, local_path_to_url, escape
22
26
from bzrlib.tests import TestCaseWithTransport
23
27
 
24
28
 
30
34
    def test_no_default_parent(self):
31
35
        """Branches should have no parent by default"""
32
36
        b = self.make_branch('.')
33
 
        self.assertEquals(b.get_parent(), None)
 
37
        self.assertEqual(None, b.get_parent())
34
38
        
35
39
    def test_set_get_parent(self):
36
40
        """Set, re-get and reset the parent"""
37
41
        b = self.make_branch('.')
38
42
        url = 'http://bazaar-vcs.org/bzr/bzr.dev'
39
43
        b.set_parent(url)
40
 
        self.assertEquals(b.get_parent(), url)
 
44
        self.assertEqual(url, b.get_parent())
 
45
        self.assertEqual(url, b.control_files.get('parent').read().strip('\n'))
 
46
 
41
47
        b.set_parent(None)
42
 
        self.assertEquals(b.get_parent(), None)
 
48
        self.assertEqual(None, b.get_parent())
 
49
 
 
50
        b.set_parent('../other_branch')
 
51
        cwd = getcwd()
 
52
 
 
53
        self.assertEqual(local_path_to_url('../other_branch'), b.get_parent())
 
54
        path = local_path_to_url('../yanb')
 
55
        b.set_parent(path)
 
56
        self.assertEqual('../yanb',
 
57
            b.control_files.get('parent').read().strip('\n'))
 
58
        self.assertEqual(path, b.get_parent())
 
59
 
 
60
 
 
61
        self.assertRaises(bzrlib.errors.InvalidURL, b.set_parent, u'\xb5')
 
62
        b.set_parent(escape(u'\xb5'))
 
63
        self.assertEqual('%C2%B5', 
 
64
            b.control_files.get('parent').read().strip('\n'))
 
65
 
 
66
        self.assertEqual(b.base + '%C2%B5', b.get_parent())
 
67
 
 
68
        # Handle the case for older style absolute local paths
 
69
        if sys.platform == 'win32':
 
70
            # TODO: jam 20060515 Do we want to special case Windows local
 
71
            #       paths as well? Nobody has complained about it.
 
72
            pass
 
73
        else:
 
74
            b.control_files.put('parent', cStringIO.StringIO('/local/abs/path'))
 
75
            self.assertEqual('file:///local/abs/path', b.get_parent())
 
76