~bzr-pqm/bzr/bzr.dev

5273.1.8 by Vincent Ladeuil
Merge bzr.dev into cleanup
1
# Copyright (C) 2006-2010 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
5283.4.5 by Martin Pool
Update remaining subclasses of ExternalBase
23
from bzrlib.tests import TestCaseWithTransport
24
25
26
class TestNick(TestCaseWithTransport):
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
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]
4988.8.4 by Vincent Ladeuil
Fix lines too long, fix inverted assertions.
33
        self.assertEqual('me.dev\n', nick)
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]
4988.8.4 by Vincent Ladeuil
Fix lines too long, fix inverted assertions.
37
        self.assertEqual('moo\n', nick)
2120.5.1 by Alexander Belchenko
Added test for bug #66857 (autonick is urlencoded)
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]
4988.8.4 by Vincent Ladeuil
Fix lines too long, fix inverted assertions.
45
        self.assertEqual('!repo\n', nick)
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')
4988.8.4 by Vincent Ladeuil
Fix lines too long, fix inverted assertions.
52
        self.assertEqual('child', self.run_bzr('nick')[0][:-1])
53
        self.assertEqual(False,
54
                         child.branch.get_config().has_explicit_nickname())
3565.6.12 by Marius Kruger
add some more blackbox tests for nick
55
        self.run_bzr('bind ../base')
4988.8.4 by Vincent Ladeuil
Fix lines too long, fix inverted assertions.
56
        self.assertEqual(base.branch.nick, self.run_bzr('nick')[0][:-1])
57
        self.assertEqual(False,
58
                         child.branch.get_config().has_explicit_nickname())
3565.6.12 by Marius Kruger
add some more blackbox tests for nick
59
60
        self.run_bzr('unbind')
61
        self.run_bzr("nick explicit_nick")
4988.8.4 by Vincent Ladeuil
Fix lines too long, fix inverted assertions.
62
        self.assertEqual("explicit_nick", self.run_bzr('nick')[0][:-1])
63
        self.assertEqual("explicit_nick",
64
                         child.branch.get_config()._get_explicit_nickname())
3565.6.12 by Marius Kruger
add some more blackbox tests for nick
65
        self.run_bzr('bind ../base')
4988.8.4 by Vincent Ladeuil
Fix lines too long, fix inverted assertions.
66
        self.assertEqual(base.branch.nick, self.run_bzr('nick')[0][:-1])
67
        self.assertEqual(base.branch.nick,
68
                         child.branch.get_config()._get_explicit_nickname())
3565.6.12 by Marius Kruger
add some more blackbox tests for 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')
4988.8.4 by Vincent Ladeuil
Fix lines too long, fix inverted assertions.
76
        self.assertEqual(base.branch.nick, self.run_bzr('nick')[0][:-1])
77
        self.assertEqual(False,
78
                         child.branch.get_config().has_explicit_nickname())
3565.6.12 by Marius Kruger
add some more blackbox tests for nick
79
        osutils.rmtree('../base')
4988.8.4 by Vincent Ladeuil
Fix lines too long, fix inverted assertions.
80
        self.assertEqual('child', self.run_bzr('nick')[0][:-1])
5171.3.7 by Martin von Gagern
Added blackbox tests for --directory option.
81
82
    def test_nick_directory(self):
83
        """Test --directory option"""
84
        self.make_branch_and_tree('me.dev')
85
        nick = self.run_bzr(['nick', '--directory=me.dev'])[0]
86
        self.assertEqual('me.dev\n', nick)
87
        self.run_bzr(['nick', '-d', 'me.dev', 'moo'])
88
        nick = self.run_bzr(['nick', '--directory', 'me.dev'])[0]
89
        self.assertEqual('moo\n', nick)