• R/O
  • SSH

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Castle: The best Real-Time/Embedded/HighTech language EVER. Attempt 2


Commit MetaInfo

Revisión0f02fa2da3fc63e95423c2af5b573ea97ada3658 (tree)
Tiempo2022-01-31 02:08:35
AutorAlbert Mietus < albert AT mietus DOT nl >
CommiterAlbert Mietus < albert AT mietus DOT nl >

Log Message

AST-2-XML serialization :: Rules added

Cambiar Resumen

Diferencia incremental

diff -r 7754889a9628 -r 0f02fa2da3fc pytst/ast/XML_serialization/test_1_simple.py
--- a/pytst/ast/XML_serialization/test_1_simple.py Sun Jan 30 17:29:13 2022 +0100
+++ b/pytst/ast/XML_serialization/test_1_simple.py Sun Jan 30 18:08:35 2022 +0100
@@ -18,10 +18,6 @@
1818 assert_xml_Element(txt, tag='.//StrTerm',value=self.v2)
1919 assert_xml_Element(txt, tag='.//RegExpTerm', value=self.v3)
2020
21-@pytest.fixture
22-def xml_serialize():
23- return serialization.Serialize('xml').serialize
24-
2521
2622 def assert_xml_Element(txt, tag,
2723 version="0.0",
@@ -38,6 +34,13 @@
3834 assert found.attrib[attrib] == value
3935
4036
37+
38+@pytest.fixture
39+def xml_serialize():
40+ return serialization.Serialize('xml').serialize
41+
42+
43+
4144 def test_ID(xml_serialize):
4245 txt = xml_serialize(peg.ID(name='demo_ID'))
4346 assert_xml_Element(txt, tag='ID', name='demo_ID')
@@ -93,7 +96,7 @@
9396 assert_xml_Element(txt, tag='Rule', name=rule_name)
9497 seq.assert_xml_Element(txt)
9598
96-@pytest.mark.xfail(reason="Not yet done")
99+
97100 def test_Rules(xml_serialize):
98101 r1 = peg.Rule(name='rule_1', expr=peg.Sequence(value=[peg.ID(name='id1')]))
99102 r2 = peg.Rule(name='rule_2', expr=peg.Sequence(value=[peg.StrTerm(value='str2')]))
@@ -101,5 +104,10 @@
101104 txt = xml_serialize(peg.Rules(children=[r1,r2]))
102105 logger.debug(f'XML:: {txt}')
103106
104- assert False, "not yet done"
107+ tree = ET.fromstring(txt)
108+ assert len(tree.findall('.//Rule')) == 2
109+ assert len(tree.findall('.//ID')) == 1
110+ assert len(tree.findall('.//StrTerm')) == 1
105111
112+ assert tree.findall('.//Rule[1]')[0].attrib['name'] == 'rule_1'
113+ assert tree.findall('.//Rule[2]//StrTerm')[0].attrib['value'] == 'str2'