@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 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 testFoster1() { String html = "A<table>B<tr>C</tr>D</table>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setUseFosterRules(true); Document doc = lagartoDOMBuilder.parse(html); html = html1(doc); assertEquals("ABCD<table><tr></tr></table>", html); }
@Test void testFoster2() { String html = "A<table><tr> B</tr> C</table>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setUseFosterRules(true); Document doc = lagartoDOMBuilder.parse(html); html = html1(doc); assertEquals("ABC<table><tr></tr></table>", html); }
@Test void testPreserveCC() throws IOException { File file = new File(testDataRoot, "preserve-cc.html"); String expectedResult = FileUtil.readString(file); Jerry.JerryParser jerryParser = new Jerry.JerryParser(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).enableHtmlMode(); ((LagartoDOMBuilder) jerryParser.getDOMBuilder()).getConfig().setEnableConditionalComments(false); Jerry jerry = jerryParser.parse(expectedResult); String result = jerry.html(); assertEquals(expectedResult, result); }
@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 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 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 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 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 testTagCOLGROUP2() { String content = "<table><colgroup><colgroup><tbody></table>"; LagartoDOMBuilder lagartoDOMBuilder = new LagartoDOMBuilder(); lagartoDOMBuilder.getConfig().setCollectErrors(true); Document doc = lagartoDOMBuilder.parse(content); assertEquals("<table><colgroup></colgroup><colgroup></colgroup><tbody></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()); }
@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 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()); }