use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.
the class TestBuild method runTest.
@Override
protected void runTest() throws Throwable {
InstrumentedInputStream in = new InstrumentedInputStream(XMLSample.LARGE.getInputStream());
OMDocument doc = OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), in).getDocument();
assertFalse(doc.isComplete());
long countBeforeBuild = in.getCount();
doc.build();
assertTrue(doc.isComplete());
long countAfterBuild = in.getCount();
assertTrue(countAfterBuild > countBeforeBuild);
OMNode node = doc.getFirstOMChild();
while (node != null) {
node = node.getNextOMSibling();
}
assertEquals(countAfterBuild, in.getCount());
}
use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.
the class TestCreateStAXOMBuilderFromFragment method runTest.
@Override
protected void runTest() throws Throwable {
XMLStreamReader reader = StAXUtils.createXMLStreamReader(new StringReader("<a><b>text</b></a>"));
// Position the reader on the event for <b>
while (reader.getEventType() != XMLStreamReader.START_ELEMENT || !reader.getLocalName().equals("b")) {
reader.next();
}
// Check that the builder only builds the part of the document corresponding to <b>text</b>
OMElement element = OMXMLBuilderFactory.createStAXOMBuilder(metaFactory.getOMFactory(), reader).getDocumentElement();
assertEquals("b", element.getLocalName());
OMNode child = element.getFirstOMChild();
assertTrue(child instanceof OMText);
assertNull(element.getNextOMSibling());
// Check that the original reader is now positioned on the event just following </b>
assertEquals(XMLStreamReader.END_ELEMENT, reader.getEventType());
assertEquals("a", reader.getLocalName());
}
use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.
the class TestInsertSiblingBeforeFromForeignDocument method runTest.
@Override
protected void runTest() throws Throwable {
DocumentBuilder db = ((DOMMetaFactory) metaFactory).newDocumentBuilderFactory().newDocumentBuilder();
Document document1 = db.newDocument();
Element element1 = document1.createElementNS(null, "element1");
Text text = document1.createTextNode("test");
element1.appendChild(text);
Document document2 = db.newDocument();
Element element2 = document2.createElementNS(null, "element2");
((OMNode) text).insertSiblingBefore((OMElement) element2);
// Assert that the new child is not a copy, but the original element
assertSame(element2, element1.getFirstChild());
// Assert that the owner document of element2 was changed
assertSame(document1, element2.getOwnerDocument());
}
use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.
the class TestGetElementTextFromParser method runTest.
@Override
protected void runTest() throws Throwable {
// Note: We test getElementText on a child element ("b") of the element from which we request
// the XMLStreamReader ("a"). This is to make sure that the XMLStreamReader implementation actually
// delegates to the underlying parser (which is not necessarily the case on "a").
OMXMLParserWrapper builder = builderFactory.getBuilder(metaFactory, new InputSource(new StringReader("<a><b>AB<!--comment text-->CD</b></a>")));
OMElement element = builder.getDocumentElement();
// Build a certain number of descendants. This is used to test scenarios where the XMLStreamReader
// needs to switch to pull through mode in the middle of the element from which we attempt to
// get the text.
Iterator<OMNode> it = element.getDescendants(true);
for (int i = 0; i < build; i++) {
it.next();
}
XMLStreamReader reader = element.getXMLStreamReader(cache);
assertEquals(XMLStreamReader.START_ELEMENT, reader.next());
assertEquals(XMLStreamReader.START_ELEMENT, reader.next());
assertEquals("ABCD", reader.getElementText());
}
use of org.apache.axiom.om.OMNode in project webservices-axiom by apache.
the class TestSetText method runTest.
@Override
protected void runTest() throws Throwable {
OMElement element = metaFactory.getOMFactory().createOMElement("test", null);
String text = "The quick brown fox jumps over the lazy dog";
element.setText(text);
// Check that OMElement#getText() returns a matching value
assertEquals("Text value mismatch", text, element.getText());
// Check that OMElement#setText() has created the expected nodes
OMNode child = element.getFirstOMChild();
assertTrue(child instanceof OMText);
assertSame(element, child.getParent());
assertEquals(text, ((OMText) child).getText());
assertNull(child.getNextOMSibling());
}
Aggregations