/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

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

  • Committer: Robert Collins
  • Date: 2007-07-15 15:40:37 UTC
  • mto: (2592.3.33 repository)
  • mto: This revision was merged to the branch mainline in revision 2624.
  • Revision ID: robertc@robertcollins.net-20070715154037-3ar8g89decddc9su
Make GraphIndex accept nodes as key, value, references, so that the method
signature is closer to what a simple key->value index delivers. Also
change the behaviour when the reference list count is zero to accept
key, value as nodes, and emit key, value to make it identical in that case
to a simple key->value index. This may not be a good idea, but for now it
seems ok.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2006, 2007, 2009, 2010 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
12
12
#
13
13
# You should have received a copy of the GNU General Public License
14
14
# along with this program; if not, write to the Free Software
15
 
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
 
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
 
17
17
 
18
18
"""Black-box tests for bzr help.
21
21
 
22
22
import bzrlib
23
23
from bzrlib.tests.blackbox import ExternalBase
24
 
from bzrlib.config import (ensure_config_dir_exists, config_filename)
25
24
 
26
25
 
27
26
class TestHelp(ExternalBase):
58
57
        out, err = self.run_bzr('help checkouts')
59
58
        self.assertContainsRe(out, 'checkout')
60
59
        self.assertContainsRe(out, 'lightweight')
61
 
 
 
60
        
62
61
    def test_help_urlspec(self):
63
62
        """Smoke test for 'bzr help urlspec'"""
64
63
        out, err = self.run_bzr('help urlspec')
74
73
    def test_help_repositories(self):
75
74
        """Smoke test for 'bzr help repositories'"""
76
75
        out, err = self.run_bzr('help repositories')
77
 
        from bzrlib.help_topics import help_as_plain_text, _repositories
78
 
        expected = help_as_plain_text(_repositories)
79
 
        self.assertEqual(expected, out)
 
76
        self.assertEqual(bzrlib.help_topics._repositories, out)
80
77
 
81
78
    def test_help_working_trees(self):
82
79
        """Smoke test for 'bzr help working-trees'"""
83
80
        out, err = self.run_bzr('help working-trees')
84
 
        from bzrlib.help_topics import help_as_plain_text, _working_trees
85
 
        expected = help_as_plain_text(_working_trees)
86
 
        self.assertEqual(expected, out)
 
81
        self.assertEqual(bzrlib.help_topics._working_trees, out)
87
82
 
88
83
    def test_help_status_flags(self):
89
84
        """Smoke test for 'bzr help status-flags'"""
90
85
        out, err = self.run_bzr('help status-flags')
91
 
        from bzrlib.help_topics import help_as_plain_text, _status_flags
92
 
        expected = help_as_plain_text(_status_flags)
93
 
        self.assertEqual(expected, out)
 
86
        self.assertEqual(bzrlib.help_topics._status_flags, out)
94
87
 
95
88
    def test_help_commands(self):
96
89
        dash_help  = self.run_bzr('--help commands')[0]
105
98
        self.assertEquals(dash_help, qmark_cmds)
106
99
 
107
100
    def test_hidden(self):
108
 
        help_commands = self.run_bzr('help commands')[0]
109
 
        help_hidden = self.run_bzr('help hidden-commands')[0]
110
 
 
111
 
        def extract_cmd_names(help_output):
112
 
            # keep only the command names to avoid matching on help text (there
113
 
            # is a high risk to fail a test when a plugin get installed
114
 
            # otherwise)
115
 
            cmds = []
116
 
            for line in help_output.split('\n'):
117
 
                if line.startswith(' '):
118
 
                    continue # help on more than one line
119
 
                cmd = line.split(' ')[0]
120
 
                if line:
121
 
                    cmds.append(cmd)
122
 
            return cmds
123
 
        commands = extract_cmd_names(help_commands)
124
 
        hidden = extract_cmd_names(help_hidden)
 
101
        commands = self.run_bzr('help commands')[0]
 
102
        hidden = self.run_bzr('help hidden-commands')[0]
125
103
        self.assertTrue('commit' in commands)
126
104
        self.assertTrue('commit' not in hidden)
127
105
        self.assertTrue('rocks' in hidden)
128
106
        self.assertTrue('rocks' not in commands)
129
107
 
130
108
    def test_help_detail(self):
131
 
        dash_h  = self.run_bzr('diff -h')[0]
132
 
        help_x  = self.run_bzr('help diff')[0]
 
109
        dash_h  = self.run_bzr('commit -h')[0]
 
110
        help_x  = self.run_bzr('help commit')[0]
 
111
        qmark_x = self.run_bzr('help commit')[0]
133
112
        self.assertEquals(dash_h, help_x)
134
 
        self.assertContainsRe(help_x, "Purpose:")
135
 
        self.assertContainsRe(help_x, "Usage:")
136
 
        self.assertContainsRe(help_x, "Options:")
137
 
        self.assertContainsRe(help_x, "Description:")
138
 
        self.assertContainsRe(help_x, "Examples:")
139
 
        self.assertContainsRe(help_x, "See also:")
140
 
        self.assertContainsRe(help_x, "Aliases:")
141
 
 
142
 
    def test_help_usage(self):
143
 
        usage  = self.run_bzr('diff --usage')[0]
144
 
        self.assertContainsRe(usage, "Purpose:")
145
 
        self.assertContainsRe(usage, "Usage:")
146
 
        self.assertContainsRe(usage, "Options:")
147
 
        self.assertNotContainsRe(usage, "Description:")
148
 
        self.assertNotContainsRe(usage, "Examples:")
149
 
        self.assertContainsRe(usage, "See also:")
150
 
        self.assertContainsRe(usage, "Aliases:")
 
113
        self.assertEquals(dash_h, qmark_x)
151
114
 
152
115
    def test_help_help(self):
153
116
        help = self.run_bzr('help help')[0]
157
120
            if '--long' in line:
158
121
                self.assertContainsRe(line,
159
122
                    r'Show help on all commands\.')
160
 
 
161
 
    def test_help_with_aliases(self):
162
 
        original = self.run_bzr('help cat')[0]
163
 
 
164
 
        ensure_config_dir_exists()
165
 
        CONFIG=("[ALIASES]\n"
166
 
        "c=cat\n"
167
 
        "cat=cat\n")
168
 
 
169
 
        open(config_filename(),'wb').write(CONFIG)
170
 
 
171
 
        expected = original + "'bzr cat' is an alias for 'bzr cat'.\n"
172
 
        self.assertEqual(expected, self.run_bzr('help cat')[0])
173
 
 
174
 
        self.assertEqual("'bzr c' is an alias for 'bzr cat'.\n",
175
 
                         self.run_bzr('help c')[0])