@Override public E getDocumentElement() { return doc.getDocumentElement(); }
private boolean isUsableElement(E element) { return element != null && element != doc.getDocumentElement(); }
/** * @see MutableDocumentImpl#MutableDocumentImpl(OperationSequencer, ReadableWDocument) */ // Unfortunately, java does not permit <N extends N, E extends N & Doc.E, ...> // which would be required to make this typesafe. @SuppressWarnings({"unchecked", "rawtypes"}) public DocumentImpl(OperationSequencer<Nindo> sequencer, ReadableWDocument document) { super(sequencer, document); Preconditions.checkArgument(document.getDocumentElement() instanceof Doc.E, "Document and sequencer must be for nodes of the Doc.* variety"); } }
@Override public E appendXml(XmlStringBuilder xml) { return insertXml(Point.<N>end(doc.getDocumentElement()), xml); }
public void testGetNextSiblingElementBackwardsForInvalid() { ReadableWDocument<Node, Element, Text> doc = DocProviders.POJO.parse( "<div>abc<p>def<q>hij</q></p><p>def<q>hij</q></p></div>"); try { DocHelper.getPreviousSiblingElement(doc, null); fail("Should failed when fetching previous sibling of a null"); } catch (Exception e) { // Success! } try { DocHelper.getPreviousSiblingElement(null, doc.getFirstChild(doc.getDocumentElement())); fail("Should failed when fetching previous sibling in a null document"); } catch (Exception e) { // Success! } }
public void testGetNextSiblingElementBackwardsForInvalid() { ReadableWDocument<Node, Element, Text> doc = DocProviders.POJO.parse( "<div>abc<p>def<q>hij</q></p><p>def<q>hij</q></p></div>"); try { DocHelper.getPreviousSiblingElement(doc, null); fail("Should failed when fetching previous sibling of a null"); } catch (Exception e) { // Success! } try { DocHelper.getPreviousSiblingElement(null, doc.getFirstChild(doc.getDocumentElement())); fail("Should failed when fetching previous sibling in a null document"); } catch (Exception e) { // Success! } }
/***/ public void testGetNextSiblingElementBackwards() { ReadableWDocument<Node, Element, Text> doc = DocProviders.POJO.parse( "<div>abc<p>def<q>hij</q></p><p>def<q>hij</q></p></div>"); Element previous = null; Node node = doc.getFirstChild(doc.getDocumentElement()); while (node != null) { Element p = doc.asElement(node); if (p != null) { if (previous == null) { // p is the very first element among nodes of doc. assertNull(DocHelper.getPreviousSiblingElement(doc, p)); } else { // p follows a previously seen previous element. assertSame(previous, DocHelper.getPreviousSiblingElement(doc, p)); } previous = p; } node = doc.getNextSibling(node); } // TODO(user): The following fails. Uncomment and fix if it should work. // assertNull(DocHelper.getPreviousSiblingElement(doc, null)); }
/***/ public void testGetNextSiblingElementBackwards() { ReadableWDocument<Node, Element, Text> doc = DocProviders.POJO.parse( "<div>abc<p>def<q>hij</q></p><p>def<q>hij</q></p></div>"); Element previous = null; Node node = doc.getFirstChild(doc.getDocumentElement()); while (node != null) { Element p = doc.asElement(node); if (p != null) { if (previous == null) { // p is the very first element among nodes of doc. assertNull(DocHelper.getPreviousSiblingElement(doc, p)); } else { // p follows a previously seen previous element. assertSame(previous, DocHelper.getPreviousSiblingElement(doc, p)); } previous = p; } node = doc.getNextSibling(node); } // TODO(user): The following fails. Uncomment and fix if it should work. // assertNull(DocHelper.getPreviousSiblingElement(doc, null)); }
/** * Tests the getItemSize method */ public void testGetItemSize() { ReadableWDocument<Node, Element, Text> doc = DocProviders.POJO.parse( "<top>abc<p>def<q>hij</q></p><p>def<q>hij</q></p></top>"); Element top = (Element) doc.getDocumentElement().getFirstChild(); assertEquals(25, DocHelper.getItemSize(doc, top)); Node text = doc.getFirstChild(top); assertEquals(3, DocHelper.getItemSize(doc, text)); Node pWithSibling = doc.getNextSibling(text); assertEquals(10, DocHelper.getItemSize(doc, pWithSibling)); Node pWithoutSibling = doc.getNextSibling(pWithSibling); assertEquals(10, DocHelper.getItemSize(doc, pWithoutSibling)); }
/** * Tests the getItemSize method */ public void testGetItemSize() { ReadableWDocument<Node, Element, Text> doc = DocProviders.POJO.parse( "<top>abc<p>def<q>hij</q></p><p>def<q>hij</q></p></top>"); Element top = (Element) doc.getDocumentElement().getFirstChild(); assertEquals(25, DocHelper.getItemSize(doc, top)); Node text = doc.getFirstChild(top); assertEquals(3, DocHelper.getItemSize(doc, text)); Node pWithSibling = doc.getNextSibling(text); assertEquals(10, DocHelper.getItemSize(doc, pWithSibling)); Node pWithoutSibling = doc.getNextSibling(pWithSibling); assertEquals(10, DocHelper.getItemSize(doc, pWithoutSibling)); }
"<A><B/><C><D/><E/></C></A>"); Node[] nodes = new Node[5]; nodes[0] = doc.getDocumentElement().getFirstChild(); nodes[1] = nodes[0].getFirstChild(); nodes[2] = nodes[1].getNextSibling();
"<A><B/><C><D/><E/></C></A>"); Node[] nodes = new Node[5]; nodes[0] = doc.getDocumentElement().getFirstChild(); nodes[1] = nodes[0].getFirstChild(); nodes[2] = nodes[1].getNextSibling();