mirror of
https://github.com/astral-sh/ruff.git
synced 2025-09-26 11:59:35 +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
|
pass
|
||||||
|
|
||||||
|
|
||||||
a = "type comment with trailing space" # type: str
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
### SECTION COMMENT ###
|
### SECTION COMMENT ###
|
||||||
#######################
|
#######################
|
||||||
|
|
|
@ -162,8 +162,6 @@ class Test:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
a = "type comment with trailing space" # type: str
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
### SECTION COMMENT ###
|
### 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"]
|
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
|
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",]
|
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 = [
|
l1 = [
|
||||||
"This list should be broken up",
|
"This list should be broken up",
|
||||||
"into multiple lines",
|
"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
|
from typing import NoReturn, Protocol, Union, overload
|
||||||
|
|
||||||
|
class Empty:
|
||||||
|
...
|
||||||
|
|
||||||
def dummy(a): ...
|
def dummy(a): ...
|
||||||
def other(b): ...
|
async def other(b): ...
|
||||||
|
|
||||||
|
|
||||||
@overload
|
@overload
|
||||||
|
@ -46,3 +48,11 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
if not isinstance(arg, (int, str)):
|
if not isinstance(arg, (int, str)):
|
||||||
raise TypeError
|
raise TypeError
|
||||||
return arg
|
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
|
from typing import NoReturn, Protocol, Union, overload
|
||||||
|
|
||||||
|
|
||||||
|
class Empty: ...
|
||||||
|
|
||||||
|
|
||||||
def dummy(a): ...
|
def dummy(a): ...
|
||||||
def other(b): ...
|
async def other(b): ...
|
||||||
|
|
||||||
|
|
||||||
@overload
|
@overload
|
||||||
|
@ -46,3 +49,13 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
if not isinstance(arg, (int, str)):
|
if not isinstance(arg, (int, str)):
|
||||||
raise TypeError
|
raise TypeError
|
||||||
return arg
|
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
|
# form feeds are prohibited inside blocks, or on a line with nonwhitespace
|
||||||
def bar(a=1, b: bool = False):
|
def bar(a=1, b: bool = False):
|
||||||
|
|
||||||
pass
|
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 "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([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(
|
foooooooooooooooooooo(
|
||||||
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
|
[{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_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",],],]
|
explicit_exploding = [[["short", "line",],],]
|
||||||
single_item_do_not_explode = Context({
|
single_item_do_not_explode = Context({
|
||||||
"version": get_docs_version(),
|
"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(*[str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)])
|
||||||
|
|
||||||
foo(
|
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(
|
foooooooooooooooooooo(
|
||||||
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
|
[{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",
|
"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 = [
|
explicit_exploding = [
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
|
@ -218,12 +148,6 @@ single_item_do_not_explode = Context({
|
||||||
"version": get_docs_version(),
|
"version": get_docs_version(),
|
||||||
})
|
})
|
||||||
|
|
||||||
foo(*[
|
|
||||||
"long long long long long line",
|
|
||||||
"long long long long long line",
|
|
||||||
"long long long long long line",
|
|
||||||
])
|
|
||||||
|
|
||||||
foo(*[
|
foo(*[
|
||||||
str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)
|
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)
|
length = int(length)
|
||||||
options["line_width"] = 1 if length == 0 else 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:
|
if "--skip-magic-trailing-comma" in flags:
|
||||||
options["magic_trailing_comma"] = "ignore"
|
options["magic_trailing_comma"] = "ignore"
|
||||||
|
|
||||||
|
|
|
@ -162,8 +162,6 @@ class Test:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
a = "type comment with trailing space" # type: str
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
### SECTION COMMENT ###
|
### SECTION COMMENT ###
|
||||||
#######################
|
#######################
|
||||||
|
@ -427,8 +425,6 @@ class Test:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
a = "type comment with trailing space" # type: str
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
### SECTION COMMENT ###
|
### SECTION COMMENT ###
|
||||||
#######################
|
#######################
|
||||||
|
@ -607,8 +603,6 @@ class Test:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
a = "type comment with trailing space" # type: str
|
|
||||||
|
|
||||||
#######################
|
#######################
|
||||||
### SECTION COMMENT ###
|
### 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
|
```python
|
||||||
from typing import NoReturn, Protocol, Union, overload
|
from typing import NoReturn, Protocol, Union, overload
|
||||||
|
|
||||||
|
class Empty:
|
||||||
|
...
|
||||||
|
|
||||||
def dummy(a): ...
|
def dummy(a): ...
|
||||||
def other(b): ...
|
async def other(b): ...
|
||||||
|
|
||||||
|
|
||||||
@overload
|
@overload
|
||||||
|
@ -53,6 +55,14 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
if not isinstance(arg, (int, str)):
|
if not isinstance(arg, (int, str)):
|
||||||
raise TypeError
|
raise TypeError
|
||||||
return arg
|
return arg
|
||||||
|
|
||||||
|
def has_comment():
|
||||||
|
... # still a dummy
|
||||||
|
|
||||||
|
if some_condition:
|
||||||
|
...
|
||||||
|
|
||||||
|
if already_dummy: ...
|
||||||
```
|
```
|
||||||
|
|
||||||
## Black Differences
|
## Black Differences
|
||||||
|
@ -60,13 +70,13 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
```diff
|
```diff
|
||||||
--- Black
|
--- Black
|
||||||
+++ Ruff
|
+++ Ruff
|
||||||
@@ -2,15 +2,23 @@
|
@@ -5,15 +5,23 @@
|
||||||
|
|
||||||
|
|
||||||
def dummy(a): ...
|
def dummy(a): ...
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
def other(b): ...
|
async def other(b): ...
|
||||||
|
|
||||||
|
|
||||||
@overload
|
@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]:
|
def a(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
if not isinstance(arg, (int, str)):
|
if not isinstance(arg, (int, str)):
|
||||||
raise TypeError
|
raise TypeError
|
||||||
@@ -21,10 +29,13 @@
|
@@ -24,10 +32,13 @@
|
||||||
def foo(self, a: int) -> int: ...
|
def foo(self, a: int) -> int: ...
|
||||||
|
|
||||||
def bar(self, b: str) -> str: ...
|
def bar(self, b: str) -> str: ...
|
||||||
|
@ -98,7 +108,7 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
@dummy
|
@dummy
|
||||||
def dummy_three(): ...
|
def dummy_three(): ...
|
||||||
|
|
||||||
@@ -38,6 +49,8 @@
|
@@ -41,6 +52,8 @@
|
||||||
|
|
||||||
@overload
|
@overload
|
||||||
def b(arg: str) -> str: ...
|
def b(arg: str) -> str: ...
|
||||||
|
@ -107,6 +117,17 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
@overload
|
@overload
|
||||||
def b(arg: object) -> NoReturn: ...
|
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
|
## Ruff Output
|
||||||
|
@ -115,10 +136,13 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
from typing import NoReturn, Protocol, Union, overload
|
from typing import NoReturn, Protocol, Union, overload
|
||||||
|
|
||||||
|
|
||||||
|
class Empty: ...
|
||||||
|
|
||||||
|
|
||||||
def dummy(a): ...
|
def dummy(a): ...
|
||||||
|
|
||||||
|
|
||||||
def other(b): ...
|
async def other(b): ...
|
||||||
|
|
||||||
|
|
||||||
@overload
|
@overload
|
||||||
|
@ -173,6 +197,14 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
if not isinstance(arg, (int, str)):
|
if not isinstance(arg, (int, str)):
|
||||||
raise TypeError
|
raise TypeError
|
||||||
return arg
|
return arg
|
||||||
|
|
||||||
|
|
||||||
|
def has_comment(): ... # still a dummy
|
||||||
|
|
||||||
|
|
||||||
|
if some_condition: ...
|
||||||
|
|
||||||
|
if already_dummy: ...
|
||||||
```
|
```
|
||||||
|
|
||||||
## Black Output
|
## Black Output
|
||||||
|
@ -181,8 +213,11 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
from typing import NoReturn, Protocol, Union, overload
|
from typing import NoReturn, Protocol, Union, overload
|
||||||
|
|
||||||
|
|
||||||
|
class Empty: ...
|
||||||
|
|
||||||
|
|
||||||
def dummy(a): ...
|
def dummy(a): ...
|
||||||
def other(b): ...
|
async def other(b): ...
|
||||||
|
|
||||||
|
|
||||||
@overload
|
@overload
|
||||||
|
@ -226,6 +261,16 @@ def b(arg: Union[int, str, object]) -> Union[int, str]:
|
||||||
if not isinstance(arg, (int, str)):
|
if not isinstance(arg, (int, str)):
|
||||||
raise TypeError
|
raise TypeError
|
||||||
return arg
|
return arg
|
||||||
|
|
||||||
|
|
||||||
|
def has_comment(): ... # still a dummy
|
||||||
|
|
||||||
|
|
||||||
|
if some_condition:
|
||||||
|
...
|
||||||
|
|
||||||
|
if already_dummy:
|
||||||
|
...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -211,7 +211,7 @@ a = [
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@
|
@@ -68,13 +68,12 @@
|
||||||
def foo():
|
def foo():
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -220,7 +220,13 @@ a = [
|
||||||
pass
|
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):
|
def something(self):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -416,6 +422,7 @@ pass
|
||||||
|
|
||||||
# form feeds are prohibited inside blocks, or on a line with nonwhitespace
|
# form feeds are prohibited inside blocks, or on a line with nonwhitespace
|
||||||
def bar(a=1, b: bool = False):
|
def bar(a=1, b: bool = False):
|
||||||
|
|
||||||
pass
|
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 "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([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(
|
foooooooooooooooooooo(
|
||||||
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
|
[{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_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",],],]
|
explicit_exploding = [[["short", "line",],],]
|
||||||
single_item_do_not_explode = Context({
|
single_item_do_not_explode = Context({
|
||||||
"version": get_docs_version(),
|
"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(*[str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)])
|
||||||
|
|
||||||
foo(
|
foo(
|
||||||
|
@ -262,115 +242,7 @@ for foo in ["a", "b"]:
|
||||||
x
|
x
|
||||||
for x in [
|
for x in [
|
||||||
x
|
x
|
||||||
@@ -130,13 +136,15 @@
|
@@ -131,10 +137,12 @@
|
||||||
"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 @@
|
|
||||||
)
|
)
|
||||||
|
|
||||||
nested_mapping = {
|
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 = [
|
explicit_exploding = [
|
||||||
[
|
[
|
||||||
[
|
@@ -164,9 +172,9 @@
|
||||||
@@ -240,9 +286,9 @@
|
|
||||||
})
|
})
|
||||||
|
|
||||||
# Edge case when deciding whether to hug the brackets without inner content.
|
# 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(
|
foooooooooooooooooooo(
|
||||||
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
|
[{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 = [
|
explicit_exploding = [
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
|
@ -690,12 +435,6 @@ single_item_do_not_explode = Context({
|
||||||
"version": get_docs_version(),
|
"version": get_docs_version(),
|
||||||
})
|
})
|
||||||
|
|
||||||
foo(*[
|
|
||||||
"long long long long long line",
|
|
||||||
"long long long long long line",
|
|
||||||
"long long long long long line",
|
|
||||||
])
|
|
||||||
|
|
||||||
foo(*[
|
foo(*[
|
||||||
str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)
|
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(
|
foooooooooooooooooooo(
|
||||||
[{c: n + 1 for c in range(256)} for n in range(100)] + [{}], {size}
|
[{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",
|
"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 = [
|
explicit_exploding = [
|
||||||
[
|
[
|
||||||
[
|
[
|
||||||
|
@ -950,12 +619,6 @@ single_item_do_not_explode = Context({
|
||||||
"version": get_docs_version(),
|
"version": get_docs_version(),
|
||||||
})
|
})
|
||||||
|
|
||||||
foo(*[
|
|
||||||
"long long long long long line",
|
|
||||||
"long long long long long line",
|
|
||||||
"long long long long long line",
|
|
||||||
])
|
|
||||||
|
|
||||||
foo(*[
|
foo(*[
|
||||||
str(i) for i in range(100000000000000000000000000000000000000000000000000000000000)
|
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