Fix a diff parser issue with a test as well.

This commit is contained in:
Dave Halter
2017-05-22 15:37:26 -04:00
parent 7d3438c94d
commit 5fab429163
2 changed files with 10 additions and 2 deletions

View File

@@ -76,8 +76,7 @@ class Grammar(object):
cache_path=cache_path)
return module_node
# TODO I think it's wrong that we have self here.
new_node = DiffParser(self, module_node).update(
new_node = DiffParser(self._pgen_grammar, module_node).update(
old_lines=old_lines,
new_lines=lines
)

View File

@@ -10,6 +10,15 @@ from parso.python.diff import DiffParser
from parso.python import parse
def test_simple():
"""
The diff parser reuses modules. So check for that.
"""
grammar = load_python_grammar()
module_a = grammar.parse('a', diff_cache=True)
assert grammar.parse('b', diff_cache=True) == module_a
def _check_error_leaves_nodes(node):
if node.type in ('error_leaf', 'error_node'):
return True