~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Martin Pool
  • Date: 2009-07-02 03:48:25 UTC
  • mto: This revision was merged to the branch mainline in revision 4502.
  • Revision ID: mbp@sourcefrog.net-20090702034825-2330z69r93a701ws
iter(i) returns i so we don't need a check

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006-2010, 2012 Canonical Ltd
 
1
# Copyright (C) 2005, 2006  Canonical Ltd
2
2
#
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
16
16
 
17
17
"""Black-box tests for bzr nick."""
18
18
 
 
19
import os
 
20
 
19
21
import bzrlib
20
 
from bzrlib import (
21
 
    branch,
22
 
    osutils,
23
 
    tests,
24
 
    )
25
 
 
26
 
 
27
 
class TestNick(tests.TestCaseWithTransport):
28
 
 
29
 
    def assertNick(self, expected, working_dir='.', explicit=None,
30
 
                   directory=None):
31
 
        cmd = ['nick']
32
 
        if directory is not None:
33
 
            cmd.extend(['--directory', directory])
34
 
        # The nick command outputs the nick on a single line
35
 
        actual = self.run_bzr(cmd, working_dir=working_dir)[0][:-1]
36
 
        self.assertEquals(expected, actual)
37
 
        if explicit is not None:
38
 
            br = branch.Branch.open(working_dir)
39
 
            conf = br.get_config()
40
 
            self.assertEquals(explicit, conf.has_explicit_nickname())
41
 
            if explicit:
42
 
                self.assertEquals(expected, conf._get_explicit_nickname())
 
22
from bzrlib import osutils
 
23
from bzrlib.tests.blackbox import ExternalBase
 
24
 
 
25
 
 
26
class TestNick(ExternalBase):
43
27
 
44
28
    def test_nick_command(self):
45
29
        """bzr nick for viewing, setting nicknames"""
46
30
        self.make_branch_and_tree('me.dev')
47
 
        self.assertNick('me.dev', working_dir='me.dev')
 
31
        os.chdir('me.dev')
 
32
        nick = self.run_bzr('nick')[0]
 
33
        self.assertEqual(nick, 'me.dev\n')
48
34
        # set the nickname
49
 
        self.run_bzr("nick moo", working_dir='me.dev')
50
 
        self.assertNick('moo', working_dir='me.dev')
 
35
        self.run_bzr("nick moo")
 
36
        nick = self.run_bzr('nick')[0]
 
37
        self.assertEqual(nick, 'moo\n')
51
38
 
52
39
    def test_autonick_urlencoded(self):
53
40
        # https://bugs.launchpad.net/bzr/+bug/66857 -- nick was printed
54
41
        # urlencoded but shouldn't be
55
42
        self.make_branch_and_tree('!repo')
56
 
        self.assertNick('!repo', working_dir='!repo')
 
43
        os.chdir('!repo')
 
44
        nick = self.run_bzr('nick')[0]
 
45
        self.assertEqual(nick, '!repo\n')
57
46
 
58
47
    def test_bound_nick(self):
59
 
        """Bind should not update implicit nick."""
60
 
        base = self.make_branch_and_tree('base')
61
 
        child = self.make_branch_and_tree('child')
62
 
        self.assertNick('child', working_dir='child', explicit=False)
63
 
 
64
 
        self.run_bzr('bind ../base', working_dir='child')
65
 
        self.assertNick(base.branch.nick, working_dir='child', explicit=False)
66
 
 
67
 
    def test_bound_nick_explicit(self):
68
 
        """Bind should update explicit nick."""
69
 
        base = self.make_branch_and_tree('base')
70
 
        child = self.make_branch_and_tree('child')
71
 
        self.run_bzr("nick explicit_nick", working_dir='child')
72
 
        self.assertNick('explicit_nick', working_dir='child', explicit=True)
73
 
        self.run_bzr('bind ../base', working_dir='child')
74
 
        self.assertNick(base.branch.nick, working_dir='child', explicit=True)
 
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)
75
69
 
76
70
    def test_boundless_nick(self):
77
71
        """Nick defaults to implicit local nick when bound branch is AWOL"""
78
72
        base = self.make_branch_and_tree('base')
79
73
        child = self.make_branch_and_tree('child')
80
 
        self.run_bzr('bind ../base', working_dir='child')
81
 
        self.assertNick(base.branch.nick, working_dir='child', explicit=False)
82
 
        osutils.rmtree('base')
83
 
        self.assertNick('child', working_dir='child', explicit=False)
84
 
 
85
 
    def test_nick_directory(self):
86
 
        """Test --directory option"""
87
 
        self.make_branch_and_tree('me.dev')
88
 
        self.assertNick('me.dev', directory='me.dev')
89
 
        self.run_bzr(['nick', '-d', 'me.dev', 'moo'])
90
 
        self.assertNick('moo', directory='me.dev')
 
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')