ruff/crates/ruff_linter/resources/test/fixtures/flake8_async/ASYNC230.py
Auguste Lalande 8cc96d7868 Re-code flake8-trio and flake8-async rules to match upstream (#10416)
Co-authored-by: Micha Reiser <micha@reiser.io>
2024-06-27 13:44:11 +02:00

82 lines
1 KiB
Python

import io
from pathlib import Path
async def foo():
open("") # ASYNC230
io.open_code("") # ASYNC230
with open(""): # ASYNC230
...
with open("") as f: # ASYNC230
...
with foo(), open(""): # ASYNC230
...
async with open(""): # ASYNC230
...
def foo_sync():
open("")
# Violation cases:
async def func():
open("foo") # ASYNC230
# Violation cases for pathlib:
async def func():
Path("foo").open() # ASYNC230
async def func():
p = Path("foo")
p.open() # ASYNC230
async def func():
with Path("foo").open() as f: # ASYNC230
pass
async def func() -> None:
p = Path("foo")
async def bar():
p.open() # ASYNC230
async def func() -> None:
(p1, p2) = (Path("foo"), Path("bar"))
p1.open() # ASYNC230
# Non-violation cases for pathlib:
class Foo:
def open(self):
pass
async def func():
Foo().open() # OK
async def func():
def open():
pass
open() # OK
def func():
Path("foo").open() # OK