Set target versions in Black tests (#9221)

This commit is contained in:
Micha Reiser 2023-12-21 13:20:17 +09:00 committed by GitHub
parent 8cb7950102
commit c6d8076034
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
55 changed files with 996 additions and 466 deletions

View file

@ -162,8 +162,6 @@ class Test:
pass
a = "type comment with trailing space" # type: str
#######################
### SECTION COMMENT ###
#######################
@ -427,8 +425,6 @@ class Test:
pass
a = "type comment with trailing space" # type: str
#######################
### SECTION COMMENT ###
#######################
@ -607,8 +603,6 @@ class Test:
pass
a = "type comment with trailing space" # type: str
#######################
### SECTION COMMENT ###
#######################

View file

@ -0,0 +1,260 @@
---
source: crates/ruff_python_formatter/tests/fixtures.rs
input_file: crates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_allow_empty_first_line.py
---
## Input
```python
def foo():
"""
Docstring
"""
# Here we go
if x:
# This is also now fine
a = 123
else:
# But not necessary
a = 123
if y:
while True:
"""
Long comment here
"""
a = 123
if z:
for _ in range(100):
a = 123
else:
try:
# this should be ok
a = 123
except:
"""also this"""
a = 123
def bar():
if x:
a = 123
def baz():
# OK
if x:
a = 123
def quux():
new_line = here
class Cls:
def method(self):
pass
```
## Black Differences
```diff
--- Black
+++ Ruff
@@ -5,7 +5,6 @@
# Here we go
if x:
-
# This is also now fine
a = 123
@@ -14,49 +13,39 @@
a = 123
if y:
-
while True:
-
"""
Long comment here
"""
a = 123
if z:
-
for _ in range(100):
a = 123
else:
-
try:
-
# this should be ok
a = 123
except:
-
"""also this"""
a = 123
def bar():
-
if x:
a = 123
def baz():
-
# OK
if x:
a = 123
def quux():
-
new_line = here
class Cls:
def method(self):
-
pass
```
## Ruff Output
```python
def foo():
"""
Docstring
"""
# Here we go
if x:
# This is also now fine
a = 123
else:
# But not necessary
a = 123
if y:
while True:
"""
Long comment here
"""
a = 123
if z:
for _ in range(100):
a = 123
else:
try:
# this should be ok
a = 123
except:
"""also this"""
a = 123
def bar():
if x:
a = 123
def baz():
# OK
if x:
a = 123
def quux():
new_line = here
class Cls:
def method(self):
pass
```
## Black Output
```python
def foo():
"""
Docstring
"""
# Here we go
if x:
# This is also now fine
a = 123
else:
# But not necessary
a = 123
if y:
while True:
"""
Long comment here
"""
a = 123
if z:
for _ in range(100):
a = 123
else:
try:
# this should be ok
a = 123
except:
"""also this"""
a = 123
def bar():
if x:
a = 123
def baz():
# OK
if x:
a = 123
def quux():
new_line = here
class Cls:
def method(self):
pass
```

View file

@ -7,9 +7,11 @@ input_file: crates/ruff_python_formatter/resources/test/fixtures/black/cases/pre
```python
from typing import NoReturn, Protocol, Union, overload
class Empty:
...
def dummy(a): ...
def other(b): ...
async def other(b): ...
@overload
@ -53,6 +55,14 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
if not isinstance(arg, (int, str)):
raise TypeError
return arg
def has_comment():
... # still a dummy
if some_condition:
...
if already_dummy: ...
```
## Black Differences
@ -60,13 +70,13 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
```diff
--- Black
+++ Ruff
@@ -2,15 +2,23 @@
@@ -5,15 +5,23 @@
def dummy(a): ...
+
+
def other(b): ...
async def other(b): ...
@overload
@ -84,7 +94,7 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
def a(arg: Union[int, str, object]) -> Union[int, str]:
if not isinstance(arg, (int, str)):
raise TypeError
@@ -21,10 +29,13 @@
@@ -24,10 +32,13 @@
def foo(self, a: int) -> int: ...
def bar(self, b: str) -> str: ...
@ -98,7 +108,7 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
@dummy
def dummy_three(): ...
@@ -38,6 +49,8 @@
@@ -41,6 +52,8 @@
@overload
def b(arg: str) -> str: ...
@ -107,6 +117,17 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
@overload
def b(arg: object) -> NoReturn: ...
@@ -54,8 +67,6 @@
def has_comment(): ... # still a dummy
-if some_condition:
- ...
+if some_condition: ...
-if already_dummy:
- ...
+if already_dummy: ...
```
## Ruff Output
@ -115,10 +136,13 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
from typing import NoReturn, Protocol, Union, overload
class Empty: ...
def dummy(a): ...
def other(b): ...
async def other(b): ...
@overload
@ -173,6 +197,14 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
if not isinstance(arg, (int, str)):
raise TypeError
return arg
def has_comment(): ... # still a dummy
if some_condition: ...
if already_dummy: ...
```
## Black Output
@ -181,8 +213,11 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
from typing import NoReturn, Protocol, Union, overload
class Empty: ...
def dummy(a): ...
def other(b): ...
async def other(b): ...
@overload
@ -226,6 +261,16 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
if not isinstance(arg, (int, str)):
raise TypeError
return arg
def has_comment(): ... # still a dummy
if some_condition:
...
if already_dummy:
...
```

View file

@ -211,7 +211,7 @@ a = [
pass
@@ -68,7 +68,7 @@
@@ -68,13 +68,12 @@
def foo():
pass
@ -220,7 +220,13 @@ a = [
pass
@@ -84,7 +84,7 @@
# form feeds are prohibited inside blocks, or on a line with nonwhitespace
def bar(a=1, b: bool = False):
-
pass
@@ -85,7 +84,7 @@
def something(self):
pass
@ -416,6 +422,7 @@ pass
# form feeds are prohibited inside blocks, or on a line with nonwhitespace
def bar(a=1, b: bool = False):
pass

View file

@ -131,23 +131,6 @@ func([x for x in "short line"])
func([x for x in "long line long line long line long line long line long line long line"])
func([x for x in [x for x in "long line long line long line long line long line long line long line"]])
func({"short line"})
func({"long line", "long long line", "long long long line", "long long long long line", "long long long long long line"})
func({{"long line", "long long line", "long long long line", "long long long long line", "long long long long long line"}})
func(("long line", "long long line", "long long long line", "long long long long line", "long long long long long line"))
func((("long line", "long long line", "long long long line", "long long long long line", "long long long long long line")))
func([["long line", "long long line", "long long long line", "long long long long line", "long long long long long line"]])
# Do not hug if the argument fits on a single line.
func({"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"})
func(("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"))
func(["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"])
func(**{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"})
func(*("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----"))
array = [{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}]
array = [("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")]
array = [["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]]
foooooooooooooooooooo(
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
)
@ -157,14 +140,11 @@ baaaaaaaaaaaaar(
)
nested_mapping = {"key": [{"a very long key 1": "with a very long value", "a very long key 2": "with a very long value"}]}
nested_array = [[["long line", "long long line", "long long long line", "long long long long line", "long long long long long line"]]]
explicit_exploding = [[["short", "line",],],]
single_item_do_not_explode = Context({
"version": get_docs_version(),
})
foo(*["long long long long long line", "long long long long long line", "long long long long long line"])
foo(*[str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)])
foo(
@ -262,115 +242,7 @@ for foo in ["a", "b"]:
x
for x in [
x
@@ -130,13 +136,15 @@
"long long long long line",
"long long long long long line",
})
-func({{
- "long line",
- "long long line",
- "long long long line",
- "long long long long line",
- "long long long long long line",
-}})
+func({
+ {
+ "long line",
+ "long long line",
+ "long long long line",
+ "long long long long line",
+ "long long long long long line",
+ }
+})
func((
"long line",
"long long line",
@@ -151,30 +159,62 @@
"long long long long line",
"long long long long long line",
)))
-func([[
- "long line",
- "long long line",
- "long long long line",
- "long long long long line",
- "long long long long long line",
-]])
+func([
+ [
+ "long line",
+ "long long line",
+ "long long long line",
+ "long long long long line",
+ "long long long long long line",
+ ]
+])
# Do not hug if the argument fits on a single line.
-func(
- {"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
-)
-func(
- ("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
-)
-func(
- ["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
-)
-func(
- **{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"}
-)
-func(
- *("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----")
-)
+func({
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+})
+func((
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+))
+func([
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+])
+func(**{
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit---",
+})
+func(*(
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit----",
+))
array = [
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
]
@@ -194,18 +234,24 @@
@@ -131,10 +137,12 @@
)
nested_mapping = {
@ -385,28 +257,9 @@ for foo in ["a", "b"]:
+ }
+ ]
}
-nested_array = [[[
- "long line",
- "long long line",
- "long long long line",
- "long long long long line",
- "long long long long long line",
-]]]
+nested_array = [
+ [
+ [
+ "long line",
+ "long long line",
+ "long long long line",
+ "long long long long line",
+ "long long long long long line",
+ ]
+ ]
+]
explicit_exploding = [
[
[
@@ -240,9 +286,9 @@
@@ -164,9 +172,9 @@
})
# Edge case when deciding whether to hug the brackets without inner content.
@ -554,103 +407,6 @@ func([
]
])
func({"short line"})
func({
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
})
func({
{
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
}
})
func((
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
))
func(((
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
)))
func([
[
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
]
])
# Do not hug if the argument fits on a single line.
func({
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
})
func((
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
))
func([
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
])
func(**{
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit---",
})
func(*(
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit----",
))
array = [
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
]
array = [
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
]
array = [
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
]
foooooooooooooooooooo(
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
)
@ -667,17 +423,6 @@ nested_mapping = {
}
]
}
nested_array = [
[
[
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
]
]
]
explicit_exploding = [
[
[
@ -690,12 +435,6 @@ single_item_do_not_explode = Context({
"version": get_docs_version(),
})
foo(*[
"long long long long long line",
"long long long long long line",
"long long long long long line",
])
foo(*[
str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)
])
@ -854,69 +593,6 @@ func([
]
])
func({"short line"})
func({
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
})
func({{
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
}})
func((
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
))
func(((
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
)))
func([[
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
]])
# Do not hug if the argument fits on a single line.
func(
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
)
func(
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
)
func(
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
)
func(
**{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"}
)
func(
*("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----")
)
array = [
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
]
array = [
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
]
array = [
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
]
foooooooooooooooooooo(
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
)
@ -931,13 +607,6 @@ nested_mapping = {
"a very long key 2": "with a very long value",
}]
}
nested_array = [[[
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
]]]
explicit_exploding = [
[
[
@ -950,12 +619,6 @@ single_item_do_not_explode = Context({
"version": get_docs_version(),
})
foo(*[
"long long long long long line",
"long long long long long line",
"long long long long long line",
])
foo(*[
str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)
])

View file

@ -0,0 +1,377 @@
---
source: crates/ruff_python_formatter/tests/fixtures.rs
input_file: crates/ruff_python_formatter/resources/test/fixtures/black/cases/preview_hug_parens_with_braces_and_square_brackets_no_ll1.py
---
## Input
```python
# split out from preview_hug_parens_with_brackes_and_square_brackets, as it produces
# different code on the second pass with line-length 1 in many cases.
# Seems to be about whether the last string in a sequence gets wrapped in parens or not.
foo(*["long long long long long line", "long long long long long line", "long long long long long line"])
func({"short line"})
func({"long line", "long long line", "long long long line", "long long long long line", "long long long long long line"})
func({{"long line", "long long line", "long long long line", "long long long long line", "long long long long long line"}})
func(("long line", "long long line", "long long long line", "long long long long line", "long long long long long line"))
func((("long line", "long long line", "long long long line", "long long long long line", "long long long long long line")))
func([["long line", "long long line", "long long long line", "long long long long line", "long long long long long line"]])
# Do not hug if the argument fits on a single line.
func({"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"})
func(("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"))
func(["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"])
func(**{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"})
func(*("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----"))
array = [{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}]
array = [("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")]
array = [["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]]
nested_array = [[["long line", "long long line", "long long long line", "long long long long line", "long long long long long line"]]]
```
## Black Differences
```diff
--- Black
+++ Ruff
@@ -14,13 +14,15 @@
"long long long long line",
"long long long long long line",
})
-func({{
- "long line",
- "long long line",
- "long long long line",
- "long long long long line",
- "long long long long long line",
-}})
+func({
+ {
+ "long line",
+ "long long line",
+ "long long long line",
+ "long long long long line",
+ "long long long long long line",
+ }
+})
func((
"long line",
"long long line",
@@ -35,31 +37,63 @@
"long long long long line",
"long long long long long line",
)))
-func([[
- "long line",
- "long long line",
- "long long long line",
- "long long long long line",
- "long long long long long line",
-]])
+func([
+ [
+ "long line",
+ "long long line",
+ "long long long line",
+ "long long long long line",
+ "long long long long long line",
+ ]
+])
# Do not hug if the argument fits on a single line.
-func(
- {"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
-)
-func(
- ("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
-)
-func(
- ["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
-)
-func(
- **{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"}
-)
-func(
- *("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----")
-)
+func({
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+})
+func((
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+))
+func([
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+])
+func(**{
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit---",
+})
+func(*(
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit line",
+ "fit----",
+))
array = [
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
]
@@ -70,10 +104,14 @@
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
]
-nested_array = [[[
- "long line",
- "long long line",
- "long long long line",
- "long long long long line",
- "long long long long long line",
-]]]
+nested_array = [
+ [
+ [
+ "long line",
+ "long long line",
+ "long long long line",
+ "long long long long line",
+ "long long long long long line",
+ ]
+ ]
+]
```
## Ruff Output
```python
# split out from preview_hug_parens_with_brackes_and_square_brackets, as it produces
# different code on the second pass with line-length 1 in many cases.
# Seems to be about whether the last string in a sequence gets wrapped in parens or not.
foo(*[
"long long long long long line",
"long long long long long line",
"long long long long long line",
])
func({"short line"})
func({
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
})
func({
{
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
}
})
func((
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
))
func(((
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
)))
func([
[
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
]
])
# Do not hug if the argument fits on a single line.
func({
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
})
func((
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
))
func([
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
])
func(**{
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit---",
})
func(*(
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit line",
"fit----",
))
array = [
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
]
array = [
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
]
array = [
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
]
nested_array = [
[
[
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
]
]
]
```
## Black Output
```python
# split out from preview_hug_parens_with_brackes_and_square_brackets, as it produces
# different code on the second pass with line-length 1 in many cases.
# Seems to be about whether the last string in a sequence gets wrapped in parens or not.
foo(*[
"long long long long long line",
"long long long long long line",
"long long long long long line",
])
func({"short line"})
func({
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
})
func({{
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
}})
func((
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
))
func(((
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
)))
func([[
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
]])
# Do not hug if the argument fits on a single line.
func(
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
)
func(
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
)
func(
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
)
func(
**{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit---"}
)
func(
*("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit----")
)
array = [
{"fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"}
]
array = [
("fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line")
]
array = [
["fit line", "fit line", "fit line", "fit line", "fit line", "fit line", "fit line"]
]
nested_array = [[[
"long line",
"long long line",
"long long long line",
"long long long long line",
"long long long long long line",
]]]
```