from pathlib import Path from clint.config import Config from clint.index import SymbolIndex from clint.linter import Position, Range, lint_file from clint.rules.typing_extensions import TypingExtensions def test_typing_extensions(index: SymbolIndex) -> None: code = """ # Bad from typing_extensions import ParamSpec # Good from typing_extensions import Self """ config = Config( select={TypingExtensions.name}, typing_extensions_allowlist=["typing_extensions.Self"] ) violations = lint_file(Path("test.py"), code, config, index) assert len(violations) == 1 assert all(isinstance(v.rule, TypingExtensions) for v in violations) assert violations[0].range == Range(Position(2, 0))