@Test void testDoubleDecode() { LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); Document document = lagartoDOMBuilder.parse("<div title=\"&lt;root /&gt;\">"); Element div = (Element) document.getFirstChild(); assertEquals("<root />", div.getAttribute("title")); } }
@Test void testOneNode() { String content = "<body><div>test<span>sss</span></body>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<body><div>test<span>sss</span></div></body>", doc.getHtml()); assertTrue(doc.check()); }
@Test void testQuotes() throws IOException { String html = read("quotes.html", false); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); Document doc = lagartoDOMBuilder.parse(html); html = html(doc); String out = read("quotes-out.html", true); assertEquals(out, html); }
@Test void testIssue23_0() throws IOException { File file = new File(testDataRoot, "index-4-v0.html"); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCalculatePosition(true); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(FileUtil.readString(file)); assertTrue(doc.check()); assertEquals(1, doc.getErrors().size()); }
@Test void testIssue23_1() throws IOException { File file = new File(testDataRoot, "index-4-v1.html"); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCalculatePosition(true); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(FileUtil.readString(file)); assertTrue(doc.check()); assertEquals(1, doc.getErrors().size()); }
@Test void testPeterSimple2() { String content = "<div><h1>FORELE</h1><p>dicuss<div><h2>HAB</h2><p>AMONG</div></div>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<div><h1>FORELE</h1><p>dicuss</p><div><h2>HAB</h2><p>AMONG</p></div></div>", doc.getHtml()); assertTrue(doc.check()); }
@Test void testEOFWithError() { String html = "<body><p>111<h1>222"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableDebug(); Document doc = lagartoDOMBuilder.parse(html); html = html1(doc); assertEquals("<body><p>111</p><h1>222</h1></body>", html); assertNotNull(doc.getErrors()); assertEquals(1, doc.getErrors().size()); }
@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 testListCrazy() throws IOException { String html = read("listcrazy.html", false); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableHtmlPlusMode(); lagartoDOMBuilder.enableDebug(); Document doc = lagartoDOMBuilder.parse(html); html = html(doc); String out = read("listcrazy-out.html", true); assertEquals(out, html); assertEquals(1, doc.getErrors().size()); }
@Test void testXHtml2Html() { String content = XHTML_STRING; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); Document doc = lagartoDOMBuilder.enableHtmlMode().parse(content); assertEquals(HTML_STRING, doc.getHtml()); assertTrue(doc.check()); }
@Test void testCrazySpan() throws IOException { String html = read("spancrazy.html", false); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableHtmlPlusMode(); lagartoDOMBuilder.enableDebug(); Document doc = lagartoDOMBuilder.parse(html); html = html(doc); String out = read("spancrazy-out.html", true); assertEquals(out, html); assertEquals(3, doc.getErrors().size()); }
@Test void testTagPNoImplRules() { String content = "<body><p>para #1<p> para <b>#2</b></body>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); lagartoDOMBuilder.getConfig().setImpliedEndTags(false); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<body><p>para #1<p> para <b>#2</b></p></p></body>", doc.getHtml()); assertEquals(2, doc.getErrors().size()); }
@Test void testHtml2XHtml() { String content = HTML_STRING; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); Document doc = lagartoDOMBuilder.enableXhtmlMode().parse(content); assertEquals(XHTML_STRING, 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 testTableInTableInTable() throws IOException { String html = read("tableInTable.html", false); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); Document doc = lagartoDOMBuilder.parse(html); String out = read("tableInTable-out.html", true); assertEquals(out, html(doc)); assertTrue(doc.check()); }
@Test void testTable1() throws IOException { String html = read("table1.html", false); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableHtmlPlusMode(); lagartoDOMBuilder.enableDebug(); Document doc = lagartoDOMBuilder.parse(html); html = html(doc); String out = read("table1-out.html", true); assertEquals(out, html); }
@Test void testTable2() throws IOException { String html = read("table2.html", false); LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableHtmlPlusMode(); lagartoDOMBuilder.enableDebug(); Document doc = lagartoDOMBuilder.parse(html); html = html(doc); String out = read("table2-out.html", true); assertEquals(out, html); }
@Test void testTagTRTD() { String content = "<table><tr><td>cell #1<td>cell #2<tr><td>cell #3<td>cell #4</table>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<table><tr><td>cell #1</td><td>cell #2</td></tr><tr><td>cell #3</td><td>cell #4</td></tr></table>", doc.getHtml()); assertNull(doc.getErrors()); }
@Test void testTagTFOOT() { String content = "<table><tbody><tr><td>cell #1<td>cell #2<tr><td>cell #3<td>cell #4<tfoot><tr><td>sum #1<td>sum #2</table>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<table><tbody><tr><td>cell #1</td><td>cell #2</td></tr><tr><td>cell #3</td><td>cell #4</td></tr></tbody><tfoot><tr><td>sum #1</td><td>sum #2</td></tr></tfoot></table>", doc.getHtml()); assertNull(doc.getErrors()); }
@Test void testTagOPTGROUP() { String content = "<form><select><optgroup><option>option#1</option><optgroup><option>option#2</option></select></form>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<form><select><optgroup><option>option#1</option></optgroup><optgroup><option>option#2</option></optgroup></select></form>", doc.getHtml()); assertNull(doc.getErrors()); }