bpo-24444: fix an error in argparse help when help for an option is blank (GH-28050)

This commit is contained in:
andrei kulakov 2021-10-13 12:31:51 -04:00 committed by GitHub
parent b9e687618d
commit 6fafc25aea
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 44 additions and 5 deletions

View file

@ -2164,6 +2164,42 @@ class TestAddSubparsers(TestCase):
wrap\N{NO-BREAK SPACE}at non-breaking spaces
'''))
def test_help_blank(self):
# Issue 24444
parser = ErrorRaisingArgumentParser(
prog='PROG', description='main description')
parser.add_argument(
'foo',
help=' ')
self.assertEqual(parser.format_help(), textwrap.dedent('''\
usage: PROG [-h] foo
main description
positional arguments:
foo
options:
-h, --help show this help message and exit
'''))
parser = ErrorRaisingArgumentParser(
prog='PROG', description='main description')
parser.add_argument(
'foo', choices=[],
help='%(choices)s')
self.assertEqual(parser.format_help(), textwrap.dedent('''\
usage: PROG [-h] {}
main description
positional arguments:
{}
options:
-h, --help show this help message and exit
'''))
def test_help_alternate_prefix_chars(self):
parser = self._get_parser(prefix_chars='+:/')
self.assertEqual(parser.format_usage(),