mirror of https://github.com/astral-sh/ruff
add dedicated small fixtures for fluent formatting
This commit is contained in:
parent
f9780ed5f0
commit
b2fc41dccc
1
crates/ruff_python_formatter/resources/test/fixtures/ruff/fluent.options.json
vendored
Normal file
1
crates/ruff_python_formatter/resources/test/fixtures/ruff/fluent.options.json
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
[{"line_width":8}]
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
# Fixtures for fluent formatting of call chains
|
||||||
|
# Note that `fluent.options.json` sets line width to 8
|
||||||
|
|
||||||
|
|
||||||
|
x = a.b()
|
||||||
|
|
||||||
|
x = a.b().c()
|
||||||
|
|
||||||
|
x = a.b().c().d
|
||||||
|
|
||||||
|
x = a.b.c.d().e()
|
||||||
|
|
||||||
|
x = a.b.c().d.e().f.g()
|
||||||
|
|
||||||
|
# Consecutive calls/subscripts are grouped together
|
||||||
|
# for the purposes of fluent formatting (though, as 2025.12.15,
|
||||||
|
# there may be a break inside of one of these
|
||||||
|
# calls/subscripts, but that is unrelated to the fluent format.)
|
||||||
|
|
||||||
|
x = a()[0]().b().c()
|
||||||
|
|
||||||
|
x = a.b()[0].c.d()[1]().e
|
||||||
|
|
||||||
|
# Parentheses affect both where the root of the call
|
||||||
|
# chain is and how many calls we require before applying
|
||||||
|
# fluent formatting (just 1, in the presence of a parenthesized
|
||||||
|
# root, as of 2025.12.15.)
|
||||||
|
|
||||||
|
x = (a).b()
|
||||||
|
|
||||||
|
x = (a()).b()
|
||||||
|
|
||||||
|
x = (a.b()).d.e()
|
||||||
|
|
||||||
|
x = (a.b().d).e()
|
||||||
|
|
@ -0,0 +1,163 @@
|
||||||
|
---
|
||||||
|
source: crates/ruff_python_formatter/tests/fixtures.rs
|
||||||
|
input_file: crates/ruff_python_formatter/resources/test/fixtures/ruff/fluent.py
|
||||||
|
---
|
||||||
|
## Input
|
||||||
|
```python
|
||||||
|
# Fixtures for fluent formatting of call chains
|
||||||
|
# Note that `fluent.options.json` sets line width to 8
|
||||||
|
|
||||||
|
|
||||||
|
x = a.b()
|
||||||
|
|
||||||
|
x = a.b().c()
|
||||||
|
|
||||||
|
x = a.b().c().d
|
||||||
|
|
||||||
|
x = a.b.c.d().e()
|
||||||
|
|
||||||
|
x = a.b.c().d.e().f.g()
|
||||||
|
|
||||||
|
# Consecutive calls/subscripts are grouped together
|
||||||
|
# for the purposes of fluent formatting (though, as 2025.12.15,
|
||||||
|
# there may be a break inside of one of these
|
||||||
|
# calls/subscripts, but that is unrelated to the fluent format.)
|
||||||
|
|
||||||
|
x = a()[0]().b().c()
|
||||||
|
|
||||||
|
x = a.b()[0].c.d()[1]().e
|
||||||
|
|
||||||
|
# Parentheses affect both where the root of the call
|
||||||
|
# chain is and how many calls we require before applying
|
||||||
|
# fluent formatting (just 1, in the presence of a parenthesized
|
||||||
|
# root, as of 2025.12.15.)
|
||||||
|
|
||||||
|
x = (a).b()
|
||||||
|
|
||||||
|
x = (a()).b()
|
||||||
|
|
||||||
|
x = (a.b()).d.e()
|
||||||
|
|
||||||
|
x = (a.b().d).e()
|
||||||
|
```
|
||||||
|
|
||||||
|
## Outputs
|
||||||
|
### Output 1
|
||||||
|
```
|
||||||
|
indent-style = space
|
||||||
|
line-width = 8
|
||||||
|
indent-width = 4
|
||||||
|
quote-style = Double
|
||||||
|
line-ending = LineFeed
|
||||||
|
magic-trailing-comma = Respect
|
||||||
|
docstring-code = Disabled
|
||||||
|
docstring-code-line-width = "dynamic"
|
||||||
|
preview = Disabled
|
||||||
|
target_version = 3.10
|
||||||
|
source_type = Python
|
||||||
|
```
|
||||||
|
|
||||||
|
```python
|
||||||
|
# Fixtures for fluent formatting of call chains
|
||||||
|
# Note that `fluent.options.json` sets line width to 8
|
||||||
|
|
||||||
|
|
||||||
|
x = a.b()
|
||||||
|
|
||||||
|
x = a.b().c()
|
||||||
|
|
||||||
|
x = (
|
||||||
|
a.b()
|
||||||
|
.c()
|
||||||
|
.d
|
||||||
|
)
|
||||||
|
|
||||||
|
x = a.b.c.d().e()
|
||||||
|
|
||||||
|
x = (
|
||||||
|
a.b.c()
|
||||||
|
.d.e()
|
||||||
|
.f.g()
|
||||||
|
)
|
||||||
|
|
||||||
|
# Consecutive calls/subscripts are grouped together
|
||||||
|
# for the purposes of fluent formatting (though, as 2025.12.15,
|
||||||
|
# there may be a break inside of one of these
|
||||||
|
# calls/subscripts, but that is unrelated to the fluent format.)
|
||||||
|
|
||||||
|
x = (
|
||||||
|
a()[
|
||||||
|
0
|
||||||
|
]()
|
||||||
|
.b()
|
||||||
|
.c()
|
||||||
|
)
|
||||||
|
|
||||||
|
x = (
|
||||||
|
a.b()[
|
||||||
|
0
|
||||||
|
]
|
||||||
|
.c.d()[
|
||||||
|
1
|
||||||
|
]()
|
||||||
|
.e
|
||||||
|
)
|
||||||
|
|
||||||
|
# Parentheses affect both where the root of the call
|
||||||
|
# chain is and how many calls we require before applying
|
||||||
|
# fluent formatting (just 1, in the presence of a parenthesized
|
||||||
|
# root, as of 2025.12.15.)
|
||||||
|
|
||||||
|
x = (
|
||||||
|
a
|
||||||
|
).b()
|
||||||
|
|
||||||
|
x = (
|
||||||
|
a()
|
||||||
|
).b()
|
||||||
|
|
||||||
|
x = (
|
||||||
|
a.b()
|
||||||
|
).d.e()
|
||||||
|
|
||||||
|
x = (
|
||||||
|
a.b().d
|
||||||
|
).e()
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
#### Preview changes
|
||||||
|
```diff
|
||||||
|
--- Stable
|
||||||
|
+++ Preview
|
||||||
|
@@ -7,7 +7,8 @@
|
||||||
|
x = a.b().c()
|
||||||
|
|
||||||
|
x = (
|
||||||
|
- a.b()
|
||||||
|
+ a
|
||||||
|
+ .b()
|
||||||
|
.c()
|
||||||
|
.d
|
||||||
|
)
|
||||||
|
@@ -15,7 +16,8 @@
|
||||||
|
x = a.b.c.d().e()
|
||||||
|
|
||||||
|
x = (
|
||||||
|
- a.b.c()
|
||||||
|
+ a.b
|
||||||
|
+ .c()
|
||||||
|
.d.e()
|
||||||
|
.f.g()
|
||||||
|
)
|
||||||
|
@@ -34,7 +36,8 @@
|
||||||
|
)
|
||||||
|
|
||||||
|
x = (
|
||||||
|
- a.b()[
|
||||||
|
+ a
|
||||||
|
+ .b()[
|
||||||
|
0
|
||||||
|
]
|
||||||
|
.c.d()[
|
||||||
|
```
|
||||||
Loading…
Reference in New Issue