"""
from __future__ import with_statement
-__version__ = '1.5.5'
+__version__ = '1.5.6a0'
import os
import sys
def readline(self):
"""Get the next line from the input buffer."""
- self.line_number += 1
- if self.line_number > len(self.lines):
+ if self.line_number >= len(self.lines):
return ''
+ self.line_number += 1
line = self.lines[self.line_number - 1]
if self.indent_char is None and line[:1] in WHITESPACE:
self.indent_char = line[0]
token[3] = (token[2][0], token[2][1] + len(token[1]))
self.tokens = [tuple(token)]
self.check_logical()
+ if len(self.tokens) > 1 and (token_type == tokenize.ENDMARKER and
+ self.tokens[-2][0] not in SKIP_TOKENS):
+ self.tokens.pop()
+ self.check_physical(self.tokens[-1][4])
+ self.check_logical()
return self.report.get_file_results()
#: Okay
# 情
-#: W291
+#: W291:1:6
print
-#: W293
+#: W293:2:1
class Foo(object):
bang = 12
-#: W291
+#: W291:2:35
'''multiline
string with trailing whitespace'''
-#: W292
-# This line doesn't have a linefeed
\ No newline at end of file
+#: W292:1:36 noeol
+# This line doesn't have a linefeed
+#: W292:1:5 E225:1:2 noeol
+1+ 1
+#: W292:1:27 E261:1:12 noeol
+import this # no line feed
testcase.append(line)
continue
if codes and index:
- codes = [c for c in codes if c != 'Okay']
+ if 'noeol' in codes:
+ testcase[-1] = testcase[-1].rstrip('\n')
+ codes = [c for c in codes
+ if c not in ('Okay', 'noeol')]
# Run the checker
runner(filename, testcase, expected=codes,
line_offset=line_offset)