~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/teststatus.py

  • Committer: Robert Collins
  • Date: 2005-10-17 11:56:54 UTC
  • mfrom: (1185.16.59)
  • Revision ID: robertc@robertcollins.net-20051017115654-662239e1587524a8
mergeĀ fromĀ martin.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
 
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
 
30
from os import mkdir
 
31
from bzrlib.clone import copy_branch
26
32
 
27
33
class BranchStatus(TestCaseInTempDir):
28
34
    
54
60
 
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
60
63
        
61
64
        b = Branch.initialize('.')
62
65
 
93
96
                           '  bye.c\n',
94
97
                           '  hello.c\n'])
95
98
 
 
99
    def status_string(self, branch):
 
100
        tof = StringIO()
 
101
        show_status(branch, to_file=tof)
 
102
        tof.seek(0)
 
103
        return tof.getvalue()
 
104
 
 
105
    def test_pending(self):
 
106
        """Pending merges display works"""
 
107
        mkdir("./branch")
 
108
        b = Branch.initialize('./branch')
 
109
        b.commit("Empty commit 1")
 
110
        b_2 = copy_branch(b, './copy')
 
111
        b.commit("Empty commit 2")
 
112
        merge(["./branch", -1], [None, None], this_dir = './copy')
 
113
        message = self.status_string(b_2)
 
114
        assert (message.startswith("pending merges:\n")), message
 
115
        assert (message.endswith("Empty commit 2\n")), message 
 
116
        b_2.commit("merged")
 
117
        b.commit("Empty commit 3 blah blah blah blah blah blah blah blah blah")
 
118
        merge(["./branch", -1], [None, None], this_dir = './copy')
 
119
        message = self.status_string(b_2)
 
120
        assert (message.startswith("pending merges:\n")), message
 
121
        assert ("Empty commit 3" in message), message
 
122
        assert (message.endswith("...\n")), message 
 
123
 
96
124
    def test_branch_status_specific_files(self): 
97
125
        """Tests branch status with given specific files"""
98
126
        from cStringIO import StringIO