mirror of
https://github.com/astral-sh/ruff.git
synced 2025-08-03 02:13:08 +00:00
Update Black tests (#6618)
## Summary Pulls in some tests that we previously couldn't support ## Test Plan `cargo test`
This commit is contained in:
parent
12f3c4c931
commit
d0b8e4f701
8 changed files with 778 additions and 5 deletions
|
@ -1,3 +1,3 @@
|
|||
# The input source must not contain any Py36-specific syntax (e.g. argument type
|
||||
# annotations, trailing comma after *rest) or this test becomes invalid.
|
||||
def long_function_name(argument_one, argument_two, argument_three, argument_four, argument_five, argument_six, *rest): ...
|
||||
def long_function_name(argument_one, argument_two, argument_three, argument_four, argument_five, argument_six, *rest): pass
|
||||
|
|
|
@ -9,4 +9,4 @@ def long_function_name(
|
|||
argument_six,
|
||||
*rest,
|
||||
):
|
||||
...
|
||||
pass
|
||||
|
|
194
crates/ruff_python_formatter/resources/test/fixtures/black/py_311/pep_646.py
vendored
Normal file
194
crates/ruff_python_formatter/resources/test/fixtures/black/py_311/pep_646.py
vendored
Normal file
|
@ -0,0 +1,194 @@
|
|||
A[*b]
|
||||
A[*b] = 1
|
||||
A
|
||||
del A[*b]
|
||||
A
|
||||
A[*b, *b]
|
||||
A[*b, *b] = 1
|
||||
A
|
||||
del A[*b, *b]
|
||||
A
|
||||
A[b, *b]
|
||||
A[b, *b] = 1
|
||||
A
|
||||
del A[b, *b]
|
||||
A
|
||||
A[*b, b]
|
||||
A[*b, b] = 1
|
||||
A
|
||||
del A[*b, b]
|
||||
A
|
||||
A[b, b, *b]
|
||||
A[b, b, *b] = 1
|
||||
A
|
||||
del A[b, b, *b]
|
||||
A
|
||||
A[*b, b, b]
|
||||
A[*b, b, b] = 1
|
||||
A
|
||||
del A[*b, b, b]
|
||||
A
|
||||
A[b, *b, b]
|
||||
A[b, *b, b] = 1
|
||||
A
|
||||
del A[b, *b, b]
|
||||
A
|
||||
A[b, b, *b, b]
|
||||
A[b, b, *b, b] = 1
|
||||
A
|
||||
del A[b, b, *b, b]
|
||||
A
|
||||
A[b, *b, b, b]
|
||||
A[b, *b, b, b] = 1
|
||||
A
|
||||
del A[b, *b, b, b]
|
||||
A
|
||||
A[A[b, *b, b]]
|
||||
A[A[b, *b, b]] = 1
|
||||
A
|
||||
del A[A[b, *b, b]]
|
||||
A
|
||||
A[*A[b, *b, b]]
|
||||
A[*A[b, *b, b]] = 1
|
||||
A
|
||||
del A[*A[b, *b, b]]
|
||||
A
|
||||
A[b, ...]
|
||||
A[b, ...] = 1
|
||||
A
|
||||
del A[b, ...]
|
||||
A
|
||||
A[*A[b, ...]]
|
||||
A[*A[b, ...]] = 1
|
||||
A
|
||||
del A[*A[b, ...]]
|
||||
A
|
||||
l = [1, 2, 3]
|
||||
A[*l]
|
||||
A[*l] = 1
|
||||
A
|
||||
del A[*l]
|
||||
A
|
||||
A[*l, 4]
|
||||
A[*l, 4] = 1
|
||||
A
|
||||
del A[*l, 4]
|
||||
A
|
||||
A[0, *l]
|
||||
A[0, *l] = 1
|
||||
A
|
||||
del A[0, *l]
|
||||
A
|
||||
A[1:2, *l]
|
||||
A[1:2, *l] = 1
|
||||
A
|
||||
del A[1:2, *l]
|
||||
A
|
||||
repr(A[1:2, *l]) == repr(A[1:2, 1, 2, 3])
|
||||
t = (1, 2, 3)
|
||||
A[*t]
|
||||
A[*t] = 1
|
||||
A
|
||||
del A[*t]
|
||||
A
|
||||
A[*t, 4]
|
||||
A[*t, 4] = 1
|
||||
A
|
||||
del A[*t, 4]
|
||||
A
|
||||
A[0, *t]
|
||||
A[0, *t] = 1
|
||||
A
|
||||
del A[0, *t]
|
||||
A
|
||||
A[1:2, *t]
|
||||
A[1:2, *t] = 1
|
||||
A
|
||||
del A[1:2, *t]
|
||||
A
|
||||
repr(A[1:2, *t]) == repr(A[1:2, 1, 2, 3])
|
||||
|
||||
|
||||
def returns_list():
|
||||
return [1, 2, 3]
|
||||
|
||||
|
||||
A[returns_list()]
|
||||
A[returns_list()] = 1
|
||||
A
|
||||
del A[returns_list()]
|
||||
A
|
||||
A[returns_list(), 4]
|
||||
A[returns_list(), 4] = 1
|
||||
A
|
||||
del A[returns_list(), 4]
|
||||
A
|
||||
A[*returns_list()]
|
||||
A[*returns_list()] = 1
|
||||
A
|
||||
del A[*returns_list()]
|
||||
A
|
||||
A[*returns_list(), 4]
|
||||
A[*returns_list(), 4] = 1
|
||||
A
|
||||
del A[*returns_list(), 4]
|
||||
A
|
||||
A[0, *returns_list()]
|
||||
A[0, *returns_list()] = 1
|
||||
A
|
||||
del A[0, *returns_list()]
|
||||
A
|
||||
A[*returns_list(), *returns_list()]
|
||||
A[*returns_list(), *returns_list()] = 1
|
||||
A
|
||||
del A[*returns_list(), *returns_list()]
|
||||
A
|
||||
A[1:2, *b]
|
||||
A[*b, 1:2]
|
||||
A[1:2, *b, 1:2]
|
||||
A[*b, 1:2, *b]
|
||||
A[1:, *b]
|
||||
A[*b, 1:]
|
||||
A[1:, *b, 1:]
|
||||
A[*b, 1:, *b]
|
||||
A[:1, *b]
|
||||
A[*b, :1]
|
||||
A[:1, *b, :1]
|
||||
A[*b, :1, *b]
|
||||
A[:, *b]
|
||||
A[*b, :]
|
||||
A[:, *b, :]
|
||||
A[*b, :, *b]
|
||||
A[a * b()]
|
||||
A[a * b(), *c, *d(), e * f(g * h)]
|
||||
A[a * b(), :]
|
||||
A[a * b(), *c, *d(), e * f(g * h) :]
|
||||
A[[b] * len(c), :]
|
||||
|
||||
|
||||
def f1(*args: *b):
|
||||
pass
|
||||
|
||||
|
||||
f1.__annotations__
|
||||
|
||||
|
||||
def f2(*args: *b, arg1):
|
||||
pass
|
||||
|
||||
|
||||
f2.__annotations__
|
||||
|
||||
|
||||
def f3(*args: *b, arg1: int):
|
||||
pass
|
||||
|
||||
|
||||
f3.__annotations__
|
||||
|
||||
|
||||
def f4(*args: *b, arg1: int = 2):
|
||||
pass
|
||||
|
||||
|
||||
f4.__annotations__
|
194
crates/ruff_python_formatter/resources/test/fixtures/black/py_311/pep_646.py.expect
vendored
Normal file
194
crates/ruff_python_formatter/resources/test/fixtures/black/py_311/pep_646.py.expect
vendored
Normal file
|
@ -0,0 +1,194 @@
|
|||
A[*b]
|
||||
A[*b] = 1
|
||||
A
|
||||
del A[*b]
|
||||
A
|
||||
A[*b, *b]
|
||||
A[*b, *b] = 1
|
||||
A
|
||||
del A[*b, *b]
|
||||
A
|
||||
A[b, *b]
|
||||
A[b, *b] = 1
|
||||
A
|
||||
del A[b, *b]
|
||||
A
|
||||
A[*b, b]
|
||||
A[*b, b] = 1
|
||||
A
|
||||
del A[*b, b]
|
||||
A
|
||||
A[b, b, *b]
|
||||
A[b, b, *b] = 1
|
||||
A
|
||||
del A[b, b, *b]
|
||||
A
|
||||
A[*b, b, b]
|
||||
A[*b, b, b] = 1
|
||||
A
|
||||
del A[*b, b, b]
|
||||
A
|
||||
A[b, *b, b]
|
||||
A[b, *b, b] = 1
|
||||
A
|
||||
del A[b, *b, b]
|
||||
A
|
||||
A[b, b, *b, b]
|
||||
A[b, b, *b, b] = 1
|
||||
A
|
||||
del A[b, b, *b, b]
|
||||
A
|
||||
A[b, *b, b, b]
|
||||
A[b, *b, b, b] = 1
|
||||
A
|
||||
del A[b, *b, b, b]
|
||||
A
|
||||
A[A[b, *b, b]]
|
||||
A[A[b, *b, b]] = 1
|
||||
A
|
||||
del A[A[b, *b, b]]
|
||||
A
|
||||
A[*A[b, *b, b]]
|
||||
A[*A[b, *b, b]] = 1
|
||||
A
|
||||
del A[*A[b, *b, b]]
|
||||
A
|
||||
A[b, ...]
|
||||
A[b, ...] = 1
|
||||
A
|
||||
del A[b, ...]
|
||||
A
|
||||
A[*A[b, ...]]
|
||||
A[*A[b, ...]] = 1
|
||||
A
|
||||
del A[*A[b, ...]]
|
||||
A
|
||||
l = [1, 2, 3]
|
||||
A[*l]
|
||||
A[*l] = 1
|
||||
A
|
||||
del A[*l]
|
||||
A
|
||||
A[*l, 4]
|
||||
A[*l, 4] = 1
|
||||
A
|
||||
del A[*l, 4]
|
||||
A
|
||||
A[0, *l]
|
||||
A[0, *l] = 1
|
||||
A
|
||||
del A[0, *l]
|
||||
A
|
||||
A[1:2, *l]
|
||||
A[1:2, *l] = 1
|
||||
A
|
||||
del A[1:2, *l]
|
||||
A
|
||||
repr(A[1:2, *l]) == repr(A[1:2, 1, 2, 3])
|
||||
t = (1, 2, 3)
|
||||
A[*t]
|
||||
A[*t] = 1
|
||||
A
|
||||
del A[*t]
|
||||
A
|
||||
A[*t, 4]
|
||||
A[*t, 4] = 1
|
||||
A
|
||||
del A[*t, 4]
|
||||
A
|
||||
A[0, *t]
|
||||
A[0, *t] = 1
|
||||
A
|
||||
del A[0, *t]
|
||||
A
|
||||
A[1:2, *t]
|
||||
A[1:2, *t] = 1
|
||||
A
|
||||
del A[1:2, *t]
|
||||
A
|
||||
repr(A[1:2, *t]) == repr(A[1:2, 1, 2, 3])
|
||||
|
||||
|
||||
def returns_list():
|
||||
return [1, 2, 3]
|
||||
|
||||
|
||||
A[returns_list()]
|
||||
A[returns_list()] = 1
|
||||
A
|
||||
del A[returns_list()]
|
||||
A
|
||||
A[returns_list(), 4]
|
||||
A[returns_list(), 4] = 1
|
||||
A
|
||||
del A[returns_list(), 4]
|
||||
A
|
||||
A[*returns_list()]
|
||||
A[*returns_list()] = 1
|
||||
A
|
||||
del A[*returns_list()]
|
||||
A
|
||||
A[*returns_list(), 4]
|
||||
A[*returns_list(), 4] = 1
|
||||
A
|
||||
del A[*returns_list(), 4]
|
||||
A
|
||||
A[0, *returns_list()]
|
||||
A[0, *returns_list()] = 1
|
||||
A
|
||||
del A[0, *returns_list()]
|
||||
A
|
||||
A[*returns_list(), *returns_list()]
|
||||
A[*returns_list(), *returns_list()] = 1
|
||||
A
|
||||
del A[*returns_list(), *returns_list()]
|
||||
A
|
||||
A[1:2, *b]
|
||||
A[*b, 1:2]
|
||||
A[1:2, *b, 1:2]
|
||||
A[*b, 1:2, *b]
|
||||
A[1:, *b]
|
||||
A[*b, 1:]
|
||||
A[1:, *b, 1:]
|
||||
A[*b, 1:, *b]
|
||||
A[:1, *b]
|
||||
A[*b, :1]
|
||||
A[:1, *b, :1]
|
||||
A[*b, :1, *b]
|
||||
A[:, *b]
|
||||
A[*b, :]
|
||||
A[:, *b, :]
|
||||
A[*b, :, *b]
|
||||
A[a * b()]
|
||||
A[a * b(), *c, *d(), e * f(g * h)]
|
||||
A[a * b(), :]
|
||||
A[a * b(), *c, *d(), e * f(g * h) :]
|
||||
A[[b] * len(c), :]
|
||||
|
||||
|
||||
def f1(*args: *b):
|
||||
pass
|
||||
|
||||
|
||||
f1.__annotations__
|
||||
|
||||
|
||||
def f2(*args: *b, arg1):
|
||||
pass
|
||||
|
||||
|
||||
f2.__annotations__
|
||||
|
||||
|
||||
def f3(*args: *b, arg1: int):
|
||||
pass
|
||||
|
||||
|
||||
f3.__annotations__
|
||||
|
||||
|
||||
def f4(*args: *b, arg1: int = 2):
|
||||
pass
|
||||
|
||||
|
||||
f4.__annotations__
|
69
crates/ruff_python_formatter/resources/test/fixtures/black/py_38/pep_572_remove_parens.py
vendored
Normal file
69
crates/ruff_python_formatter/resources/test/fixtures/black/py_38/pep_572_remove_parens.py
vendored
Normal file
|
@ -0,0 +1,69 @@
|
|||
if (foo := 0):
|
||||
pass
|
||||
|
||||
if (foo := 1):
|
||||
pass
|
||||
|
||||
if (y := 5 + 5):
|
||||
pass
|
||||
|
||||
y = (x := 0)
|
||||
|
||||
y += (x := 0)
|
||||
|
||||
(y := 5 + 5)
|
||||
|
||||
test: int = (test2 := 2)
|
||||
|
||||
a, b = (test := (1, 2))
|
||||
|
||||
# see also https://github.com/psf/black/issues/2139
|
||||
assert (foo := 42 - 12)
|
||||
|
||||
foo(x=(y := f(x)))
|
||||
|
||||
|
||||
def foo(answer=(p := 42)):
|
||||
...
|
||||
|
||||
|
||||
def foo2(answer: (p := 42) = 5):
|
||||
...
|
||||
|
||||
|
||||
lambda: (x := 1)
|
||||
|
||||
a[(x := 12)]
|
||||
a[:(x := 13)]
|
||||
|
||||
# we don't touch expressions in f-strings but if we do one day, don't break 'em
|
||||
f'{(x:=10)}'
|
||||
|
||||
|
||||
def a():
|
||||
return (x := 3)
|
||||
await (b := 1)
|
||||
yield (a := 2)
|
||||
raise (c := 3)
|
||||
|
||||
def this_is_so_dumb() -> (please := no):
|
||||
pass
|
||||
|
||||
async def await_the_walrus():
|
||||
with (x := y):
|
||||
pass
|
||||
|
||||
with (x := y) as z, (a := b) as c:
|
||||
pass
|
||||
|
||||
with (x := await y):
|
||||
pass
|
||||
|
||||
with (x := await a, y := await b):
|
||||
pass
|
||||
|
||||
with ((x := await a, y := await b)):
|
||||
pass
|
||||
|
||||
with (x := await a), (y := await b):
|
||||
pass
|
71
crates/ruff_python_formatter/resources/test/fixtures/black/py_38/pep_572_remove_parens.py.expect
vendored
Normal file
71
crates/ruff_python_formatter/resources/test/fixtures/black/py_38/pep_572_remove_parens.py.expect
vendored
Normal file
|
@ -0,0 +1,71 @@
|
|||
if foo := 0:
|
||||
pass
|
||||
|
||||
if foo := 1:
|
||||
pass
|
||||
|
||||
if y := 5 + 5:
|
||||
pass
|
||||
|
||||
y = (x := 0)
|
||||
|
||||
y += (x := 0)
|
||||
|
||||
(y := 5 + 5)
|
||||
|
||||
test: int = (test2 := 2)
|
||||
|
||||
a, b = (test := (1, 2))
|
||||
|
||||
# see also https://github.com/psf/black/issues/2139
|
||||
assert (foo := 42 - 12)
|
||||
|
||||
foo(x=(y := f(x)))
|
||||
|
||||
|
||||
def foo(answer=(p := 42)):
|
||||
...
|
||||
|
||||
|
||||
def foo2(answer: (p := 42) = 5):
|
||||
...
|
||||
|
||||
|
||||
lambda: (x := 1)
|
||||
|
||||
a[(x := 12)]
|
||||
a[:(x := 13)]
|
||||
|
||||
# we don't touch expressions in f-strings but if we do one day, don't break 'em
|
||||
f"{(x:=10)}"
|
||||
|
||||
|
||||
def a():
|
||||
return (x := 3)
|
||||
await (b := 1)
|
||||
yield (a := 2)
|
||||
raise (c := 3)
|
||||
|
||||
|
||||
def this_is_so_dumb() -> (please := no):
|
||||
pass
|
||||
|
||||
|
||||
async def await_the_walrus():
|
||||
with (x := y):
|
||||
pass
|
||||
|
||||
with (x := y) as z, (a := b) as c:
|
||||
pass
|
||||
|
||||
with (x := await y):
|
||||
pass
|
||||
|
||||
with (x := await a, y := await b):
|
||||
pass
|
||||
|
||||
with (x := await a, y := await b):
|
||||
pass
|
||||
|
||||
with (x := await a), (y := await b):
|
||||
pass
|
|
@ -43,6 +43,7 @@ def import_fixture(fixture: Path, fixture_set: str):
|
|||
|
||||
# The name of the folders in the `data` for which the tests should be imported
|
||||
FIXTURE_SETS = [
|
||||
"fast",
|
||||
"py_36",
|
||||
"py_37",
|
||||
"py_38",
|
||||
|
@ -58,9 +59,6 @@ FIXTURE_SETS = [
|
|||
|
||||
# Tests that ruff doesn't fully support yet and, therefore, should not be imported
|
||||
IGNORE_LIST = [
|
||||
"pep_572_remove_parens.py", # Reformatting bugs
|
||||
"pep_646.py", # Rust Python parser bug
|
||||
|
||||
# Contain syntax errors
|
||||
"async_as_identifier.py",
|
||||
"invalid_header.py",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue