mirror of
https://github.com/davidhalter/parso.git
synced 2025-12-30 16:14:41 +08:00
Fix a diff parser issue with a test as well.
This commit is contained in:
@@ -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
|
||||
)
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user