@@ -1073,11 +1073,8 @@ def test_arg_default_spans():
1073
1073
assert help_text == clean (expected_help_text )
1074
1074
1075
1075
1076
- @pytest .mark .skipif (
1077
- sys .version_info >= (3 , 13 ), reason = "Mut ex group usage wrapping broken in Python 3.13+"
1078
- ) # CPython issue 121151 (https://github.com/python/cpython/issues/121151)
1079
1076
@pytest .mark .usefixtures ("force_color" )
1080
- def test_metavar_spans (): # pragma: <3.13 cover
1077
+ def test_metavar_spans ():
1081
1078
# tests exotic metavars (tuples, wrapped, different nargs, etc.) in usage and help text
1082
1079
parser = argparse .ArgumentParser (
1083
1080
prog = "PROG" , formatter_class = lambda prog : RichHelpFormatter (prog , width = 20 )
@@ -1096,9 +1093,17 @@ def test_metavar_spans(): # pragma: <3.13 cover
1096
1093
if sys .version_info < (3 , 9 ): # pragma: <3.9 cover
1097
1094
op3_metavar = f"[\x1b [38;5;36mOP3\x1b [0m { op3_metavar } ]"
1098
1095
1099
- expected_help_text = f"""\
1100
- \x1b [38;5;208mUsage:\x1b [0m \x1b [38;5;244mPROG\x1b [0m [\x1b [36m-h\x1b [0m]
1101
- [\x1b [36m--op1\x1b [0m [\x1b [38;5;36mMET\x1b [0m]
1096
+ if sys .version_info >= (3 , 13 ): # pragma: >=3.13 cover
1097
+ usage_tail = """ |
1098
+ \x1b [36m--op2\x1b [0m [\x1b [38;5;36mMET1\x1b [0m [\x1b [38;5;36mMET2\x1b [0m \x1b [38;5;36m...\x1b [0m]] |
1099
+ \x1b [36m--op3\x1b [0m [\x1b [38;5;36mOP3\x1b [0m \x1b [38;5;36m...\x1b [0m] |
1100
+ \x1b [36m--op4\x1b [0m \x1b [38;5;36mMET1\x1b [0m [\x1b [38;5;36mMET2\x1b [0m \x1b [38;5;36m...\x1b [0m] |
1101
+ \x1b [36m--op5\x1b [0m \x1b [38;5;36mOP5\x1b [0m [\x1b [38;5;36mOP5\x1b [0m \x1b [38;5;36m...\x1b [0m] |
1102
+ \x1b [36m--op6\x1b [0m \x1b [38;5;36mOP6\x1b [0m \x1b [38;5;36mOP6\x1b [0m \x1b [38;5;36mOP6\x1b [0m |
1103
+ \x1b [36m--op7\x1b [0m \x1b [38;5;36mMET1\x1b [0m \x1b [38;5;36mMET2\x1b [0m \x1b [38;5;36mMET3\x1b [0m]
1104
+ """
1105
+ else : # pragma: <3.13 cover
1106
+ usage_tail = f"""
1102
1107
| \x1b [36m--op2\x1b [0m
1103
1108
[\x1b [38;5;36mMET1\x1b [0m [\x1b [38;5;36mMET2\x1b [0m \x1b [38;5;36m...\x1b [0m]]
1104
1109
| \x1b [36m--op3\x1b [0m
@@ -1116,7 +1121,10 @@ def test_metavar_spans(): # pragma: <3.13 cover
1116
1121
\x1b [38;5;36mMET1\x1b [0m
1117
1122
\x1b [38;5;36mMET2\x1b [0m
1118
1123
\x1b [38;5;36mMET3\x1b [0m]
1119
-
1124
+ """
1125
+ expected_help_text = f"""\
1126
+ \x1b [38;5;208mUsage:\x1b [0m \x1b [38;5;244mPROG\x1b [0m [\x1b [36m-h\x1b [0m]
1127
+ [\x1b [36m--op1\x1b [0m [\x1b [38;5;36mMET\x1b [0m]{ usage_tail }
1120
1128
\x1b [38;5;208mOptional Arguments:\x1b [0m
1121
1129
\x1b [36m-h\x1b [0m, \x1b [36m--help\x1b [0m
1122
1130
\x1b [39mshow this help\x1b [0m
0 commit comments