test_typing_extensions.py
1 from pathlib import Path 2 3 from clint.config import Config 4 from clint.index import SymbolIndex 5 from clint.linter import Position, Range, lint_file 6 from clint.rules.typing_extensions import TypingExtensions 7 8 9 def test_typing_extensions(index: SymbolIndex) -> None: 10 code = """ 11 # Bad 12 from typing_extensions import ParamSpec 13 14 # Good 15 from typing_extensions import Self 16 """ 17 config = Config( 18 select={TypingExtensions.name}, typing_extensions_allowlist=["typing_extensions.Self"] 19 ) 20 violations = lint_file(Path("test.py"), code, config, index) 21 assert len(violations) == 1 22 assert all(isinstance(v.rule, TypingExtensions) for v in violations) 23 assert violations[0].range == Range(Position(2, 0))