~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/selftest/teststatus.py

  • Committer: Robert Collins
  • Date: 2005-09-30 14:27:41 UTC
  • mto: This revision was merged to the branch mainline in revision 1397.
  • Revision ID: robertc@robertcollins.net-20050930142741-fc326c828b5bbefd
text_version and name_version unification looking reasonable

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
"""
22
22
 
23
23
 
24
 
from bzrlib.tests import TestCaseInTempDir
 
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
32
26
 
33
27
class BranchStatus(TestCaseInTempDir):
34
28
    
35
29
    def test_branch_status(self): 
36
 
        """Test basic branch status"""
 
30
        """Basic 'bzr mkdir' operation"""
37
31
        from cStringIO import StringIO
38
32
        from bzrlib.status import show_status
39
33
        from bzrlib.branch import Branch
47
41
 
48
42
        tof = StringIO()
49
43
        self.build_tree(['hello.c', 'bye.c'])
50
 
        b.working_tree().add_pending_merge('pending@pending-0-0')
 
44
        b.add_pending_merge('pending@pending-0-0')
51
45
        show_status(b, to_file=tof)
52
46
        tof.seek(0)
53
47
        self.assertEquals(tof.readlines(),
60
54
 
61
55
    def test_branch_status_revisions(self):
62
56
        """Tests branch status with revisions"""
 
57
        from cStringIO import StringIO
 
58
        from bzrlib.status import show_status
 
59
        from bzrlib.branch import Branch
63
60
        
64
61
        b = Branch.initialize('.')
65
62
 
66
63
        tof = StringIO()
67
64
        self.build_tree(['hello.c', 'bye.c'])
68
 
        b.working_tree().add('hello.c')
69
 
        b.working_tree().add('bye.c')
70
 
        b.working_tree().commit('Test message')
 
65
        b.add('hello.c')
 
66
        b.add('bye.c')
 
67
        b.commit('Test message')
71
68
 
72
69
        tof = StringIO()
73
70
        revs =[]
82
79
                           '  hello.c\n'])
83
80
 
84
81
        self.build_tree(['more.c'])
85
 
        b.working_tree().add('more.c')
86
 
        b.working_tree().commit('Another test message')
 
82
        b.add('more.c')
 
83
        b.commit('Another test message')
87
84
        
88
85
        tof = StringIO()
89
86
        revs.append(RevisionSpec(1))
96
93
                           '  bye.c\n',
97
94
                           '  hello.c\n'])
98
95
 
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.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")) 
125
 
 
126
 
    def test_branch_status_specific_files(self): 
127
 
        """Tests branch status with given specific files"""
128
 
        from cStringIO import StringIO
129
 
        from bzrlib.status import show_status
130
 
        from bzrlib.branch import Branch
131
 
        
132
 
        b = Branch.initialize('.')
133
 
 
134
 
        self.build_tree(['directory/','directory/hello.c', 'bye.c','test.c','dir2/'])
135
 
        b.working_tree().add('directory')
136
 
        b.working_tree().add('test.c')
137
 
        b.working_tree().commit('testing')
138
 
        
139
 
        tof = StringIO()
140
 
        show_status(b, to_file=tof)
141
 
        tof.seek(0)
142
 
        self.assertEquals(tof.readlines(),
143
 
                          ['unknown:\n',
144
 
                           '  bye.c\n',
145
 
                           '  dir2\n',
146
 
                           '  directory/hello.c\n'
147
 
                           ])
148
 
 
149
 
        tof = StringIO()
150
 
        show_status(b, specific_files=['bye.c','test.c','absent.c'], to_file=tof)
151
 
        tof.seek(0)
152
 
        self.assertEquals(tof.readlines(),
153
 
                          ['unknown:\n',
154
 
                           '  bye.c\n'
155
 
                           ])
156
 
        
157
 
        tof = StringIO()
158
 
        show_status(b, specific_files=['directory'], to_file=tof)
159
 
        tof.seek(0)
160
 
        self.assertEquals(tof.readlines(),
161
 
                          ['unknown:\n',
162
 
                           '  directory/hello.c\n'
163
 
                           ])
164
 
        tof = StringIO()
165
 
        show_status(b, specific_files=['dir2'], to_file=tof)
166
 
        tof.seek(0)
167
 
        self.assertEquals(tof.readlines(),
168
 
                          ['unknown:\n',
169
 
                           '  dir2\n'
170
 
                           ])