diff --git a/tests/test_builder.py b/tests/test_builder.py index 175f62a..c987820 100644 --- a/tests/test_builder.py +++ b/tests/test_builder.py @@ -201,11 +201,108 @@ class TestBuilder(TreeEqualityTestCase): def test_tag(self): """tests for building Tag nodes""" tests = [ + # ([tokens.TagOpenOpen(), tokens.Text(text="ref"), tokens.TagCloseOpen(padding=""), tokens.TagOpenClose(), tokens.Text(text="ref"), tokens.TagCloseClose()], - wrap([Tag(wraptext("ref"), wrap([]), [], True, False, "", - wraptext("ref"))])), + wrap([Tag(wraptext("ref"), wrap([]), + closing_tag=wraptext("ref"))])), + + # + ([tokens.TagOpenOpen(), tokens.Text(text="ref"), + tokens.TagAttrStart(pad_first=" ", pad_before_eq="", + pad_after_eq=""), + tokens.Text(text="name"), tokens.TagCloseOpen(padding=""), + tokens.TagOpenClose(), tokens.Text(text="ref"), + tokens.TagCloseClose()], + wrap([Tag(wraptext("ref"), wrap([]), + attrs=[Attribute(wraptext("name"))])])), + + # + ([tokens.TagOpenOpen(), tokens.Text(text="ref"), + tokens.TagAttrStart(pad_first=" ", pad_before_eq="", + pad_after_eq=""), + tokens.Text(text="name"), tokens.TagAttrEquals(), + tokens.TagAttrQuote(), tokens.Text(text="abc"), + tokens.TagCloseSelfclose(padding=" ")], + wrap([Tag(wraptext("ref"), + attrs=[Attribute(wraptext("name"), wraptext("abc"))], + self_closing=True, padding=" ")])), + + #
+ ([tokens.TagOpenOpen(), tokens.Text(text="br"), + tokens.TagCloseSelfclose(padding="")], + wrap([Tag(wraptext("br"), self_closing=True)])), + + #
  • + ([tokens.TagOpenOpen(), tokens.Text(text="li"), + tokens.TagCloseSelfclose(padding="", implicit=True)], + wrap([Tag(wraptext("li"), self_closing=True, implicit=True)])), + + #
    + ([tokens.TagOpenOpen(invalid=True), tokens.Text(text="br"), + tokens.TagCloseSelfclose(padding="", implicit=True)], + wrap([Tag(wraptext("br"), self_closing=True, invalid=True, + implicit=True)])), + + #
    + ([tokens.TagOpenOpen(invalid=True), tokens.Text(text="br"), + tokens.TagCloseSelfclose(padding="")], + wrap([Tag(wraptext("br"), self_closing=True, invalid=True)])), + + # [[Source]] + ([tokens.TagOpenOpen(), tokens.Text(text="ref"), + tokens.TagAttrStart(pad_first=" ", pad_before_eq="", + pad_after_eq=""), + tokens.Text(text="name"), tokens.TagAttrEquals(), + tokens.TemplateOpen(), tokens.Text(text="abc"), + tokens.TemplateClose(), + tokens.TagAttrStart(pad_first=" ", pad_before_eq="", + pad_after_eq=""), + tokens.Text(text="foo"), tokens.TagAttrEquals(), + tokens.TagAttrQuote(), tokens.Text(text="bar "), + tokens.TemplateOpen(), tokens.Text(text="baz"), + tokens.TemplateClose(), + tokens.TagAttrStart(pad_first=" ", pad_before_eq="", + pad_after_eq=""), + tokens.Text(text="abc"), tokens.TagAttrEquals(), + tokens.TemplateOpen(), tokens.Text(text="de"), + tokens.TemplateClose(), tokens.Text(text="f"), + tokens.TagAttrStart(pad_first=" ", pad_before_eq="", + pad_after_eq=""), + tokens.Text(text="ghi"), tokens.TagAttrEquals(), + tokens.Text(text="j"), tokens.TemplateOpen(), + tokens.Text(text="k"), tokens.TemplateClose(), + tokens.TemplateOpen(), tokens.Text(text="l"), + tokens.TemplateClose(), + tokens.TagAttrStart(pad_first=" \n ", pad_before_eq=" ", + pad_after_eq=" "), + tokens.Text(text="mno"), tokens.TagAttrEquals(), + tokens.TagAttrQuote(), tokens.TemplateOpen(), + tokens.Text(text="p"), tokens.TemplateClose(), + tokens.Text(text=" "), tokens.WikilinkOpen(), + tokens.Text(text="q"), tokens.WikilinkClose(), + tokens.Text(text=" "), tokens.TemplateOpen(), + tokens.Text(text="r"), tokens.TemplateClose(), + tokens.TagCloseOpen(padding=""), tokens.WikilinkOpen(), + tokens.Text(text="Source"), tokens.WikilinkClose(), + tokens.TagOpenClose(), tokens.Text(text="ref"), + tokens.TagCloseClose()], + wrap([Tag(wraptext("ref"), wrap([Wikilink(wraptext("Source"))]), [ + Attribute(wraptext("name"), + wrap([Template(wraptext("abc"))]), False), + Attribute(wraptext("foo"), wrap([Text("bar "), + Template(wraptext("baz"))]), pad_first=" "), + Attribute(wraptext("abc"), wrap([Template(wraptext("de")), + Text("f")]), False), + Attribute(wraptext("ghi"), wrap([Text("j"), + Template(wraptext("k")), + Template(wraptext("l"))]), False), + Attribute(wraptext("mno"), wrap([Template(wraptext("p")), + Text(" "), Wikilink(wraptext("q")), Text(" "), + Template(wraptext("r"))]), True, " \n ", " ", + " ")])])), ] for test, valid in tests: self.assertWikicodeEqual(valid, self.builder.build(test))