/ dev / clint / tests / rules / test_typing_extensions.py
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))