mirror of
https://github.com/davidhalter/parso.git
synced 2026-08-31 03:56:56 +08:00
Fix a diff parser issue with a test as well.
This commit is contained in:
+1
-2
@@ -76,8 +76,7 @@ class Grammar(object):
|
|||||||
cache_path=cache_path)
|
cache_path=cache_path)
|
||||||
return module_node
|
return module_node
|
||||||
|
|
||||||
# TODO I think it's wrong that we have self here.
|
new_node = DiffParser(self._pgen_grammar, module_node).update(
|
||||||
new_node = DiffParser(self, module_node).update(
|
|
||||||
old_lines=old_lines,
|
old_lines=old_lines,
|
||||||
new_lines=lines
|
new_lines=lines
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -10,6 +10,15 @@ from parso.python.diff import DiffParser
|
|||||||
from parso.python import parse
|
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):
|
def _check_error_leaves_nodes(node):
|
||||||
if node.type in ('error_leaf', 'error_node'):
|
if node.type in ('error_leaf', 'error_node'):
|
||||||
return True
|
return True
|
||||||
|
|||||||
Reference in New Issue
Block a user