~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

  • Committer: Martin Pool
  • Date: 2006-06-15 05:36:34 UTC
  • mto: This revision was merged to the branch mainline in revision 1797.
  • Revision ID: mbp@sourcefrog.net-20060615053634-4fd52ba691855659
Clean up many exception classes.

Errors indicating a user error are now shown with is_user_error on the
exception; use this rather than hardcoding a list of exceptions that should be
handled this way.

Exceptions now inherit from BzrNewException where possible to use consistent
formatting method.

Remove rather obsolete docstring test on Branch.missing_revisions.

Remove dead code from find_merge_base.


Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Copyright (C) 2005, 2006 by 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-NG'):
 
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_commands(self):
 
36
        dash_help  = self.runbzr('--help commands')[0]
 
37
        commands   = self.runbzr('help commands')[0]
 
38
        long_help  = self.runbzr('help --long')[0]
 
39
        qmark_long = self.runbzr('? --long')[0]
 
40
        qmark_cmds = self.runbzr('? commands')[0]
 
41
        self.assertEquals(dash_help, commands)
 
42
        self.assertEquals(dash_help, long_help)
 
43
        self.assertEquals(dash_help, qmark_long)
 
44
        self.assertEquals(dash_help, qmark_cmds)
 
45
 
 
46
    def test_help_detail(self):
 
47
        dash_h  = self.runbzr('commit -h')[0]
 
48
        help_x  = self.runbzr('help commit')[0]
 
49
        qmark_x = self.runbzr('help commit')[0]
 
50
        self.assertEquals(dash_h, help_x)
 
51
        self.assertEquals(dash_h, qmark_x)
 
52
 
 
53
    def test_help_help(self):
 
54
        help = self.runbzr('help help')[0]
 
55
        qmark = self.runbzr('? ?')[0]
 
56
        self.assertEquals(help, qmark)
 
57
        for line in help.split('\n'):
 
58
            if '--long' in line:
 
59
                self.assertTrue('show help on all commands' in line)