mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-26 20:09:22 +00:00
Fix ''' ""'''
formatting (#7485)
## Summary `''' ""'''` is an edge case that was previously incorrectly formatted as `""" """""`. Fixes #7460 ## Test Plan Added regression test
This commit is contained in:
parent
70ea49bf72
commit
c4d85d6fb6
3 changed files with 28 additions and 4 deletions
|
@ -130,3 +130,6 @@ test_particular = [
|
||||||
x = ("""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" """bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
x = ("""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" """bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
||||||
x = (f"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" f"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
x = (f"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" f"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
||||||
x = (b"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" b"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
x = (b"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" b"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
||||||
|
|
||||||
|
# https://github.com/astral-sh/ruff/issues/7460
|
||||||
|
trailing_preferred_quote_texts = [''' "''', ''' ""''', ''' """''', ''' """"''']
|
||||||
|
|
|
@ -543,10 +543,21 @@ fn preferred_quotes(
|
||||||
// `""` or `''`
|
// `""` or `''`
|
||||||
chars.next();
|
chars.next();
|
||||||
|
|
||||||
if chars.peek().copied() == Some(configured_quote_char) {
|
match chars.peek().copied() {
|
||||||
|
Some(c) if c == configured_quote_char => {
|
||||||
// `"""` or `'''`
|
// `"""` or `'''`
|
||||||
chars.next();
|
chars.next();
|
||||||
uses_triple_quotes = true;
|
uses_triple_quotes = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
Some(_) => {}
|
||||||
|
None => {
|
||||||
|
// Handle `''' ""'''`. At this point we have consumed both
|
||||||
|
// double quotes, so on the next iteration the iterator is empty
|
||||||
|
// and we'd miss the string ending with a preferred quote
|
||||||
|
uses_triple_quotes = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Some(_) => {
|
Some(_) => {
|
||||||
|
@ -555,6 +566,7 @@ fn preferred_quotes(
|
||||||
None => {
|
None => {
|
||||||
// Trailing quote at the end of the comment
|
// Trailing quote at the end of the comment
|
||||||
uses_triple_quotes = true;
|
uses_triple_quotes = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,6 +136,9 @@ test_particular = [
|
||||||
x = ("""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" """bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
x = ("""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" """bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
||||||
x = (f"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" f"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
x = (f"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" f"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
||||||
x = (b"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" b"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
x = (b"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa""" b"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb""")
|
||||||
|
|
||||||
|
# https://github.com/astral-sh/ruff/issues/7460
|
||||||
|
trailing_preferred_quote_texts = [''' "''', ''' ""''', ''' """''', ''' """"''']
|
||||||
```
|
```
|
||||||
|
|
||||||
## Outputs
|
## Outputs
|
||||||
|
@ -305,6 +308,9 @@ x = (
|
||||||
b"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"""
|
b"""aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"""
|
||||||
b"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"""
|
b"""bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"""
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# https://github.com/astral-sh/ruff/issues/7460
|
||||||
|
trailing_preferred_quote_texts = [''' "''', ''' ""''', ''' """''', ''' """"''']
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -474,6 +480,9 @@ x = (
|
||||||
b'''aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'''
|
b'''aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'''
|
||||||
b'''bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'''
|
b'''bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb'''
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# https://github.com/astral-sh/ruff/issues/7460
|
||||||
|
trailing_preferred_quote_texts = [''' "''', ''' ""''', ''' """''', ''' """"''']
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue