@Test void testBodyEndWithError() { String html = "<body><p>111<h1>222</body>"; 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 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 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 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 testEOF() { String html = "<body><p>111"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableDebug(); Document doc = lagartoDOMBuilder.parse(html); html = html1(doc); assertEquals("<body><p>111</p></body>", html); assertNull(doc.getErrors()); }
@Test void testBodyEnd() { String html = "<body><p>111</body>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.enableDebug(); Document doc = lagartoDOMBuilder.parse(html); html = html1(doc); assertEquals("<body><p>111</p></body>", html); assertNull(doc.getErrors()); }
@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 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 testTagTH() { String content = "<table><tr><th>cell #1<th>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><th>cell #1</th><th>cell #2</th></tr><tr><td>cell #3</td><td>cell #4</td></tr></table>", doc.getHtml()); assertNull(doc.getErrors()); }
@Test void testTagCOLGROUP1() { String content = "<table><colgroup><colgroup><thead></table>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<table><colgroup></colgroup><colgroup></colgroup><thead></thead></table>", doc.getHtml()); assertNull(doc.getErrors()); }
@Test void testTagDL() { String content = "<body><dl><dt>item #1<dd>desc #1<dt>item #2<dd>dec #2</dl></body>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<body><dl><dt>item #1</dt><dd>desc #1</dd><dt>item #2</dt><dd>dec #2</dd></dl></body>", doc.getHtml()); assertNull(doc.getErrors()); }
@Test void testHEAD() { String content = "<html><head>head<body>body</html>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<html><head>head</head><body>body</body></html>", doc.getHtml()); assertNull(doc.getErrors()); }
@Test void testBODY() { String content = "<html><body>body"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<html><body>body</body></html>", 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()); }
@Test void testTagP() { String content = "<body><p>para #1<p> para <b>#2</b></body>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<body><p>para #1</p><p> para <b>#2</b></p></body>", doc.getHtml()); assertNull(doc.getErrors()); }
@Test void testTagTBODY() { String content = "<table><tbody><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><tbody><tr><td>cell #1</td><td>cell #2</td></tr><tr><td>cell #3</td><td>cell #4</td></tr></tbody></table>", doc.getHtml()); assertNull(doc.getErrors()); }
@Test void testTagCOLGROUP3() { String content = "<table><colgroup><col></colgroup><colgroup><tr><td></table>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<table><colgroup><col></colgroup><colgroup></colgroup><tr><td></td></tr></table>", doc.getHtml()); assertNull(doc.getErrors()); }