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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
17
"""Unit tests for the bzrlib.help module."""
114
114
'Usage: bzr Demo\n'
117
' --usage Show usage message and options.\n'
117
118
' -v, --verbose Display more information.\n'
118
119
' -q, --quiet Only display errors and warnings.\n'
119
120
' -h, --help Show help message.\n'
133
134
':Usage: bzr Demo\n'
137
' --usage Show usage message and options.\n'
136
138
' -v, --verbose Display more information.\n'
137
139
' -q, --quiet Only display errors and warnings.\n'
138
140
' -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'
150
245
def test_help_text_custom_usage(self):
151
246
"""Help text may contain a custom usage section."""
152
247
class cmd_Demo(commands.Command):
153
248
"""A sample command.
156
251
cmd Demo [opts] args
268
' --usage Show usage message and options.\n'
173
269
' -v, --verbose Display more information.\n'
174
270
' -q, --quiet Only display errors and warnings.\n'
175
271
' -h, --help Show help message.\n'
184
280
def test_contruct(self):
185
281
"""Construction takes the help topic name for the registered item."""
187
283
self.assertTrue('basic' in help_topics.topic_registry)
188
284
topic = help_topics.RegisteredTopic('basic')
189
285
self.assertEqual('basic', topic.topic)
204
300
def test_get_help_text_loaded_from_file(self):
205
301
# Pick a known topic stored in an external file
206
topic = help_topics.RegisteredTopic('hooks')
302
topic = help_topics.RegisteredTopic('authentication')
207
303
self.assertStartsWith(topic.get_help_text(),
304
'Authentication Settings\n'
305
'=======================\n'
212
308
def test_get_help_topic(self):