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."""
114
114
'Usage: bzr Demo\n'
117
' --usage Show usage message and options.\n'
118
117
' -v, --verbose Display more information.\n'
119
118
' -q, --quiet Only display errors and warnings.\n'
120
119
' -h, --help Show help message.\n'
134
133
':Usage: bzr Demo\n'
137
' --usage Show usage message and options.\n'
138
136
' -v, --verbose Display more information.\n'
139
137
' -q, --quiet Only display errors and warnings.\n'
140
138
' -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
150
def test_help_text_custom_usage(self):
246
151
"""Help text may contain a custom usage section."""
247
152
class cmd_Demo(commands.Command):
268
' --usage Show usage message and options.\n'
269
173
' -v, --verbose Display more information.\n'
270
174
' -q, --quiet Only display errors and warnings.\n'
271
175
' -h, --help Show help message.\n'
300
204
def test_get_help_text_loaded_from_file(self):
301
205
# Pick a known topic stored in an external file
302
topic = help_topics.RegisteredTopic('authentication')
206
topic = help_topics.RegisteredTopic('hooks')
303
207
self.assertStartsWith(topic.get_help_text(),
304
'Authentication Settings\n'
305
'=======================\n'
308
212
def test_get_help_topic(self):