6
from bzrlib.selftest import InTempDir, TestCase
4
from bzrlib.selftest import TestCaseInTempDir, TestCase
7
5
from bzrlib.branch import ScratchBranch, Branch
8
6
from bzrlib.errors import NotBranchError, NotVersionedError
11
class TestBranch(InTempDir):
9
class TestBranch(TestCaseInTempDir):
13
11
def test_unknowns(self):
14
b = Branch('.', init=True)
12
b = Branch.initialize('.')
16
14
self.build_tree(['hello.txt',
22
20
def test_no_changes(self):
23
21
from bzrlib.errors import PointlessCommit
25
b = Branch('.', init=True)
23
b = Branch.initialize('.')
27
25
self.build_tree(['hello.txt'])
72
67
'Martin Pool <mbp@sourcefrog.net>-20050311061123-96a255005c7c9dbe')
75
class PendingMerges(InTempDir):
77
def test_pending_merges(self):
78
"""Tracking pending-merged revisions."""
79
b = Branch('.', init=True)
81
self.assertEquals(b.pending_merges(), [])
82
b.add_pending_merge('foo@azkhazan-123123-abcabc')
83
self.assertEquals(b.pending_merges(), ['foo@azkhazan-123123-abcabc'])
84
b.add_pending_merge('foo@azkhazan-123123-abcabc')
85
self.assertEquals(b.pending_merges(), ['foo@azkhazan-123123-abcabc'])
86
b.add_pending_merge('wibble@fofof--20050401--1928390812')
87
self.assertEquals(b.pending_merges(),
88
['foo@azkhazan-123123-abcabc',
89
'wibble@fofof--20050401--1928390812'])
90
b.commit("commit from base with two merges")
91
rev = b.get_revision(b.revision_history()[0])
92
self.assertEquals(len(rev.parents), 2)
93
self.assertEquals(rev.parents[0].revision_id,
94
'foo@azkhazan-123123-abcabc')
95
self.assertEquals(rev.parents[1].revision_id,
96
'wibble@fofof--20050401--1928390812')
97
# list should be cleared when we do a commit
98
self.assertEquals(b.pending_merges(), [])
70
class MoreTests(TestCaseInTempDir):
100
72
def test_revert(self):
101
73
"""Test selected-file revert"""
102
b = Branch('.', init=True)
74
b = Branch.initialize('.')
104
76
self.build_tree(['hello.txt'])
105
77
file('hello.txt', 'w').write('initial hello')
127
99
def test_rename_dirs(self):
128
100
"""Test renaming directories and the files within them."""
129
b = Branch('.', init=True)
101
b = Branch.initialize('.')
130
102
self.build_tree(['dir/', 'dir/sub/', 'dir/sub/file'])
131
103
b.add(['dir', 'dir/sub', 'dir/sub/file'])
197
169
# directory, or nearby
200
self.assertEqual(rp('foo/bar/quux'), 'foo/bar/quux')
172
FOO_BAR_QUUX = os.path.join('foo', 'bar', 'quux')
173
self.assertEqual(rp('foo/bar/quux'), FOO_BAR_QUUX)
202
175
self.assertEqual(rp('foo'), 'foo')