summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_argparse.py
diff options
context:
space:
mode:
authorGregory P. Smith <greg@krypto.org>2012-07-22 04:23:00 (GMT)
committerGregory P. Smith <greg@krypto.org>2012-07-22 04:23:00 (GMT)
commitea2ce479580a8fbb71b5da82f6e0dc69eb20505c (patch)
tree875c9908abdd18b8e4ba6d8b81271c7d5efae39e /Lib/test/test_argparse.py
parentb9e9e0d5a8be470ade2bb497019a5cf737138182 (diff)
parent68f555c03ad32671a76c5762313bbf33c0ae4842 (diff)
downloadcpython-ea2ce479580a8fbb71b5da82f6e0dc69eb20505c.zip
cpython-ea2ce479580a8fbb71b5da82f6e0dc69eb20505c.tar.gz
cpython-ea2ce479580a8fbb71b5da82f6e0dc69eb20505c.tar.bz2
merge heads
Diffstat (limited to 'Lib/test/test_argparse.py')
-rw-r--r--Lib/test/test_argparse.py38
1 files changed, 26 insertions, 12 deletions
diff --git a/Lib/test/test_argparse.py b/Lib/test/test_argparse.py
index 1a5f05e..80dbc22 100644
--- a/Lib/test/test_argparse.py
+++ b/Lib/test/test_argparse.py
@@ -1374,6 +1374,7 @@ class TestArgumentsFromFile(TempDirMixin, ParserTestCase):
('X @hello', NS(a=None, x='X', y=['hello world!'])),
('-a B @recursive Y Z', NS(a='A', x='hello world!', y=['Y', 'Z'])),
('X @recursive Z -a B', NS(a='B', x='X', y=['hello world!', 'Z'])),
+ (["-a", "", "X", "Y"], NS(a='', x='X', y=['Y'])),
]
@@ -1763,6 +1764,14 @@ class TestAddSubparsers(TestCase):
parser2.add_argument('-y', choices='123', help='y help')
parser2.add_argument('z', type=complex, nargs='*', help='z help')
+ # add third sub-parser
+ parser3_kwargs = dict(description='3 description')
+ if subparser_help:
+ parser3_kwargs['help'] = '3 help'
+ parser3 = subparsers.add_parser('3', **parser3_kwargs)
+ parser3.add_argument('t', type=int, help='t help')
+ parser3.add_argument('u', nargs='...', help='u help')
+
# return the main parser
return parser
@@ -1792,6 +1801,10 @@ class TestAddSubparsers(TestCase):
self.parser.parse_args('--foo 0.125 1 c'.split()),
NS(foo=True, bar=0.125, w=None, x='c'),
)
+ self.assertEqual(
+ self.parser.parse_args('-1.5 3 11 -- a --foo 7 -- b'.split()),
+ NS(foo=False, bar=-1.5, t=11, u=['a', '--foo', '7', '--', 'b']),
+ )
def test_parse_known_args(self):
self.assertEqual(
@@ -1826,15 +1839,15 @@ class TestAddSubparsers(TestCase):
def test_help(self):
self.assertEqual(self.parser.format_usage(),
- 'usage: PROG [-h] [--foo] bar {1,2} ...\n')
+ 'usage: PROG [-h] [--foo] bar {1,2,3} ...\n')
self.assertEqual(self.parser.format_help(), textwrap.dedent('''\
- usage: PROG [-h] [--foo] bar {1,2} ...
+ usage: PROG [-h] [--foo] bar {1,2,3} ...
main description
positional arguments:
bar bar help
- {1,2} command help
+ {1,2,3} command help
optional arguments:
-h, --help show this help message and exit
@@ -1845,15 +1858,15 @@ class TestAddSubparsers(TestCase):
# Make sure - is still used for help if it is a non-first prefix char
parser = self._get_parser(prefix_chars='+:-')
self.assertEqual(parser.format_usage(),
- 'usage: PROG [-h] [++foo] bar {1,2} ...\n')
+ 'usage: PROG [-h] [++foo] bar {1,2,3} ...\n')
self.assertEqual(parser.format_help(), textwrap.dedent('''\
- usage: PROG [-h] [++foo] bar {1,2} ...
+ usage: PROG [-h] [++foo] bar {1,2,3} ...
main description
positional arguments:
bar bar help
- {1,2} command help
+ {1,2,3} command help
optional arguments:
-h, --help show this help message and exit
@@ -1864,15 +1877,15 @@ class TestAddSubparsers(TestCase):
def test_help_alternate_prefix_chars(self):
parser = self._get_parser(prefix_chars='+:/')
self.assertEqual(parser.format_usage(),
- 'usage: PROG [+h] [++foo] bar {1,2} ...\n')
+ 'usage: PROG [+h] [++foo] bar {1,2,3} ...\n')
self.assertEqual(parser.format_help(), textwrap.dedent('''\
- usage: PROG [+h] [++foo] bar {1,2} ...
+ usage: PROG [+h] [++foo] bar {1,2,3} ...
main description
positional arguments:
bar bar help
- {1,2} command help
+ {1,2,3} command help
optional arguments:
+h, ++help show this help message and exit
@@ -1881,18 +1894,19 @@ class TestAddSubparsers(TestCase):
def test_parser_command_help(self):
self.assertEqual(self.command_help_parser.format_usage(),
- 'usage: PROG [-h] [--foo] bar {1,2} ...\n')
+ 'usage: PROG [-h] [--foo] bar {1,2,3} ...\n')
self.assertEqual(self.command_help_parser.format_help(),
textwrap.dedent('''\
- usage: PROG [-h] [--foo] bar {1,2} ...
+ usage: PROG [-h] [--foo] bar {1,2,3} ...
main description
positional arguments:
bar bar help
- {1,2} command help
+ {1,2,3} command help
1 1 help
2 2 help
+ 3 3 help
optional arguments:
-h, --help show this help message and exit