@Test void testSpecialCases() { Document document = new Document(); Element html = new Element(document, "html"); document.addChild(html); assertEquals(0, html.getChildNodesCount()); assertNull(html.getChild(0)); assertNull(html.getChild(1000)); assertEquals(0, html.getChildNodes().length); assertNull(html.getFirstChild()); assertNull(html.getFirstChildElement()); assertNull(html.getFirstChildElement("h1")); assertNull(html.getLastChild()); assertNull(html.getLastChildElement()); assertNull(html.getLastChildElement("h1")); assertEquals(0, html.getSiblingIndex()); assertEquals(0, html.getSiblingElementIndex()); assertEquals(0, html.getSiblingNameIndex()); assertTrue(document.check()); }
@Test void testNamesAndChilds() { Document document = new LagartoDOMBuilder().parse("<div id='top'><p id='id1'>one</p><span id='t1'>text1</span><p id='id2'>two</p><span id='t2'>text2</span><p id='id3'>three</p><span id='t3'>text3</span></div>"); Element topDiv = (Element) document.getFirstChild(); Element p1 = (Element) topDiv.getFirstChild(); assertEquals("id1", p1.getAttribute("id")); Element s1 = (Element) p1.getNextSibling(); assertEquals("t1", s1.getAttribute("id")); Element p2 = (Element) s1.getNextSiblingElement(); assertEquals("id2", p2.getAttribute("id")); Element p3 = (Element) p2.getNextSiblingElement().getNextSiblingElement(); assertEquals("id3", p3.getAttribute("id")); Element s3 = (Element) p3.getNextSibling(); assertEquals("t3", s3.getAttribute("id")); assertEquals(p2, p1.getNextSiblingName()); assertEquals(s3, s1.getNextSiblingName().getNextSiblingName()); assertEquals(p2, p3.getPreviousSiblingName()); assertEquals(s1, s3.getPreviousSiblingName().getPreviousSiblingName()); assertEquals(p1, topDiv.getFirstChild()); assertEquals(p1, topDiv.getFirstChildElement()); assertEquals(p1, topDiv.getFirstChildElement("p")); assertEquals(s1, topDiv.getFirstChildElement("span")); assertEquals(s3, topDiv.getLastChild()); assertEquals(s3, topDiv.getLastChildElement()); assertEquals(p3, topDiv.getLastChildElement("p")); assertEquals(s3, topDiv.getLastChildElement("span")); 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()); }
assertEquals(p1, topDiv.getFirstChildElement()); assertEquals(p1, topDiv.getFirstChildElement("p"));