diff options
author | steven.bethard <devnull@localhost> | 2009-09-12 15:56:57 +0000 |
---|---|---|
committer | steven.bethard <devnull@localhost> | 2009-09-12 15:56:57 +0000 |
commit | 731583b6079d863789ee79bb60481b88c4165a74 (patch) | |
tree | 0de685804a389898e78788347f7570e0cbcb7e0d /test | |
parent | 58696981329163d657cdeacbe8940f337aef0a63 (diff) | |
download | argparse-731583b6079d863789ee79bb60481b88c4165a74.tar.gz |
Fix bug with mutually exclusive groups in parent= parsers.
Diffstat (limited to 'test')
-rw-r--r-- | test/test_argparse.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/test_argparse.py b/test/test_argparse.py index 34a9c3f..6c8ee06 100644 --- a/test/test_argparse.py +++ b/test/test_argparse.py @@ -1848,6 +1848,35 @@ class TestParentParsers(TestCase): -y Y ''')) + def test_groups_parents(self): + parent = ErrorRaisingArgumentParser(add_help=False) + g = parent.add_argument_group(title='g', description='gd') + g.add_argument('-w') + g.add_argument('-x') + m = parent.add_mutually_exclusive_group() + m.add_argument('-y') + m.add_argument('-z') + parser = ErrorRaisingArgumentParser(parents=[parent]) + + self.assertRaises(ArgumentParserError, parser.parse_args, + ['-y', 'Y', '-z', 'Z']) + + parser_help = parser.format_help() + self.assertEqual(parser_help, textwrap.dedent('''\ + usage: test_argparse.py [-h] [-w W] [-x X] [-y Y | -z Z] + + optional arguments: + -h, --help show this help message and exit + -y Y + -z Z + + g: + gd + + -w W + -x X + ''')) + # ============================== # Mutually exclusive group tests # ============================== |