Skip to content

Commit edd52b4

Browse files
committed
Test alias handling only on Python >= 3
1 parent dee3707 commit edd52b4

File tree

1 file changed

+76
-75
lines changed

1 file changed

+76
-75
lines changed

test/test_parser.py

Lines changed: 76 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import argparse
22
from sphinxarg.parser import parse_parser, parser_navigate
3+
import six
34

45

56
def test_parse_options():
@@ -187,82 +188,82 @@ def test_parse_nested():
187188
]
188189

189190

190-
def test_parse_nested_with_alias():
191-
parser = argparse.ArgumentParser()
192-
parser.add_argument('foo', default=False, help='foo help')
193-
parser.add_argument('bar', default=False)
194-
195-
subparsers = parser.add_subparsers()
196-
197-
subparser = subparsers.add_parser('install', aliases=['i'], help='install help')
198-
subparser.add_argument('ref', type=str, help='foo1 help')
199-
subparser.add_argument('--upgrade', action='store_true', default=False, help='foo2 help')
200-
201-
data = parse_parser(parser)
202-
203-
assert data['action_groups'][0]['options'] == [
204-
{
205-
'name': ['foo'],
206-
'help': 'foo help',
207-
'default': False
208-
}, {
209-
'name': ['bar'],
191+
if six.PY3:
192+
def test_parse_nested_with_alias():
193+
parser = argparse.ArgumentParser()
194+
parser.add_argument('foo', default=False, help='foo help')
195+
parser.add_argument('bar', default=False)
196+
197+
subparsers = parser.add_subparsers()
198+
199+
subparser = subparsers.add_parser('install', aliases=['i'], help='install help')
200+
subparser.add_argument('ref', type=str, help='foo1 help')
201+
subparser.add_argument('--upgrade', action='store_true', default=False, help='foo2 help')
202+
203+
data = parse_parser(parser)
204+
205+
assert data['action_groups'][0]['options'] == [
206+
{
207+
'name': ['foo'],
208+
'help': 'foo help',
209+
'default': False
210+
}, {
211+
'name': ['bar'],
212+
'help': '',
213+
'default': False
214+
}
215+
]
216+
217+
assert data['children'] == [
218+
{
219+
'name': 'install (i)',
220+
'identifier': 'install',
221+
'help': 'install help',
222+
'usage': 'usage: py.test install [-h] [--upgrade] ref',
223+
'bare_usage': 'py.test install [-h] [--upgrade] ref',
224+
'action_groups': [
225+
{
226+
'title': 'Positional Arguments',
227+
'description': None,
228+
'options': [
229+
{
230+
'name': ['ref'],
231+
'help': 'foo1 help',
232+
'default': None
233+
}
234+
]
235+
},
236+
{
237+
'description': None,
238+
'title': 'Named Arguments',
239+
'options': [
240+
{
241+
'name': ['--upgrade'],
242+
'default': False,
243+
'help': 'foo2 help'
244+
}
245+
]
246+
}
247+
]
248+
}
249+
]
250+
251+
def test_aliased_traversal():
252+
parser = argparse.ArgumentParser()
253+
254+
subparsers1 = parser.add_subparsers()
255+
subparsers1.add_parser('level1', aliases=['l1'])
256+
257+
data = parse_parser(parser)
258+
259+
data2 = parser_navigate(data, 'level1')
260+
261+
assert(data2 == {
262+
'bare_usage': 'py.test level1 [-h]',
210263
'help': '',
211-
'default': False
212-
}
213-
]
214-
215-
assert data['children'] == [
216-
{
217-
'name': 'install (i)',
218-
'identifier': 'install',
219-
'help': 'install help',
220-
'usage': 'usage: py.test install [-h] [--upgrade] ref',
221-
'bare_usage': 'py.test install [-h] [--upgrade] ref',
222-
'action_groups': [
223-
{
224-
'title': 'Positional Arguments',
225-
'description': None,
226-
'options': [
227-
{
228-
'name': ['ref'],
229-
'help': 'foo1 help',
230-
'default': None
231-
}
232-
]
233-
},
234-
{
235-
'description': None,
236-
'title': 'Named Arguments',
237-
'options': [
238-
{
239-
'name': ['--upgrade'],
240-
'default': False,
241-
'help': 'foo2 help'
242-
}
243-
]
244-
}
245-
]
246-
}
247-
]
248-
249-
250-
def test_aliased_traversal():
251-
parser = argparse.ArgumentParser()
252-
253-
subparsers1 = parser.add_subparsers()
254-
subparsers1.add_parser('level1', aliases=['l1'])
255-
256-
data = parse_parser(parser)
257-
258-
data2 = parser_navigate(data, 'level1')
259-
260-
assert(data2 == {
261-
'bare_usage': 'py.test level1 [-h]',
262-
'help': '',
263-
'usage': 'usage: py.test level1 [-h]',
264-
'name': 'level1 (l1)',
265-
'identifier': 'level1'})
264+
'usage': 'usage: py.test level1 [-h]',
265+
'name': 'level1 (l1)',
266+
'identifier': 'level1'})
266267

267268

268269
def test_parse_nested_traversal():

0 commit comments

Comments
 (0)