diff options
Diffstat (limited to 'test/test_argparse.py')
-rw-r--r-- | test/test_argparse.py | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/test/test_argparse.py b/test/test_argparse.py index ba1a3ba..dd66239 100644 --- a/test/test_argparse.py +++ b/test/test_argparse.py @@ -203,8 +203,9 @@ class ParserTesterMetaclass(type): def test_successes(self, tester):
parser = self._get_parser(tester)
- for args_str, expected_ns in tester.successes:
- args = args_str.split()
+ for args, expected_ns in tester.successes:
+ if isinstance(args, str):
+ args = args.split()
result_ns = self._parse_args(parser, args)
tester.assertEqual(expected_ns, result_ns)
@@ -1045,6 +1046,23 @@ class TestOptionalsNumericAndPositionals(ParserTestCase): ]
+class TestEmptyAndSpaceContainingArguments(ParserTestCase):
+
+ argument_signatures = [
+ Sig('x', nargs='?'),
+ Sig('-y'),
+ ]
+ failures = ['-y']
+ successes = [
+ ([''], NS(x='', y=None)),
+ (['a badger'], NS(x='a badger', y=None)),
+ (['-a badger'], NS(x='-a badger', y=None)),
+ (['-y', ''], NS(x=None, y='')),
+ (['-y', 'a badger'], NS(x=None, y='a badger')),
+ (['-y', '-a badger'], NS(x=None, y='-a badger')),
+ ]
+
+
class TestNargsZeroOrMore(ParserTestCase):
"""Tests specifying an args for an Optional that accepts zero or more"""
|