blob: 01ecdc19ca72facb248e72418b52ed0e374e3b62 [file] [log] [blame]
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)
]