~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_status.py

Merge cleanups into refactor-delta-show

Show diffs side-by-side

added added

removed removed

Lines of Context:
45
45
class BranchStatus(TestCaseWithTransport):
46
46
    
47
47
    def assertStatus(self, expected_lines, working_tree,
48
 
        revision=None, short=False, pending=True):
 
48
        revision=None, short=False, pending=True, verbose=False):
49
49
        """Run status in working_tree and look for output.
50
50
        
51
51
        :param expected_lines: The lines to look for.
52
52
        :param working_tree: The tree to run status in.
53
53
        """
54
54
        output_string = self.status_string(working_tree, revision, short,
55
 
                pending)
 
55
                pending, verbose)
56
56
        self.assertEqual(expected_lines, output_string.splitlines(True))
57
57
    
58
 
    def status_string(self, wt, revision=None, short=False, pending=True):
 
58
    def status_string(self, wt, revision=None, short=False, pending=True,
 
59
        verbose=False):
59
60
        # use a real file rather than StringIO because it doesn't handle
60
61
        # Unicode very well.
61
62
        tof = codecs.getwriter('utf-8')(TemporaryFile())
62
63
        show_tree_status(wt, to_file=tof, revision=revision, short=short,
63
 
                show_pending=pending)
 
64
                show_pending=pending, verbose=verbose)
64
65
        tof.seek(0)
65
66
        return tof.read().decode('utf-8')
66
67
 
95
96
                'unknown:\n',
96
97
                '  bye.c\n',
97
98
                '  hello.c\n',
 
99
                'pending merge tips: (use -v to see all merge revisions)\n',
 
100
                '  (ghost) pending@pending-0-0\n',
 
101
            ],
 
102
            wt)
 
103
        self.assertStatus([
 
104
                'unknown:\n',
 
105
                '  bye.c\n',
 
106
                '  hello.c\n',
98
107
                'pending merges:\n',
99
108
                '  (ghost) pending@pending-0-0\n',
100
109
            ],
101
 
            wt)
 
110
            wt, verbose=True)
102
111
        self.assertStatus([
103
112
                '?   bye.c\n',
104
113
                '?   hello.c\n',
159
168
        wt2 = b_2_dir.open_workingtree()
160
169
        wt.commit(u"\N{TIBETAN DIGIT TWO} Empty commit 2")
161
170
        wt2.merge_from_branch(wt.branch)
162
 
        message = self.status_string(wt2)
 
171
        message = self.status_string(wt2, verbose=True)
163
172
        self.assertStartsWith(message, "pending merges:\n")
164
173
        self.assertEndsWith(message, "Empty commit 2\n")
165
174
        wt2.commit("merged")
167
176
        wt.commit("Empty commit 3 " +
168
177
                   "blah blah blah blah " * 100)
169
178
        wt2.merge_from_branch(wt.branch)
170
 
        message = self.status_string(wt2)
 
179
        message = self.status_string(wt2, verbose=True)
171
180
        self.assertStartsWith(message, "pending merges:\n")
172
181
        self.assert_("Empty commit 3" in message)
173
182
        self.assertEndsWith(message, "...\n")
470
479
        tree.merge_from_branch(alt.branch)
471
480
        output = self.make_utf8_encoded_stringio()
472
481
        show_tree_status(tree, to_file=output)
473
 
        self.assertContainsRe(output.getvalue(), 'pending merges:')
 
482
        self.assertContainsRe(output.getvalue(), 'pending merge')
474
483
        out, err = self.run_bzr('status tree/a')
475
 
        self.assertNotContainsRe(out, 'pending merges:')
 
484
        self.assertNotContainsRe(out, 'pending merge')
476
485
 
477
486
 
478
487
class TestStatusEncodings(TestCaseWithTransport):