add regression test
This commit is contained in:
12
crates/ruff_linter/resources/test/fixtures/pyupgrade/UP045_py39.py
vendored
Normal file
12
crates/ruff_linter/resources/test/fixtures/pyupgrade/UP045_py39.py
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
"""
|
||||
Regression test for https://github.com/astral-sh/ruff/issues/20096
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
from typing import Optional, cast
|
||||
|
||||
|
||||
x: Optional[str] # UP045
|
||||
x: "Optional[str]" # UP045
|
||||
cast("Optional[str]", None) # UP045
|
||||
@@ -452,4 +452,17 @@ mod tests {
|
||||
assert_diagnostics!(snapshot, diagnostics);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn up045_future_annotations_py39() -> Result<()> {
|
||||
let diagnostics = test_path(
|
||||
Path::new("pyupgrade/UP045_py39.py"),
|
||||
&settings::LinterSettings {
|
||||
unresolved_target_version: PythonVersion::PY39.into(),
|
||||
..settings::LinterSettings::for_rule(Rule::NonPEP604AnnotationOptional)
|
||||
},
|
||||
)?;
|
||||
assert_diagnostics!(diagnostics);
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
---
|
||||
source: crates/ruff_linter/src/rules/pyupgrade/mod.rs
|
||||
---
|
||||
UP045 [*] Use `X | None` for type annotations
|
||||
--> UP045_py39.py:10:4
|
||||
|
|
||||
10 | x: Optional[str] # UP045
|
||||
| ^^^^^^^^^^^^^
|
||||
11 | x: "Optional[str]" # UP045
|
||||
12 | cast("Optional[str]", None) # UP045
|
||||
|
|
||||
help: Convert to `X | None`
|
||||
7 | from typing import Optional, cast
|
||||
8 |
|
||||
9 |
|
||||
- x: Optional[str] # UP045
|
||||
10 + x: str | None # UP045
|
||||
11 | x: "Optional[str]" # UP045
|
||||
12 | cast("Optional[str]", None) # UP045
|
||||
note: This is an unsafe fix and may change runtime behavior
|
||||
|
||||
UP045 [*] Use `X | None` for type annotations
|
||||
--> UP045_py39.py:11:5
|
||||
|
|
||||
10 | x: Optional[str] # UP045
|
||||
11 | x: "Optional[str]" # UP045
|
||||
| ^^^^^^^^^^^^^
|
||||
12 | cast("Optional[str]", None) # UP045
|
||||
|
|
||||
help: Convert to `X | None`
|
||||
8 |
|
||||
9 |
|
||||
10 | x: Optional[str] # UP045
|
||||
- x: "Optional[str]" # UP045
|
||||
11 + x: "str | None" # UP045
|
||||
12 | cast("Optional[str]", None) # UP045
|
||||
note: This is an unsafe fix and may change runtime behavior
|
||||
Reference in New Issue
Block a user