File tree Expand file tree Collapse file tree 2 files changed +14
-7
lines changed Expand file tree Collapse file tree 2 files changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -1196,9 +1196,14 @@ def visit_JoinedStr(self, node):
1196
1196
fallback_to_repr = True
1197
1197
break
1198
1198
quote_types = new_quote_types
1199
- elif "\n " in value :
1200
- quote_types = [q for q in quote_types if q in _MULTI_QUOTES ]
1201
- assert quote_types
1199
+ else :
1200
+ if "\n " in value :
1201
+ quote_types = [q for q in quote_types if q in _MULTI_QUOTES ]
1202
+ assert quote_types
1203
+
1204
+ new_quote_types = [q for q in quote_types if q not in value ]
1205
+ if new_quote_types :
1206
+ quote_types = new_quote_types
1202
1207
new_fstring_parts .append (value )
1203
1208
1204
1209
if fallback_to_repr :
Original file line number Diff line number Diff line change @@ -513,11 +513,13 @@ def test_class_bases_and_keywords(self):
513
513
self .check_src_roundtrip ("class X(*args, **kwargs):\n pass" )
514
514
515
515
def test_fstrings (self ):
516
- self .check_src_roundtrip ("f'-{f'*{f'+{f'.{x}.'}+'}*'}-'" )
517
- self .check_src_roundtrip ("f'\\ u2028{'x'}'" )
516
+ self .check_src_roundtrip ('''f\' \' \' -{f"""*{f"+{f'.{x}.'}+"}*"""}-\' \' \' ''' )
517
+ self .check_src_roundtrip ('''f\' -{f\' \' \' *{f"""+{f".{f'{x}'}."}+"""}*\' \' \' }-\' ''' )
518
+ self .check_src_roundtrip ('''f\' -{f\' *{f\' \' \' +{f""".{f"{f'{x}'}"}."""}+\' \' \' }*\' }-\' ''' )
519
+ self .check_src_roundtrip ('''f"\\ u2028{'x'}"''' )
518
520
self .check_src_roundtrip (r"f'{x}\n'" )
519
- self .check_src_roundtrip ("f' {'\\ n'}\\ n'" )
520
- self .check_src_roundtrip ("f' {f'{x}\\ n'}\\ n'" )
521
+ self .check_src_roundtrip ('''f" {'\\ n'}\\ n"''' )
522
+ self .check_src_roundtrip ('''f" {f'{x}\\ n'}\\ n"''' )
521
523
522
524
def test_docstrings (self ):
523
525
docstrings = (
You can’t perform that action at this time.
0 commit comments