summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_argparse.py
diff options
context:
space:
mode:
authorandrei kulakov <andrei.avk@gmail.com>2021-10-13 16:31:51 (GMT)
committerGitHub <noreply@github.com>2021-10-13 16:31:51 (GMT)
commit6fafc25aea8689048314b5bf7a9bb986bb1ce238 (patch)
treeb28f03443e4f25545a2c17b536089739a917de47 /Lib/test/test_argparse.py
parentb9e687618d3489944f29adbd2be50b46940c9e70 (diff)
downloadcpython-6fafc25aea8689048314b5bf7a9bb986bb1ce238.zip
cpython-6fafc25aea8689048314b5bf7a9bb986bb1ce238.tar.gz
cpython-6fafc25aea8689048314b5bf7a9bb986bb1ce238.tar.bz2
bpo-24444: fix an error in argparse help when help for an option is blank (GH-28050)
Diffstat (limited to 'Lib/test/test_argparse.py')
-rw-r--r--Lib/test/test_argparse.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index 8babab3..21732d1 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -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(),