mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-04 02:38:25 +00:00
Set target versions in Black tests (#9221)
This commit is contained in:
parent
8cb7950102
commit
c6d8076034
55 changed files with 996 additions and 466 deletions
2
crates/ruff_python_formatter/resources/test/fixtures/black/cases/comment_type_hint.py
vendored
Normal file
2
crates/ruff_python_formatter/resources/test/fixtures/black/cases/comment_type_hint.py
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
# split out from comments2 as it does not work with line-length=1, losing the comment
|
||||
a = "type comment with trailing space" # type: str
|
2
crates/ruff_python_formatter/resources/test/fixtures/black/cases/comment_type_hint.py.expect
vendored
Normal file
2
crates/ruff_python_formatter/resources/test/fixtures/black/cases/comment_type_hint.py.expect
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
# split out from comments2 as it does not work with line-length=1, losing the comment
|
||||
a = "type comment with trailing space" # type: str
|
|
@ -155,8 +155,6 @@ class Test:
|
|||
pass
|
||||
|
||||
|
||||
a = "type comment with trailing space" # type: str
|
||||
|
||||
#######################
|
||||
### SECTION COMMENT ###
|
||||
#######################
|
||||
|
|
|
@ -162,8 +162,6 @@ class Test:
|
|||
pass
|
||||
|
||||
|
||||
a = "type comment with trailing space" # type: str
|
||||
|
||||
#######################
|
||||
### SECTION COMMENT ###
|
||||
#######################
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# l2 loses the comment with line-length=1 in preview mode
|
||||
l1 = ["This list should be broken up", "into multiple lines", "because it is way too long"]
|
||||
l2 = ["But this list shouldn't", "even though it also has", "way too many characters in it"] # fmt: skip
|
||||
l3 = ["I have", "trailing comma", "so I should be braked",]
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# l2 loses the comment with line-length=1 in preview mode
|
||||
l1 = [
|
||||
"This list should be broken up",
|
||||
"into multiple lines",
|
||||
|
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py310"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py310"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py310"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py310"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py310"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py310"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py310"}
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py310"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_570.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_570.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py38"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_572.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_572.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py38"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_572_py310.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_572_py310.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py310"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_572_py39.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_572_py39.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py39"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py38"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_646.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_646.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py311"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_654.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_654.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py311"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_654_style.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/pep_654_style.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py311"}
|
|
@ -0,0 +1 @@
|
|||
{"preview": "enabled"}
|
|
@ -0,0 +1,62 @@
|
|||
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
|
|
@ -0,0 +1,62 @@
|
|||
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
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py38"}
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py39"}
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py310"}
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py311"}
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py39"}
|
|
@ -1,8 +1,10 @@
|
|||
from typing import NoReturn, Protocol, Union, overload
|
||||
|
||||
class Empty:
|
||||
...
|
||||
|
||||
def dummy(a): ...
|
||||
def other(b): ...
|
||||
async def other(b): ...
|
||||
|
||||
|
||||
@overload
|
||||
|
@ -46,3 +48,11 @@ 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: ...
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
from typing import NoReturn, Protocol, Union, overload
|
||||
|
||||
|
||||
class Empty: ...
|
||||
|
||||
|
||||
def dummy(a): ...
|
||||
def other(b): ...
|
||||
async def other(b): ...
|
||||
|
||||
|
||||
@overload
|
||||
|
@ -46,3 +49,13 @@ 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:
|
||||
...
|
||||
|
|
|
@ -74,6 +74,7 @@ pass
|
|||
|
||||
# form feeds are prohibited inside blocks, or on a line with nonwhitespace
|
||||
def bar(a=1, b: bool = False):
|
||||
|
||||
pass
|
||||
|
||||
|
||||
|
|
|
@ -124,23 +124,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}
|
||||
)
|
||||
|
@ -150,14 +133,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(
|
||||
|
|
|
@ -122,69 +122,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}
|
||||
)
|
||||
|
@ -199,13 +136,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 = [
|
||||
[
|
||||
[
|
||||
|
@ -218,12 +148,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)
|
||||
])
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
{"preview": "enabled"}
|
|
@ -0,0 +1,23 @@
|
|||
# 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"]]]
|
|
@ -0,0 +1,79 @@
|
|||
# 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",
|
||||
]]]
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py310"}
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py310"}
|
|
@ -1 +1 @@
|
|||
{"preview": "enabled"}
|
||||
{"preview": "enabled", "target_version": "py310"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/python37.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/python37.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py37"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/python38.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/python38.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py38"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/python39.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/python39.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py39"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py310"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py39"}
|
|
@ -0,0 +1 @@
|
|||
{"target_version": "py310"}
|
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/type_params.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/black/cases/type_params.options.json
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
{"target_version": "py312"}
|
|
@ -51,6 +51,11 @@ def import_fixture(fixture: Path, fixture_set: str):
|
|||
length = int(length)
|
||||
options["line_width"] = 1 if length == 0 else length
|
||||
|
||||
if "--minimum-version=" in flags:
|
||||
[_, version] = flags.split("--minimum-version=", 1)
|
||||
# Convert 3.10 to py310
|
||||
options["target_version"] = f"py{version.strip().replace('.', '')}"
|
||||
|
||||
if "--skip-magic-trailing-comma" in flags:
|
||||
options["magic_trailing_comma"] = "ignore"
|
||||
|
||||
|
|
|
@ -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 ###
|
||||
#######################
|
||||
|
|
|
@ -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
|
||||
```
|
||||
|
||||
|
|
@ -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:
|
||||
...
|
||||
```
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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)
|
||||
])
|
||||
|
|
|
@ -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",
|
||||
]]]
|
||||
```
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue