/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
1
# Copyright (C) 2011 Canonical Ltd
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
#
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
#
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
17
18
"""Black-box tests for bzr branches."""
19
6379.10.1 by Jelmer Vernooij
Make 'bzr branches' indicate the current branch.
20
from bzrlib.branch import BranchReferenceFormat
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
21
from bzrlib.tests import TestCaseWithTransport
22
23
24
class TestBranches(TestCaseWithTransport):
25
26
    def test_no_colocated_support(self):
27
        # Listing the branches in a control directory without colocated branch
28
        # support.
29
        self.run_bzr('init a')
30
        out, err = self.run_bzr('branches a')
6379.10.3 by Jelmer Vernooij
Only display active branch if it's not one of the existing colocated branches.
31
        self.assertEquals(out, "* (default)\n")
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
32
33
    def test_no_branch(self):
34
        # Listing the branches in a control directory without branches.
35
        self.run_bzr('init-repo a')
36
        out, err = self.run_bzr('branches a')
37
        self.assertEquals(out, "")
38
39
    def test_default_current_dir(self):
40
        # "bzr branches" list the branches in the current directory
41
        # if no location was specified.
42
        self.run_bzr('init-repo a')
43
        out, err = self.run_bzr('branches', working_dir='a')
44
        self.assertEquals(out, "")
6110.8.1 by Jelmer Vernooij
Add --scan option to 'bzr branches'.
45
6110.8.3 by Jelmer Vernooij
Rename --scan to --recursive.
46
    def test_recursive_current(self):
6110.8.2 by Jelmer Vernooij
Cope with branch in current directory in 'bzr branches --scan'.
47
        self.run_bzr('init .')
6110.8.3 by Jelmer Vernooij
Rename --scan to --recursive.
48
        self.assertEquals(".\n", self.run_bzr('branches --recursive')[0])
6110.8.2 by Jelmer Vernooij
Cope with branch in current directory in 'bzr branches --scan'.
49
6110.8.3 by Jelmer Vernooij
Rename --scan to --recursive.
50
    def test_recursive(self):
6110.8.1 by Jelmer Vernooij
Add --scan option to 'bzr branches'.
51
        self.run_bzr('init source')
52
        self.run_bzr('init source/subsource')
53
        self.run_bzr('checkout --lightweight source checkout')
54
        self.run_bzr('init checkout/subcheckout')
55
        self.run_bzr('init checkout/.bzr/subcheckout')
6110.8.3 by Jelmer Vernooij
Rename --scan to --recursive.
56
        out = self.run_bzr('branches --recursive')[0]
6110.8.1 by Jelmer Vernooij
Add --scan option to 'bzr branches'.
57
        lines = out.split('\n')
58
        self.assertIs(True, 'source' in lines, lines)
59
        self.assertIs(True, 'source/subsource' in lines, lines)
60
        self.assertIs(True, 'checkout/subcheckout' in lines, lines)
61
        self.assertIs(True, 'checkout' not in lines, lines)
6379.10.1 by Jelmer Vernooij
Make 'bzr branches' indicate the current branch.
62
63
    def test_indicates_non_branch(self):
64
        t = self.make_branch_and_tree('a', format='development-colo')
65
        t.bzrdir.create_branch(name='another')
66
        t.bzrdir.create_branch(name='colocated')
67
        out, err = self.run_bzr('branches a')
6379.10.3 by Jelmer Vernooij
Only display active branch if it's not one of the existing colocated branches.
68
        self.assertEquals(out, "* (default)\n"
69
                               "  another\n"
70
                               "  colocated\n")
6379.10.1 by Jelmer Vernooij
Make 'bzr branches' indicate the current branch.
71
72
    def test_indicates_branch(self):
73
        t = self.make_repository('a', format='development-colo')
74
        t.bzrdir.create_branch(name='another')
75
        branch = t.bzrdir.create_branch(name='colocated')
76
        BranchReferenceFormat().initialize(t.bzrdir, target_branch=branch)
77
        out, err = self.run_bzr('branches a')
6379.10.3 by Jelmer Vernooij
Only display active branch if it's not one of the existing colocated branches.
78
        self.assertEquals(out, "  another\n"
79
                               "* colocated\n")