ruff/crates/ruff_python_formatter/tests/snapshots/black_compatibility@comments5.py.snap
2023-06-26 15:09:06 +01:00

306 lines
5.2 KiB
Text

---
source: crates/ruff_python_formatter/tests/fixtures.rs
input_file: crates/ruff_python_formatter/resources/test/fixtures/black/simple_cases/comments5.py
---
## Input
```py
while True:
if something.changed:
do.stuff() # trailing comment
# Comment belongs to the `if` block.
# This one belongs to the `while` block.
# Should this one, too? I guess so.
# This one is properly standalone now.
for i in range(100):
# first we do this
if i % 33 == 0:
break
# then we do this
print(i)
# and finally we loop around
with open(some_temp_file) as f:
data = f.read()
try:
with open(some_other_file) as w:
w.write(data)
except OSError:
print("problems")
import sys
# leading function comment
def wat():
...
# trailing function comment
# SECTION COMMENT
# leading 1
@deco1
# leading 2
@deco2(with_args=True)
# leading 3
@deco3
def decorated1():
...
# leading 1
@deco1
# leading 2
@deco2(with_args=True)
# leading function comment
def decorated1():
...
# Note: this is fixed in
# Preview.empty_lines_before_class_or_def_with_leading_comments.
# In the current style, the user will have to split those lines by hand.
some_instruction
# This comment should be split from `some_instruction` by two lines but isn't.
def g():
...
if __name__ == "__main__":
main()
```
## Black Differences
```diff
--- Black
+++ Ruff
@@ -1,6 +1,6 @@
while True:
if something.changed:
- do.stuff() # trailing comment
+ NOT_IMPLEMENTED_call() # trailing comment
# Comment belongs to the `if` block.
# This one belongs to the `while` block.
@@ -8,26 +8,21 @@
# This one is properly standalone now.
-for i in range(100):
+for i in NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg):
# first we do this
if i % 33 == 0:
break
# then we do this
- print(i)
+ NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
# and finally we loop around
-with open(some_temp_file) as f:
- data = f.read()
-
-try:
- with open(some_other_file) as w:
- w.write(data)
+with NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg) as f:
+ data = NOT_IMPLEMENTED_call()
-except OSError:
- print("problems")
+NOT_YET_IMPLEMENTED_StmtTry
-import sys
+NOT_YET_IMPLEMENTED_StmtImport
# leading function comment
@@ -42,7 +37,7 @@
# leading 1
@deco1
# leading 2
-@deco2(with_args=True)
+@NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
# leading 3
@deco3
def decorated1():
@@ -52,7 +47,7 @@
# leading 1
@deco1
# leading 2
-@deco2(with_args=True)
+@NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
# leading function comment
def decorated1():
...
@@ -70,4 +65,4 @@
if __name__ == "__main__":
- main()
+ NOT_IMPLEMENTED_call()
```
## Ruff Output
```py
while True:
if something.changed:
NOT_IMPLEMENTED_call() # trailing comment
# Comment belongs to the `if` block.
# This one belongs to the `while` block.
# Should this one, too? I guess so.
# This one is properly standalone now.
for i in NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg):
# first we do this
if i % 33 == 0:
break
# then we do this
NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
# and finally we loop around
with NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg) as f:
data = NOT_IMPLEMENTED_call()
NOT_YET_IMPLEMENTED_StmtTry
NOT_YET_IMPLEMENTED_StmtImport
# leading function comment
def wat():
...
# trailing function comment
# SECTION COMMENT
# leading 1
@deco1
# leading 2
@NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
# leading 3
@deco3
def decorated1():
...
# leading 1
@deco1
# leading 2
@NOT_IMPLEMENTED_call(NOT_IMPLEMENTED_arg)
# leading function comment
def decorated1():
...
# Note: this is fixed in
# Preview.empty_lines_before_class_or_def_with_leading_comments.
# In the current style, the user will have to split those lines by hand.
some_instruction
# This comment should be split from `some_instruction` by two lines but isn't.
def g():
...
if __name__ == "__main__":
NOT_IMPLEMENTED_call()
```
## Black Output
```py
while True:
if something.changed:
do.stuff() # trailing comment
# Comment belongs to the `if` block.
# This one belongs to the `while` block.
# Should this one, too? I guess so.
# This one is properly standalone now.
for i in range(100):
# first we do this
if i % 33 == 0:
break
# then we do this
print(i)
# and finally we loop around
with open(some_temp_file) as f:
data = f.read()
try:
with open(some_other_file) as w:
w.write(data)
except OSError:
print("problems")
import sys
# leading function comment
def wat():
...
# trailing function comment
# SECTION COMMENT
# leading 1
@deco1
# leading 2
@deco2(with_args=True)
# leading 3
@deco3
def decorated1():
...
# leading 1
@deco1
# leading 2
@deco2(with_args=True)
# leading function comment
def decorated1():
...
# Note: this is fixed in
# Preview.empty_lines_before_class_or_def_with_leading_comments.
# In the current style, the user will have to split those lines by hand.
some_instruction
# This comment should be split from `some_instruction` by two lines but isn't.
def g():
...
if __name__ == "__main__":
main()
```