Fix the last IndentationError.

This commit is contained in:
Dave Halter
2017-07-19 22:15:20 +02:00
parent d52c8651d7
commit 944fe5a896
3 changed files with 9 additions and 2 deletions

View File

@@ -48,6 +48,11 @@ class ErrorFinder(Normalizer):
def visit_node(self, node):
if node.type == 'error_node':
leaf = node.get_next_leaf()
if node.children[-1].type == 'newline':
# This is the beginning of a suite that is not indented.
spacing = list(leaf._split_prefix())[-1]
self._add_indentation_error('expected an indented block', spacing)
else:
self._add_syntax_error("invalid syntax", leaf)
elif node.type in _BLOCK_STMTS:
with self._context.add_block(node):

View File

@@ -22,7 +22,7 @@ True and False
if 1:
pass
# Syntax Error, no indentation
#: E901+1
#: E903+1
if 1:
pass
#: E223:8

View File

@@ -48,6 +48,7 @@ def test_syntax_errors(code, positions):
(' 1', [(1, 0)]),
('def x():\n 1\n 2', [(3, 0)]),
('def x():\n 1\n 2', [(3, 0)]),
('def x():\n1', [(2, 0)]),
]
)
def test_indentation_errors(code, positions):
@@ -63,6 +64,7 @@ def test_indentation_errors(code, positions):
' foo',
'def x():\n 1\n 2',
'def x():\n 1\n 2',
'if 1:\nfoo',
]
)
def test_python_exception_matches(code):