public void testParseFileLongerThan2048chars() throws ParseException { StringBuilder b = new StringBuilder(); for (int i = 0; i < 2048 * 3; i++) { b.append('*'); } String code = "<!doctype html>\n" + "<html>\n" + "<title></title>\n" + "<body>\n" + b.toString() + "</body>\n" + "</html>\n"; // ParseTreeBuilder.setLoggerLevel(Level.ALL); HtmlParseResult result = parse(code); Node root = result.root(); assertNotNull(root); // ElementUtils.dumpTree(root); OpenTag body = ElementUtils.query(result.root(), "html/body"); assertNotNull(body); CloseTag bodyEnd = body.matchingCloseTag(); assertNotNull(bodyEnd); assertEquals(6190, bodyEnd.from()); assertEquals(6197, bodyEnd.to()); }
public void testDuplicatedEntriesInHtmlModel() { HtmlModel model = HtmlModelFactory.getModel(HtmlVersion.HTML5); assertNotNull(model); Collection<HtmlTag> tags = model.getAllTags(); Collection<HtmlTag> names = new HashSet<HtmlTag>(); StringBuilder sb = new StringBuilder(); for (HtmlTag t : tags) { if (!names.add(t)) { sb.append(t.toString()); sb.append("("); sb.append(t.hashCode()); sb.append(")"); sb.append(", "); } } assertTrue("found duplicated entry/ies: " + sb.toString(), sb.length() == 0); }