|
1 | 1 | import argparse |
2 | 2 | from sphinxarg.parser import parse_parser, parser_navigate |
| 3 | +import six |
3 | 4 |
|
4 | 5 |
|
5 | 6 | def test_parse_options(): |
@@ -187,82 +188,82 @@ def test_parse_nested(): |
187 | 188 | ] |
188 | 189 |
|
189 | 190 |
|
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]', |
210 | 263 | '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'}) |
266 | 267 |
|
267 | 268 |
|
268 | 269 | def test_parse_nested_traversal(): |
|
0 commit comments