@Test void testXmlAndSingleQuotes() throws IOException { File file = new File(testDataRoot, "people2.xml"); String xmlContent = FileUtil.readString(file); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); Document xml = lagartoDOMBuilder.parse(xmlContent); XmlDeclaration xmlDeclaration = (XmlDeclaration) xml.getChild(0); assertEquals("1.0", xmlDeclaration.getVersion()); assertEquals("UTF-8", xmlDeclaration.getEncoding()); } }
@Test void testUpheaWebXml() throws IOException { File file = new File(testDataRoot, "uphea-web.xml"); String xmlContent = FileUtil.readString(file); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); Document doc = lagartoDOMBuilder.parse(xmlContent); xmlContent = StringUtil.removeChars(xmlContent, "\n\r\t"); assertEquals(xmlContent, doc.getHtml()); assertTrue(doc.check()); }
@Test void testXml() { String content = XML_STRING; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); Document doc = lagartoDOMBuilder.enableXmlMode().parse(content); assertEquals(XML_STRING, doc.getHtml()); assertTrue(doc.check()); }
@Test void testAppend2() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXmlMode(); Jerry doc = jerryParser.parse("<xml><book><name>Foo</name></book></xml>"); Jerry book = doc.$("book"); book.append("<br>"); assertEquals("<xml><book><name>Foo</name><br></br></book></xml>", doc.html()); }
@Test void testAppendContent2() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXmlMode(); Jerry doc = jerryParser.parse("<xml><book isbn='123'><name>Foo</name></book></xml>"); Jerry book = doc.$("book"); book.append("<br>"); assertEquals("<xml><book isbn=\"123\"><name>Foo</name><br></br></book></xml>", doc.html()); }
@Test void testNamespaces() throws IOException { File file = new File(testDataRoot, "namespace.xml"); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); lagartoDOMBuilder.getConfig().setCalculatePosition(true); Document doc = lagartoDOMBuilder.parse(FileUtil.readString(file)); assertTrue(doc.check()); Element cfgTestElement = (Element) doc.getChild(1); assertEquals("cfg:test", cfgTestElement.getNodeName()); Element cfgNode = (Element) cfgTestElement.getChild(0); assertEquals("cfg:node", cfgNode.getNodeName()); Jerry.JerryParser jerryParser = new Jerry.JerryParser(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXmlMode(); Jerry jerry = jerryParser.parse(FileUtil.readString(file)); final StringBuilder result = new StringBuilder(); jerry.$("cfg\\:test").each(($this, index) -> { result.append($this.$("cfg\\:node").text()); return true; }); assertEquals("This is a text", result.toString()); }
@Test void testIgnoreComments() throws IOException { String xmlContent = "<foo> <!--c--> <bar> </bar> <!--c--> <x/> <!--c--> </foo>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); lagartoDOMBuilder.getConfig().setIgnoreComments(true); Document doc = lagartoDOMBuilder.parse(xmlContent); assertEquals("<foo><bar> </bar><x></x></foo>", doc.getHtml()); assertTrue(doc.check()); }
@Test void testConditionalComments() throws IOException { String xmlContent = "<foo><!--[if !IE]>--><bar>Jodd</bar><!--<![endif]--></foo>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); lagartoDOMBuilder.getConfig().setIgnoreComments(true); Document doc = lagartoDOMBuilder.parse(xmlContent); assertEquals("<foo><bar>Jodd</bar></foo>", doc.getHtml()); assertTrue(doc.check()); }
@Test void testJerryParserCreation() { Jerry.JerryParser jerryParser = Jerry.jerry(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableXmlMode(); Jerry doc = jerryParser.parse("<xml> <book isbn='123'> <name>Foo<br></name> </book></xml>"); Jerry name = doc.$("book name"); assertEquals("Foo", name.text()); assertEquals("<xml><book isbn=\"123\"><name>Foo<br></br></name></book></xml>", doc.html()); }
@Test void testConditionalComments2() throws IOException { String xmlContent = "<foo><![if !IE]><bar>Jodd</bar></foo>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); lagartoDOMBuilder.getConfig().setIgnoreComments(true); lagartoDOMBuilder.getConfig().setCollectErrors(true); lagartoDOMBuilder.getConfig().setCalculatePosition(true); Document doc = lagartoDOMBuilder.parse(xmlContent); List<String> errors = doc.getErrors(); assertEquals(1, errors.size()); assertEquals("<foo><bar>Jodd</bar></foo>", doc.getHtml()); assertTrue(doc.check()); }
lagartoDOMBuilder.enableXmlMode(); Document xml = lagartoDOMBuilder.parse(xmlContent);
@Test void testXmlDec() { LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); Document document = lagartoDOMBuilder.parse("<?xml version=\"1.0\"?><div?></div>"); XmlDeclaration xml = (XmlDeclaration) document.getFirstChild(); assertEquals(0, xml.getAttributesCount()); assertEquals("xml", xml.getNodeName()); Element div = (Element) xml.getNextSibling(); assertEquals(0, div.getAttributesCount()); assertEquals("div?", div.getNodeName()); assertTrue(document.check()); }
@Test void testPeopleXml() throws IOException { File file = new File(testDataRoot, "people.xml"); String xmlContent = FileUtil.readString(file); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); Document doc = lagartoDOMBuilder.parse(xmlContent); assertEquals(2, doc.getChildNodesCount()); // not 3! XmlDeclaration xml = (XmlDeclaration) doc.getFirstChild(); assertEquals(0, xml.getAttributesCount()); Element peopleList = (Element) doc.getChild(1); assertEquals(1, peopleList.getChildNodesCount()); Element person = peopleList.getFirstChildElement(); assertEquals(3, person.getChildNodesCount()); Element name = (Element) person.getChild(0); assertEquals("Fred Bloggs", name.getTextContent()); assertEquals("Male", person.getChild(2).getTextContent()); xmlContent = StringUtil.removeChars(xmlContent, "\n\r\t"); assertEquals(xmlContent, doc.getHtml()); assertTrue(doc.check()); }
@Test void testWhitespaces() throws IOException { String xmlContent = "<foo> <!--c--> <bar> </bar> <x/> </foo>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableXmlMode(); lagartoDOMBuilder.getConfig().setSelfCloseVoidTags(true); Document doc = lagartoDOMBuilder.parse(xmlContent); assertEquals(1, doc.getChildNodesCount()); Element foo = (Element) doc.getChild(0); assertEquals("foo", foo.getNodeName()); assertEquals(3, foo.getChildNodesCount()); Element bar = (Element) foo.getChild(1); assertEquals("bar", bar.getNodeName()); assertEquals(1, bar.getChildNodesCount()); // must be 1 as whitespaces are between open/closed tag assertEquals("<foo><!--c--><bar> </bar><x/></foo>", doc.getHtml()); assertTrue(doc.check()); }
public JerryParser enableXmlMode() { domBuilder.enableXmlMode(); return this; }