Merged revisions 86092 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k
........
r86092 | steven.bethard | 2010-11-01 17:29:26 +0100 (Mon, 01 Nov 2010) | 1 line
Fix for issue 9355 where with multiple mutually exclusive arguments, some brackets were being lost in the usage messages
........
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index 9fd8c02..777a4af 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -2174,6 +2174,25 @@
raises(ValueError, add_argument, 'bar', nargs=1)
raises(ValueError, add_argument, 'bar', nargs=argparse.PARSER)
+ def test_help(self):
+ parser = ErrorRaisingArgumentParser(prog='PROG')
+ group1 = parser.add_mutually_exclusive_group()
+ group1.add_argument('--foo', action='store_true')
+ group1.add_argument('--bar', action='store_false')
+ group2 = parser.add_mutually_exclusive_group()
+ group2.add_argument('--soup', action='store_true')
+ group2.add_argument('--nuts', action='store_false')
+ expected = '''\
+ usage: PROG [-h] [--foo | --bar] [--soup | --nuts]
+
+ optional arguments:
+ -h, --help show this help message and exit
+ --foo
+ --bar
+ --soup
+ --nuts
+ '''
+ self.assertEqual(parser.format_help(), textwrap.dedent(expected))
class MEMixin(object):