-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update snapshots to format module docstrings
- Loading branch information
Showing
10 changed files
with
539 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1 change: 1 addition & 0 deletions
1
crates/ruff_python_formatter/resources/test/fixtures/ruff/quote_style.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,4 @@ | ||
# The next line is the docstring so it should be double quoted | ||
'single' | ||
"double" | ||
r'r single' | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
324 changes: 324 additions & 0 deletions
324
crates/ruff_python_formatter/tests/snapshots/black_compatibility@cases__comments.py.snap
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,324 @@ | ||
--- | ||
source: crates/ruff_python_formatter/tests/fixtures.rs | ||
input_file: crates/ruff_python_formatter/resources/test/fixtures/black/cases/comments.py | ||
--- | ||
## Input | ||
|
||
```python | ||
#!/usr/bin/env python3 | ||
# fmt: on | ||
# Some license here. | ||
# | ||
# Has many lines. Many, many lines. | ||
# Many, many, many lines. | ||
"""Module docstring. | ||
Possibly also many, many lines. | ||
""" | ||
import os.path | ||
import sys | ||
import a | ||
from b.c import X # some noqa comment | ||
try: | ||
import fast | ||
except ImportError: | ||
import slow as fast | ||
# Some comment before a function. | ||
y = 1 | ||
( | ||
# some strings | ||
y # type: ignore | ||
) | ||
def function(default=None): | ||
"""Docstring comes first. | ||
Possibly many lines. | ||
""" | ||
# FIXME: Some comment about why this function is crap but still in production. | ||
import inner_imports | ||
if inner_imports.are_evil(): | ||
# Explains why we have this if. | ||
# In great detail indeed. | ||
x = X() | ||
return x.method1() # type: ignore | ||
# This return is also commented for some reason. | ||
return default | ||
# Explains why we use global state. | ||
GLOBAL_STATE = {"a": a(1), "b": a(2), "c": a(3)} | ||
# Another comment! | ||
# This time two lines. | ||
class Foo: | ||
"""Docstring for class Foo. Example from Sphinx docs.""" | ||
#: Doc comment for class attribute Foo.bar. | ||
#: It can have multiple lines. | ||
bar = 1 | ||
flox = 1.5 #: Doc comment for Foo.flox. One line only. | ||
baz = 2 | ||
"""Docstring for class attribute Foo.baz.""" | ||
def __init__(self): | ||
#: Doc comment for instance attribute qux. | ||
self.qux = 3 | ||
self.spam = 4 | ||
"""Docstring for instance attribute spam.""" | ||
#' <h1>This is pweave!</h1> | ||
@fast(really=True) | ||
async def wat(): | ||
# This comment, for some reason \ | ||
# contains a trailing backslash. | ||
async with X.open_async() as x: # Some more comments | ||
result = await x.method1() | ||
# Comment after ending a block. | ||
if result: | ||
print("A OK", file=sys.stdout) | ||
# Comment between things. | ||
print() | ||
# Some closing comments. | ||
# Maybe Vim or Emacs directives for formatting. | ||
# Who knows. | ||
``` | ||
|
||
## Black Differences | ||
|
||
```diff | ||
--- Black | ||
+++ Ruff | ||
@@ -6,8 +6,7 @@ | ||
# Many, many, many lines. | ||
"""Module docstring. | ||
-Possibly also many, many lines. | ||
-""" | ||
+Possibly also many, many lines.""" | ||
import os.path | ||
import sys | ||
``` | ||
|
||
## Ruff Output | ||
|
||
```python | ||
#!/usr/bin/env python3 | ||
# fmt: on | ||
# Some license here. | ||
# | ||
# Has many lines. Many, many lines. | ||
# Many, many, many lines. | ||
"""Module docstring. | ||
Possibly also many, many lines.""" | ||
import os.path | ||
import sys | ||
import a | ||
from b.c import X # some noqa comment | ||
try: | ||
import fast | ||
except ImportError: | ||
import slow as fast | ||
# Some comment before a function. | ||
y = 1 | ||
( | ||
# some strings | ||
y # type: ignore | ||
) | ||
def function(default=None): | ||
"""Docstring comes first. | ||
Possibly many lines. | ||
""" | ||
# FIXME: Some comment about why this function is crap but still in production. | ||
import inner_imports | ||
if inner_imports.are_evil(): | ||
# Explains why we have this if. | ||
# In great detail indeed. | ||
x = X() | ||
return x.method1() # type: ignore | ||
# This return is also commented for some reason. | ||
return default | ||
# Explains why we use global state. | ||
GLOBAL_STATE = {"a": a(1), "b": a(2), "c": a(3)} | ||
# Another comment! | ||
# This time two lines. | ||
class Foo: | ||
"""Docstring for class Foo. Example from Sphinx docs.""" | ||
#: Doc comment for class attribute Foo.bar. | ||
#: It can have multiple lines. | ||
bar = 1 | ||
flox = 1.5 #: Doc comment for Foo.flox. One line only. | ||
baz = 2 | ||
"""Docstring for class attribute Foo.baz.""" | ||
def __init__(self): | ||
#: Doc comment for instance attribute qux. | ||
self.qux = 3 | ||
self.spam = 4 | ||
"""Docstring for instance attribute spam.""" | ||
#' <h1>This is pweave!</h1> | ||
@fast(really=True) | ||
async def wat(): | ||
# This comment, for some reason \ | ||
# contains a trailing backslash. | ||
async with X.open_async() as x: # Some more comments | ||
result = await x.method1() | ||
# Comment after ending a block. | ||
if result: | ||
print("A OK", file=sys.stdout) | ||
# Comment between things. | ||
print() | ||
# Some closing comments. | ||
# Maybe Vim or Emacs directives for formatting. | ||
# Who knows. | ||
``` | ||
|
||
## Black Output | ||
|
||
```python | ||
#!/usr/bin/env python3 | ||
# fmt: on | ||
# Some license here. | ||
# | ||
# Has many lines. Many, many lines. | ||
# Many, many, many lines. | ||
"""Module docstring. | ||
Possibly also many, many lines. | ||
""" | ||
import os.path | ||
import sys | ||
import a | ||
from b.c import X # some noqa comment | ||
try: | ||
import fast | ||
except ImportError: | ||
import slow as fast | ||
# Some comment before a function. | ||
y = 1 | ||
( | ||
# some strings | ||
y # type: ignore | ||
) | ||
def function(default=None): | ||
"""Docstring comes first. | ||
Possibly many lines. | ||
""" | ||
# FIXME: Some comment about why this function is crap but still in production. | ||
import inner_imports | ||
if inner_imports.are_evil(): | ||
# Explains why we have this if. | ||
# In great detail indeed. | ||
x = X() | ||
return x.method1() # type: ignore | ||
# This return is also commented for some reason. | ||
return default | ||
# Explains why we use global state. | ||
GLOBAL_STATE = {"a": a(1), "b": a(2), "c": a(3)} | ||
# Another comment! | ||
# This time two lines. | ||
class Foo: | ||
"""Docstring for class Foo. Example from Sphinx docs.""" | ||
#: Doc comment for class attribute Foo.bar. | ||
#: It can have multiple lines. | ||
bar = 1 | ||
flox = 1.5 #: Doc comment for Foo.flox. One line only. | ||
baz = 2 | ||
"""Docstring for class attribute Foo.baz.""" | ||
def __init__(self): | ||
#: Doc comment for instance attribute qux. | ||
self.qux = 3 | ||
self.spam = 4 | ||
"""Docstring for instance attribute spam.""" | ||
#' <h1>This is pweave!</h1> | ||
@fast(really=True) | ||
async def wat(): | ||
# This comment, for some reason \ | ||
# contains a trailing backslash. | ||
async with X.open_async() as x: # Some more comments | ||
result = await x.method1() | ||
# Comment after ending a block. | ||
if result: | ||
print("A OK", file=sys.stdout) | ||
# Comment between things. | ||
print() | ||
# Some closing comments. | ||
# Maybe Vim or Emacs directives for formatting. | ||
# Who knows. | ||
``` | ||
|
||
|
Oops, something went wrong.