~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

First DirState.add() method test passing.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (C) 2005, 2006 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
16
 
 
17
 
 
18
"""Black-box tests for bzr help.
 
19
"""
 
20
 
 
21
 
 
22
from bzrlib.tests.blackbox import ExternalBase
 
23
 
 
24
 
 
25
class TestHelp(ExternalBase):
 
26
 
 
27
    def test_help_basic(self):
 
28
        for cmd in ['--help', 'help', '-h', '-?']:
 
29
            output = self.runbzr(cmd)[0]
 
30
            line1 = output.split('\n')[0]
 
31
            if not line1.startswith('Bazaar'):
 
32
                self.fail("bad output from bzr %s:\n%r" % (cmd, output))
 
33
        # see https://launchpad.net/products/bzr/+bug/35940, -h doesn't work
 
34
 
 
35
    def test_help_topics(self):
 
36
        """Smoketest for 'bzr help topics'"""
 
37
        out, err = self.run_bzr('help', 'topics')
 
38
        self.assertContainsRe(out, 'basic')
 
39
        self.assertContainsRe(out, 'topics')
 
40
        self.assertContainsRe(out, 'commands')
 
41
        self.assertContainsRe(out, 'revisionspec')
 
42
 
 
43
    def test_help_revisionspec(self):
 
44
        """Smoke test for 'bzr help revisionspec'"""
 
45
        out, err = self.run_bzr('help', 'revisionspec')
 
46
        self.assertContainsRe(out, 'revno:')
 
47
        self.assertContainsRe(out, 'date:')
 
48
        self.assertContainsRe(out, 'revid:')
 
49
        self.assertContainsRe(out, 'last:')
 
50
        self.assertContainsRe(out, 'before:')
 
51
        self.assertContainsRe(out, 'ancestor:')
 
52
        self.assertContainsRe(out, 'branch:')
 
53
 
 
54
    def test_help_commands(self):
 
55
        dash_help  = self.runbzr('--help commands')[0]
 
56
        commands   = self.runbzr('help commands')[0]
 
57
        hidden = self.runbzr('help hidden-commands')[0]
 
58
        long_help  = self.runbzr('help --long')[0]
 
59
        qmark_long = self.runbzr('? --long')[0]
 
60
        qmark_cmds = self.runbzr('? commands')[0]
 
61
        self.assertEquals(dash_help, commands)
 
62
        self.assertEquals(dash_help, long_help)
 
63
        self.assertEquals(dash_help, qmark_long)
 
64
        self.assertEquals(dash_help, qmark_cmds)
 
65
 
 
66
    def test_hidden(self):
 
67
        commands = self.runbzr('help commands')[0]
 
68
        hidden = self.runbzr('help hidden-commands')[0]
 
69
        self.assertTrue('commit' in commands)
 
70
        self.assertTrue('commit' not in hidden)
 
71
        self.assertTrue('rocks' in hidden)
 
72
        self.assertTrue('rocks' not in commands)
 
73
 
 
74
    def test_help_detail(self):
 
75
        dash_h  = self.runbzr('commit -h')[0]
 
76
        help_x  = self.runbzr('help commit')[0]
 
77
        qmark_x = self.runbzr('help commit')[0]
 
78
        self.assertEquals(dash_h, help_x)
 
79
        self.assertEquals(dash_h, qmark_x)
 
80
 
 
81
    def test_help_help(self):
 
82
        help = self.runbzr('help help')[0]
 
83
        qmark = self.runbzr('? ?')[0]
 
84
        self.assertEquals(help, qmark)
 
85
        for line in help.split('\n'):
 
86
            if '--long' in line:
 
87
                self.assertTrue('show help on all commands' in line)