@Override public Document clone() { Document document = cloneTo(new Document(config)); document.elapsedTime = this.elapsedTime; return document; }
/** * Starts with DOM building. * Creates root {@link jodd.lagarto.dom.Document} node. */ @Override public void start() { log.debug("DomTree builder started"); if (rootNode == null) { rootNode = new Document(domBuilder.config); } parentNode = rootNode; enabled = true; if (domBuilder.config.isEnabledVoidTags()) { htmlVoidRules = new HtmlVoidRules(); } }
@Test void testHasVsGet333() { Document document = new Document(); Element one = new Element(document, "one"); document.addChild(one); one.setAttribute("a1", "v1"); assertEquals("v1", one.getAttribute("a1")); assertEquals("v1", one.getAttribute("A1")); assertTrue(one.hasAttribute("a1")); assertTrue(one.hasAttribute("A1")); } }
@Test void testCssPath() { Document document = new Document(); Element html = new Element(document, "html"); document.addChild(html); Element div1 = new Element(document, "div"); div1.setAttribute("id", "one"); html.addChild(div1); Element div2 = new Element(document, "div"); div1.addChild(div2); assertEquals("html div#one div", div2.getCssPath()); assertEquals("html div#one", div1.getCssPath()); assertTrue(document.check()); }
@Test void testDetach() { Document document = new Document(); Element html = new Element(document, "html"); document.addChild(html); Element div1 = new Element(document, "div"); html.addChild(div1); Element div2 = new Element(document, "div"); div1.addChild(div2); div1.detachFromParent(); assertEquals(0, html.getChildNodesCount()); assertNull(div1.getParentNode()); assertTrue(document.check()); }
@Test void testReindexOne() { Document document = new Document(); Element one = new Element(document, "one"); document.addChild(one); assertEquals(1, document.childElementNodesCount); assertEquals(0, one.siblingElementIndex); Element two = new Element(document, "two"); document.addChild(two); assertEquals(2, document.childElementNodesCount); assertEquals(0, one.siblingElementIndex); assertEquals(1, two.siblingElementIndex); Text three = new Text(document, "xxx"); document.addChild(three); Element four = new Element(document, "four"); document.addChild(four); assertEquals(3, document.childElementNodesCount); assertEquals(0, one.siblingElementIndex); assertEquals(1, two.siblingElementIndex); assertEquals(2, four.siblingElementIndex); }
@Test void testAttributes() { Document document = new Document(); Element node = new Element(document, "div"); assertFalse(node.hasAttributes()); assertFalse(node.hasAttribute("id")); assertNull(node.getAttribute("id")); node.setAttribute("id", "jodd"); assertTrue(node.hasAttributes()); assertTrue(node.hasAttribute("id")); assertEquals("jodd", node.getAttribute("id")); node.setAttribute("foo"); assertTrue(node.hasAttribute("foo")); assertNull(node.getAttribute("foo")); assertFalse(node.isAttributeContaining("class", "one")); node.setAttribute("class", " one two three "); assertTrue(node.isAttributeContaining("class", "two")); assertTrue(node.isAttributeContaining("class", "three")); assertEquals(3, node.getAttributesCount()); }
@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 testChildren() { Document document = new Document();
@Test void testInsertRemoveDeepLevel() { Document document = new Document();
@Override public Document clone() { Document document = cloneTo(new Document(config)); document.elapsedTime = this.elapsedTime; return document; }
@Override public Document clone() { Document document = cloneTo(new Document(config)); document.elapsedTime = this.elapsedTime; return document; }
@Override public Document clone() { return cloneTo(new Document()); }
public void start() { startTime = System.currentTimeMillis(); if (log.isDebugEnabled()) { log.debug("DomTree builder started."); } rootNode = new Document(); parentNode = rootNode; enabled = true; }
/** * Starts with DOM building. * Creates root {@link Document} node. */ public void start() { log.debug("DomTree builder started"); if (rootNode == null) { rootNode = new Document(domBuilder.config); } parentNode = rootNode; enabled = true; if (domBuilder.config.isEnabledVoidTags()) { htmlVoidRules = new HtmlVoidRules(); } }
/** * Starts with DOM building. * Creates root {@link jodd.lagarto.dom.Document} node. */ @Override public void start() { log.debug("DomTree builder started"); if (rootNode == null) { rootNode = new Document(domBuilder.config); } parentNode = rootNode; enabled = true; if (domBuilder.config.isEnabledVoidTags()) { htmlVoidRules = new HtmlVoidRules(); } }