/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
6614.1.3 by Vincent Ladeuil
Fix assertEquals being deprecated by using assertEqual.
1
# Copyright (C) 2011, 2012, 2016 Canonical Ltd
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
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
6622.1.29 by Jelmer Vernooij
Fix some more tests.
18
"""Black-box tests for brz branches."""
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
19
7490.62.3 by Jelmer Vernooij
Move btree and remove references.
20
from breezy.controldir import ControlDir
6622.1.34 by Jelmer Vernooij
Rename brzlib => breezy.
21
from breezy.tests import TestCaseWithTransport
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
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')
7027.4.1 by Jelmer Vernooij
Use StringIOWithEncoding on Python3.
31
        self.assertEqual(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.
7385.2.1 by Jelmer Vernooij
Rename init-repo to init-shared-repo.
35
        self.run_bzr('init-shared-repo a')
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
36
        out, err = self.run_bzr('branches a')
7027.4.1 by Jelmer Vernooij
Use StringIOWithEncoding on Python3.
37
        self.assertEqual(out, "")
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
38
39
    def test_default_current_dir(self):
6622.1.29 by Jelmer Vernooij
Fix some more tests.
40
        # "brz branches" list the branches in the current directory
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
41
        # if no location was specified.
7385.2.1 by Jelmer Vernooij
Rename init-repo to init-shared-repo.
42
        self.run_bzr('init-shared-repo a')
6060.6.1 by Jelmer Vernooij
Add 'bzr branches' command.
43
        out, err = self.run_bzr('branches', working_dir='a')
7027.4.1 by Jelmer Vernooij
Use StringIOWithEncoding on Python3.
44
        self.assertEqual(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 .')
7027.4.1 by Jelmer Vernooij
Use StringIOWithEncoding on Python3.
48
        self.assertEqual(".\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]
7027.4.1 by Jelmer Vernooij
Use StringIOWithEncoding on Python3.
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')
6653.6.1 by Jelmer Vernooij
Rename a number of attributes from bzrdir to controldir.
65
        t.controldir.create_branch(name='another')
66
        t.controldir.create_branch(name='colocated')
6379.10.1 by Jelmer Vernooij
Make 'bzr branches' indicate the current branch.
67
        out, err = self.run_bzr('branches a')
7027.4.1 by Jelmer Vernooij
Use StringIOWithEncoding on Python3.
68
        self.assertEqual(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')
6653.6.1 by Jelmer Vernooij
Rename a number of attributes from bzrdir to controldir.
74
        t.controldir.create_branch(name='another')
75
        branch = t.controldir.create_branch(name='colocated')
76
        t.controldir.set_branch_reference(target_branch=branch)
6379.10.1 by Jelmer Vernooij
Make 'bzr branches' indicate the current branch.
77
        out, err = self.run_bzr('branches a')
7027.4.1 by Jelmer Vernooij
Use StringIOWithEncoding on Python3.
78
        self.assertEqual(out, "  another\n"
79
                              "* colocated\n")
6466.2.1 by Jelmer Vernooij
List sibling branches in ``bzr branches``.
80
81
    def test_shared_repos(self):
82
        self.make_repository('a', shared=True)
7490.62.3 by Jelmer Vernooij
Move btree and remove references.
83
        ControlDir.create_branch_convenience('a/branch1')
84
        b = ControlDir.create_branch_convenience('a/branch2')
6466.2.1 by Jelmer Vernooij
List sibling branches in ``bzr branches``.
85
        b.create_checkout(lightweight=True, to_location='b')
86
        out, err = self.run_bzr('branches b')
7027.4.1 by Jelmer Vernooij
Use StringIOWithEncoding on Python3.
87
        self.assertEqual(out, "  branch1\n"
88
                              "* branch2\n")
6466.2.1 by Jelmer Vernooij
List sibling branches in ``bzr branches``.
89
90
    def test_standalone_branch(self):
91
        self.make_branch('a')
92
        out, err = self.run_bzr('branches a')
7027.4.1 by Jelmer Vernooij
Use StringIOWithEncoding on Python3.
93
        self.assertEqual(out, "* (default)\n")