Diff parser: Correctly add indent issues

This commit is contained in:
Dave Halter
2020-03-23 00:16:47 +01:00
parent afc556d809
commit c18c89eb6b
2 changed files with 33 additions and 18 deletions

View File

@@ -39,15 +39,15 @@ def _check_error_leaves_nodes(node):
return None
def _assert_modules_are_equal(node1, node2):
def _assert_nodes_are_equal(node1, node2):
try:
children1 = node1.children
except AttributeError:
assert not hasattr(node2, 'children'), (node1, node2)
assert node1.value == node2.value
assert node1.type == node2.type
#assert node1.type == node2.type
assert node1.prefix == node2.prefix
assert node1.start_pos == node2.start_pos
#assert node1.start_pos == node2.start_pos
return
else:
try:
@@ -56,7 +56,7 @@ def _assert_modules_are_equal(node1, node2):
assert False, (node1, node2)
assert len(children1) == len(children2), (children1, children2)
for n1, n2 in zip(children1, children2):
_assert_modules_are_equal(n1, n2)
_assert_nodes_are_equal(n1, n2)
class Differ(object):
@@ -90,7 +90,7 @@ class Differ(object):
_assert_valid_graph(new_module)
without_diff_parser_module = parse(code)
_assert_modules_are_equal(new_module, without_diff_parser_module)
_assert_nodes_are_equal(new_module, without_diff_parser_module)
error_node = _check_error_leaves_nodes(new_module)
assert expect_error_leaves == (error_node is not None), error_node
@@ -848,7 +848,7 @@ def test_indentation_issues(differ):
differ.initialize(code1)
differ.parse(code2, parsers=2, copies=2, expect_error_leaves=True)
differ.parse(code1, copies=2, parsers=1)
differ.parse(code1, copies=2, parsers=2)
differ.parse(code3, parsers=1, copies=1)
differ.parse(code1, parsers=1, copies=2)