@@ -2959,12 +2959,12 @@ def get_parser(self, required=None):
2959
2959
]
2960
2960
2961
2961
usage_when_not_required = '''\
2962
- usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ]
2963
- [--klmno KLMNO | --pqrst PQRST]
2962
+ usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ] [--klmno KLMNO |
2963
+ --pqrst PQRST]
2964
2964
'''
2965
2965
usage_when_required = '''\
2966
- usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ]
2967
- (--klmno KLMNO | --pqrst PQRST)
2966
+ usage: PROG [-h] [--abcde ABCDE] [--fghij FGHIJ] (--klmno KLMNO |
2967
+ --pqrst PQRST)
2968
2968
'''
2969
2969
help = '''\
2970
2970
@@ -4347,6 +4347,24 @@ def test_nested_mutex_groups(self):
4347
4347
''' )
4348
4348
self .assertEqual (parser .format_usage (), usage )
4349
4349
4350
+ def test_long_mutex_groups_wrap (self ):
4351
+ parser = argparse .ArgumentParser (prog = 'PROG' )
4352
+ g = parser .add_mutually_exclusive_group ()
4353
+ g .add_argument ('--op1' , metavar = 'MET' , nargs = '?' )
4354
+ g .add_argument ('--op2' , metavar = ('MET1' , 'MET2' ), nargs = '*' )
4355
+ g .add_argument ('--op3' , nargs = '*' )
4356
+ g .add_argument ('--op4' , metavar = ('MET1' , 'MET2' ), nargs = '+' )
4357
+ g .add_argument ('--op5' , nargs = '+' )
4358
+ g .add_argument ('--op6' , nargs = 3 )
4359
+ g .add_argument ('--op7' , metavar = ('MET1' , 'MET2' , 'MET3' ), nargs = 3 )
4360
+
4361
+ usage = textwrap .dedent ('''\
4362
+ usage: PROG [-h] [--op1 [MET] | --op2 [MET1 [MET2 ...]] | --op3 [OP3 ...] |
4363
+ --op4 MET1 [MET2 ...] | --op5 OP5 [OP5 ...] | --op6 OP6 OP6 OP6 |
4364
+ --op7 MET1 MET2 MET3]
4365
+ ''' )
4366
+ self .assertEqual (parser .format_usage (), usage )
4367
+
4350
4368
4351
4369
class TestHelpVariableExpansion (HelpTestCase ):
4352
4370
"""Test that variables are expanded properly in help messages"""
0 commit comments