| import ast | 
 | import pytest | 
 |  | 
 | from pre_commit_hooks.debug_statement_hook import DebugStatement | 
 | from pre_commit_hooks.debug_statement_hook import debug_statement_hook | 
 | from pre_commit_hooks.debug_statement_hook import ImportStatementParser | 
 | from testing.util import get_resource_path | 
 |  | 
 |  | 
 | @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) | 
 |     ] | 
 |  | 
 |  | 
 | def test_returns_one_for_failing_file(): | 
 |     ret = debug_statement_hook([get_resource_path('file_with_debug.notpy')]) | 
 |     assert ret == 1 | 
 |  | 
 |  | 
 | def test_returns_zero_for_passing_file(): | 
 |     ret = debug_statement_hook([__file__]) | 
 |     assert ret == 0 |