20
20
from bzrlib.branch import Branch
22
from bzrlib.osutils import abspath, realpath, getcwd
23
from bzrlib.urlutils import local_path_from_url, local_path_to_url, escape
21
from bzrlib.osutils import abspath, realpath
24
22
from bzrlib.tests import TestCaseWithTransport
35
33
self.assertEquals(b.get_parent(), None)
37
35
def test_set_get_parent(self):
38
"""Set, re-get and reset the parent"""
36
"""Set and then re-get the parent"""
39
37
b = self.make_branch('.')
40
url = 'http://bazaar-vcs.org/bzr/bzr.dev'
38
url = 'http://bazaar-ng.org/bzr/bzr.dev'
42
40
self.assertEquals(b.get_parent(), url)
43
self.assertEqual(b.control_files.get('parent').read().strip('\n'), url)
46
self.assertEquals(b.get_parent(), None)
48
b.set_parent('../other_branch')
51
self.assertEquals(b.get_parent(), local_path_to_url('../other_branch'))
52
path = local_path_to_url('../yanb')
54
self.assertEqual(b.control_files.get('parent').read().strip('\n'),
56
self.assertEqual(b.get_parent(), path)
59
self.assertRaises(bzrlib.errors.InvalidURL, b.set_parent, u'\xb5')
60
b.set_parent(escape(u'\xb5'))
61
self.assertEqual(b.control_files.get('parent').read().strip('\n'),
64
self.assertEqual(b.get_parent(), b.base + '%C2%B5')
42
def test_branch_sets_parent(self):
43
"""The branch command should set the new branch's parent"""
44
from bzrlib.commands import run_bzr
46
wt = self.make_branch_and_tree('from')
47
branch_from = wt.branch
48
file('from/foo', 'wt').write('contents of foo')
50
wt.commit('initial commit')
53
branch_to = branch_from.clone('to', None)
54
self.assertEquals(branch_to.get_parent(), branch_from.base)