~bzr-pqm/bzr/bzr.dev

2120.5.3 by Alexander Belchenko
Fix year in copyrights
1
# Copyright (C) 2005, 2006  Canonical Ltd
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
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
4183.7.1 by Sabin Iacob
update FSF mailing address
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
16
17
"""Black-box tests for bzr nick."""
18
19
import os
20
21
import bzrlib
3565.6.12 by Marius Kruger
add some more blackbox tests for nick
22
from bzrlib import osutils
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
23
from bzrlib.tests.blackbox import ExternalBase
24
25
26
class TestNick(ExternalBase):
27
28
    def test_nick_command(self):
29
        """bzr nick for viewing, setting nicknames"""
2664.11.1 by Daniel Watkins
tests.blackbox.test_nick now uses internals where appropriate.
30
        self.make_branch_and_tree('me.dev')
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
31
        os.chdir('me.dev')
2552.2.2 by Vincent Ladeuil
Enforce run_bzr(string) where possible.
32
        nick = self.run_bzr('nick')[0]
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
33
        self.assertEqual(nick, 'me.dev\n')
2530.3.1 by Martin Pool
Cleanup old variations on run_bzr in the test suite
34
        # set the nickname
35
        self.run_bzr("nick moo")
2552.2.2 by Vincent Ladeuil
Enforce run_bzr(string) where possible.
36
        nick = self.run_bzr('nick')[0]
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
37
        self.assertEqual(nick, 'moo\n')
38
39
    def test_autonick_urlencoded(self):
2530.3.1 by Martin Pool
Cleanup old variations on run_bzr in the test suite
40
        # https://bugs.launchpad.net/bzr/+bug/66857 -- nick was printed
41
        # urlencoded but shouldn't be
2664.11.1 by Daniel Watkins
tests.blackbox.test_nick now uses internals where appropriate.
42
        self.make_branch_and_tree('!repo')
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
43
        os.chdir('!repo')
2552.2.2 by Vincent Ladeuil
Enforce run_bzr(string) where possible.
44
        nick = self.run_bzr('nick')[0]
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
45
        self.assertEqual(nick, '!repo\n')
3565.6.12 by Marius Kruger
add some more blackbox tests for nick
46
47
    def test_bound_nick(self):
48
        """Check that nick works well for checkouts."""
49
        base = self.make_branch_and_tree('base')
50
        child = self.make_branch_and_tree('child')
51
        os.chdir('child')
52
        self.assertEqual(self.run_bzr('nick')[0][:-1], 'child')
53
        self.assertEqual(child.branch.get_config().has_explicit_nickname(),
54
            False)
55
        self.run_bzr('bind ../base')
56
        self.assertEqual(self.run_bzr('nick')[0][:-1], base.branch.nick)
57
        self.assertEqual(child.branch.get_config().has_explicit_nickname(),
58
            False)
59
60
        self.run_bzr('unbind')
61
        self.run_bzr("nick explicit_nick")
62
        self.assertEqual(self.run_bzr('nick')[0][:-1], "explicit_nick")
63
        self.assertEqual(child.branch.get_config()._get_explicit_nickname(),
64
            "explicit_nick")
65
        self.run_bzr('bind ../base')
66
        self.assertEqual(self.run_bzr('nick')[0][:-1], base.branch.nick)
67
        self.assertEqual(child.branch.get_config()._get_explicit_nickname(),
68
            base.branch.nick)
69
70
    def test_boundless_nick(self):
71
        """Nick defaults to implicit local nick when bound branch is AWOL"""
72
        base = self.make_branch_and_tree('base')
73
        child = self.make_branch_and_tree('child')
74
        os.chdir('child')
75
        self.run_bzr('bind ../base')
76
        self.assertEqual(self.run_bzr('nick')[0][:-1], base.branch.nick)
77
        self.assertEqual(child.branch.get_config().has_explicit_nickname(),
78
            False)
79
        osutils.rmtree('../base')
80
        self.assertEqual(self.run_bzr('nick')[0][:-1], 'child')