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
17
17
"""Unit tests for the bzrlib.help module."""
40
40
helptext = cmd.get_help_text()
41
41
self.assertEndsWith(
43
' -v, --verbose Display more information.\n'
44
' -q, --quiet Only display errors and warnings.\n'
45
' -h, --help Show help message.\n'
43
' -h, --help Show help message.\n'
47
45
'See also: bar, foo\n')
55
53
self.assertStartsWith(helptext,
56
54
'Purpose: A sample command.\n'
58
self.assertEndsWith(helptext,
59
' -h, --help Show help message.\n\n')
56
self.assertEndsWith(helptext, 'Show help message.\n\n')
61
58
def test_command_with_additional_see_also(self):
62
59
class cmd_WithSeeAlso(commands.Command):
66
63
helptext = cmd.get_help_text(['gam'])
67
64
self.assertEndsWith(
69
' -v, --verbose Display more information.\n'
70
' -q, --quiet Only display errors and warnings.\n'
71
' -h, --help Show help message.\n'
66
' -h, --help Show help message.\n'
73
68
'See also: bar, foo, gam\n')
79
74
helptext = cmd.get_help_text(['gam'])
80
75
self.assertEndsWith(
82
' -v, --verbose Display more information.\n'
83
' -q, --quiet Only display errors and warnings.\n'
84
' -h, --help Show help message.\n'
77
' -h, --help Show help message.\n'
114
107
'Usage: bzr Demo\n'
117
' --usage Show usage message and options.\n'
118
' -v, --verbose Display more information.\n'
119
' -q, --quiet Only display errors and warnings.\n'
120
' -h, --help Show help message.\n'
110
' -h, --help Show help message.\n'
134
124
':Usage: bzr Demo\n'
137
' --usage Show usage message and options.\n'
138
' -v, --verbose Display more information.\n'
139
' -q, --quiet Only display errors and warnings.\n'
140
' -h, --help Show help message.\n'
127
' -h, --help Show help message.\n'
152
def test_concise_help_text(self):
153
"""Concise help text excludes the descriptive sections."""
154
class cmd_Demo(commands.Command):
165
helptext = cmd.get_help_text()
166
self.assertEqualDiff(
168
'Purpose: A sample command.\n'
172
' --usage Show usage message and options.\n'
173
' -v, --verbose Display more information.\n'
174
' -q, --quiet Only display errors and warnings.\n'
175
' -h, --help Show help message.\n'
185
helptext = cmd.get_help_text(verbose=False)
186
self.assertEquals(helptext,
187
'Purpose: A sample command.\n'
191
' --usage Show usage message and options.\n'
192
' -v, --verbose Display more information.\n'
193
' -q, --quiet Only display errors and warnings.\n'
194
' -h, --help Show help message.\n'
196
'See bzr help Demo for more details and examples.\n'
199
def test_help_custom_section_ordering(self):
200
"""Custom descriptive sections should remain in the order given."""
201
class cmd_Demo(commands.Command):
207
Interesting stuff about formats.
215
Clever things to keep in mind.
218
helptext = cmd.get_help_text()
219
self.assertEqualDiff(
221
'Purpose: A sample command.\n'
225
' --usage Show usage message and options.\n'
226
' -v, --verbose Display more information.\n'
227
' -q, --quiet Only display errors and warnings.\n'
228
' -h, --help Show help message.\n'
234
' Interesting stuff about formats.\n'
242
' Clever things to keep in mind.\n'
245
139
def test_help_text_custom_usage(self):
246
140
"""Help text may contain a custom usage section."""
247
141
class cmd_Demo(commands.Command):
248
142
"""A sample command.
251
145
cmd Demo [opts] args
268
' --usage Show usage message and options.\n'
269
' -v, --verbose Display more information.\n'
270
' -q, --quiet Only display errors and warnings.\n'
271
' -h, --help Show help message.\n'
162
' -h, --help Show help message.\n'
274
165
' Blah blah blah.\n\n')
280
171
def test_contruct(self):
281
172
"""Construction takes the help topic name for the registered item."""
283
174
self.assertTrue('basic' in help_topics.topic_registry)
284
175
topic = help_topics.RegisteredTopic('basic')
285
176
self.assertEqual('basic', topic.topic)
298
189
'See also: bar, foo\n')
300
def test_get_help_text_loaded_from_file(self):
301
# Pick a known topic stored in an external file
302
topic = help_topics.RegisteredTopic('authentication')
303
self.assertStartsWith(topic.get_help_text(),
304
'Authentication Settings\n'
305
'=======================\n'
308
191
def test_get_help_topic(self):
309
192
"""The help topic for a RegisteredTopic is its topic from construction."""
310
193
topic = help_topics.RegisteredTopic('foobar')