24
24
from bzrlib.selftest import TestCaseInTempDir
25
25
from bzrlib.revisionspec import RevisionSpec
26
from bzrlib.merge import merge
27
from cStringIO import StringIO
28
from bzrlib.status import show_status
29
from bzrlib.branch import Branch
31
from bzrlib.clone import copy_branch
27
33
class BranchStatus(TestCaseInTempDir):
43
49
self.build_tree(['hello.c', 'bye.c'])
44
b.add_pending_merge('pending@pending-0-0')
50
b.working_tree().add_pending_merge('pending@pending-0-0')
45
51
show_status(b, to_file=tof)
47
53
self.assertEquals(tof.readlines(),
55
61
def test_branch_status_revisions(self):
56
62
"""Tests branch status with revisions"""
57
from cStringIO import StringIO
58
from bzrlib.status import show_status
59
from bzrlib.branch import Branch
61
64
b = Branch.initialize('.')
99
def status_string(self, branch):
101
show_status(branch, to_file=tof)
103
return tof.getvalue()
105
def test_pending(self):
106
"""Pending merges display works"""
108
b = Branch.initialize('./branch')
109
b.working_tree().commit("Empty commit 1")
110
b_2 = copy_branch(b, './copy')
111
b.working_tree().commit("Empty commit 2")
112
merge(["./branch", -1], [None, None], this_dir = './copy')
113
message = self.status_string(b_2)
114
self.assert_(message.startswith("pending merges:\n"))
115
self.assert_(message.endswith("Empty commit 2\n"))
116
b_2.working_tree().commit("merged")
117
# must be long to make sure we see elipsis at the end
118
b.working_tree().commit("Empty commit 3 blah blah blah blah blah blah blah blah blah"
119
" blah blah blah blah blah blah bleh")
120
merge(["./branch", -1], [None, None], this_dir = './copy')
121
message = self.status_string(b_2)
122
self.assert_(message.startswith("pending merges:\n"))
123
self.assert_("Empty commit 3" in message)
124
self.assert_(message.endswith("...\n"))
96
126
def test_branch_status_specific_files(self):
97
127
"""Tests branch status with given specific files"""
98
128
from cStringIO import StringIO
104
134
self.build_tree(['directory/','directory/hello.c', 'bye.c','test.c','dir2/'])
105
135
b.add('directory')
137
b.working_tree().commit('testing')
110
140
show_status(b, to_file=tof)