1010E11 = os .path .join (ROOT_DIR , 'testsuite' , 'E11.py' )
1111
1212
13+ class DummyChecker (object ):
14+ def __init__ (self , tree , filename ):
15+ pass
16+
17+ def run (self ):
18+ if False :
19+ yield
20+
21+
1322class APITestCase (unittest .TestCase ):
1423 """Test the public methods."""
1524
@@ -68,13 +77,6 @@ def check_dummy(logical_line, tokens):
6877 for name , func , args in options .logical_checks ))
6978
7079 def test_register_ast_check (self ):
71- class DummyChecker (object ):
72- def __init__ (self , tree , filename ):
73- pass
74-
75- def run (self ):
76- if False :
77- yield
7880 pep8 .register_check (DummyChecker , ['Z701' ])
7981
8082 self .assertTrue (DummyChecker in pep8 ._checks ['tree' ])
@@ -87,18 +89,14 @@ def run(self):
8789 for name , cls , args in options .ast_checks ))
8890
8991 def test_register_invalid_check (self ):
90- class DummyChecker ( object ):
92+ class InvalidChecker ( DummyChecker ):
9193 def __init__ (self , filename ):
9294 pass
9395
94- def run (self ):
95- if False :
96- yield
97-
9896 def check_dummy (logical , tokens ):
9997 if False :
10098 yield
101- pep8 .register_check (DummyChecker , ['Z741' ])
99+ pep8 .register_check (InvalidChecker , ['Z741' ])
102100 pep8 .register_check (check_dummy , ['Z441' ])
103101
104102 for checkers in pep8 ._checks .values ():
@@ -306,3 +304,13 @@ def test_styleguide_check_files(self):
306304 self .assertRaises (Exception , pep8style .check_files , [42 ])
307305 # TODO: runner
308306 # TODO: input_file
307+
308+ def test_check_nullbytes (self ):
309+ pep8 .register_check (DummyChecker , ['Z701' ])
310+
311+ pep8style = pep8 .StyleGuide ()
312+ count_errors = pep8style .input_file ('stdin' , lines = ['\x00 \n ' ])
313+
314+ self .assertTrue (sys .stdout [0 ].startswith ("stdin:1:1: E901 TypeError" ))
315+ self .assertFalse (sys .stderr )
316+ self .assertEqual (count_errors , 1 )
0 commit comments