Sfoglia il codice sorgente

Tests: Fixed for pytest

tags/gm/2021-09-23T00Z/github.com--lark-parser-lark/0.12.0
Erez Sh 3 anni fa
parent
commit
a2107daee6
2 ha cambiato i file con 8 aggiunte e 8 eliminazioni
  1. +6
    -6
      tests/test_cache.py
  2. +2
    -2
      tests/test_grammar.py

+ 6
- 6
tests/test_cache.py Vedi File

@@ -45,7 +45,7 @@ class CustomLexer(Lexer):
yield Token('A', obj)


class TestT(Transformer):
class InlineTestT(Transformer):
def add(self, children):
return sum(children if isinstance(children, list) else children.children)

@@ -116,21 +116,21 @@ class TestCache(TestCase):
text = "1+2 3+4"
expected = Tree('start', [30, 70])

parser = Lark(g, parser='lalr', transformer=TestT(), cache=True, lexer_callbacks={'NUM': append_zero})
parser = Lark(g, parser='lalr', transformer=InlineTestT(), cache=True, lexer_callbacks={'NUM': append_zero})
res0 = parser.parse(text)
parser = Lark(g, parser='lalr', transformer=TestT(), cache=True, lexer_callbacks={'NUM': append_zero})
parser = Lark(g, parser='lalr', transformer=InlineTestT(), cache=True, lexer_callbacks={'NUM': append_zero})
assert len(self.mock_fs.files) == 1
res1 = parser.parse(text)
res2 = TestT().transform(Lark(g, parser="lalr", cache=True, lexer_callbacks={'NUM': append_zero}).parse(text))
res2 = InlineTestT().transform(Lark(g, parser="lalr", cache=True, lexer_callbacks={'NUM': append_zero}).parse(text))
assert res0 == res1 == res2 == expected
def test_imports(self):
g = """
%import .grammars.ab (startab, expr)
"""
parser = Lark(g, parser='lalr', start='startab', cache=True)
parser = Lark(g, parser='lalr', start='startab', cache=True, source_path=__file__)
assert len(self.mock_fs.files) == 1
parser = Lark(g, parser='lalr', start='startab', cache=True)
parser = Lark(g, parser='lalr', start='startab', cache=True, source_path=__file__)
assert len(self.mock_fs.files) == 1
res = parser.parse("ab")
self.assertEqual(res, Tree('startab', [Tree('expr', ['a', 'b'])]))


+ 2
- 2
tests/test_grammar.py Vedi File

@@ -40,11 +40,11 @@ class TestGrammar(TestCase):
%import .test_templates_import (start, sep)

%override sep{item}: item (delim item)* delim?
""")
""", source_path=__file__)

self.assertRaises(GrammarError, Lark, """
%override sep{item}: item (delim item)* delim?
""")
""", source_path=__file__)

def test_override_terminal(self):
p = Lark("""


Caricamento…
Annulla
Salva