mirror of
https://github.com/pre-commit/pre-commit-hooks.git
synced 2026-03-29 10:16:52 +00:00
55 lines
1.2 KiB
Python
55 lines
1.2 KiB
Python
import ast
|
|
import pytest
|
|
|
|
from pre_commit_hooks.debug_statement_hook import DebugStatement
|
|
from pre_commit_hooks.debug_statement_hook import ImportStatementParser
|
|
|
|
|
|
@pytest.fixture
|
|
def ast_with_no_debug_imports():
|
|
return ast.parse("""
|
|
import foo
|
|
import bar
|
|
import baz
|
|
from foo import bar
|
|
""")
|
|
|
|
|
|
@pytest.fixture
|
|
def ast_with_debug_import_form_1():
|
|
return ast.parse("""
|
|
|
|
import ipdb; ipdb.set_trace()
|
|
|
|
""")
|
|
|
|
|
|
@pytest.fixture
|
|
def ast_with_debug_import_form_2():
|
|
return ast.parse("""
|
|
|
|
from pudb import set_trace; set_trace()
|
|
|
|
""")
|
|
|
|
|
|
def test_returns_no_debug_statements(ast_with_no_debug_imports):
|
|
visitor = ImportStatementParser()
|
|
visitor.visit(ast_with_no_debug_imports)
|
|
assert visitor.debug_import_statements == []
|
|
|
|
|
|
def test_returns_one_form_1(ast_with_debug_import_form_1):
|
|
visitor = ImportStatementParser()
|
|
visitor.visit(ast_with_debug_import_form_1)
|
|
assert visitor.debug_import_statements == [
|
|
DebugStatement('ipdb', 3, 0)
|
|
]
|
|
|
|
|
|
def test_returns_one_form_2(ast_with_debug_import_form_2):
|
|
visitor = ImportStatementParser()
|
|
visitor.visit(ast_with_debug_import_form_2)
|
|
assert visitor.debug_import_statements == [
|
|
DebugStatement('pudb', 3, 0)
|
|
]
|