You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by ve...@apache.org on 2012/12/27 10:47:48 UTC
svn commit: r1426149 - in /webservices/commons/trunk/modules/axiom/modules:
axiom-tests/src/test/java/org/apache/axiom/om/
axiom-testsuite/src/main/java/org/apache/axiom/ts/om/
axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/
Author: veithen
Date: Thu Dec 27 09:47:47 2012
New Revision: 1426149
URL: http://svn.apache.org/viewvc?rev=1426149&view=rev
Log:
AXIOM-311: Refactored the regression test for AXIOM-2.
Added:
webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderClose.java
- copied, changed from r1425363, webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java
Removed:
webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java
Modified:
webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
Modified: webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java?rev=1426149&r1=1426148&r2=1426149&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java Thu Dec 27 09:47:47 2012
@@ -260,6 +260,8 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.element.TestGetTextWithMixedOMTextChildren(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderCDATAEventFromElement(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderCDATAEventFromParser(metaFactory));
+ addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderClose(metaFactory, true));
+ addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderClose(metaFactory, false));
for (int i=0; i<builderFactories.length; i++) {
BuilderFactory bf = builderFactories[i];
addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderCommentEvent(metaFactory, bf, true));
Copied: webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderClose.java (from r1425363, webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java)
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderClose.java?p2=webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderClose.java&p1=webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java&r1=1425363&r2=1426149&rev=1426149&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-tests/src/test/java/org/apache/axiom/om/OMWrapperTest.java (original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderClose.java Thu Dec 27 09:47:47 2012
@@ -16,49 +16,41 @@
* specific language governing permissions and limitations
* under the License.
*/
+package org.apache.axiom.ts.om.element;
-package org.apache.axiom.om;
-
-import junit.framework.TestCase;
-
+import org.apache.axiom.om.OMContainer;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMMetaFactory;
+import org.apache.axiom.om.OMXMLBuilderFactory;
+import org.apache.axiom.om.OMXMLParserWrapper;
import org.apache.axiom.om.impl.OMXMLStreamReaderEx;
import org.apache.axiom.om.impl.builder.StAXOMBuilder;
-import org.apache.axiom.om.util.StAXUtils;
+import org.apache.axiom.ts.AxiomTestCase;
import javax.xml.stream.XMLStreamReader;
import java.io.StringReader;
-public class OMWrapperTest extends TestCase {
-
- public void testSingleElementWrapper() throws Exception {
- String xml = "<root>" +
- "<wrap1>" +
- "<wrap3>" +
- "<wrap2>" +
- "IncludedText" +
- "</wrap2>" +
- "</wrap3>" +
- "</wrap1>" +
- "</root>";
-
- XMLStreamReader xmlStreamReader =
- StAXUtils.createXMLStreamReader(new StringReader(xml));
- StAXOMBuilder b = new StAXOMBuilder(xmlStreamReader);
-
- OMElement documentElement = b.getDocumentElement();
- OMElement wrap2Element =
- documentElement.getFirstElement().
- getFirstElement().
- getFirstElement();
-
- OMElement elt = OMAbstractFactory.getOMFactory().createOMElement(
- "testName", "urn:testNs", "ns1"
- );
-
- elt.addChild(wrap2Element);
-
+/**
+ * Tests the behavior of {@link XMLStreamReader#close()} on the {@link XMLStreamReader} returned by
+ * {@link OMContainer#getXMLStreamReader(boolean)} on an {@link OMElement}. Regression test for <a
+ * href="https://issues.apache.org/jira/browse/AXIOM-2">AXIOM-2</a>.
+ */
+public class TestGetXMLStreamReaderClose extends AxiomTestCase {
+ private final boolean cache;
+
+ public TestGetXMLStreamReaderClose(OMMetaFactory metaFactory, boolean cache) {
+ super(metaFactory);
+ this.cache = cache;
+ addTestProperty("cache", String.valueOf(cache));
+ }
- XMLStreamReader reader = wrap2Element.getXMLStreamReaderWithoutCaching();
+ protected void runTest() throws Throwable {
+ OMXMLParserWrapper b = OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(),
+ new StringReader("<test>test</test>"));
+
+ OMElement element = b.getDocumentElement();
+
+ XMLStreamReader reader = element.getXMLStreamReader(cache);
// Make sure the reader is an OMStAXWrapper
if (reader instanceof OMXMLStreamReaderEx) {
@@ -67,29 +59,23 @@ public class OMWrapperTest extends TestC
wrapper.releaseParserOnClose(true);
}
- int count = 0;
while (reader.hasNext()) {
reader.next();
- count ++;
}
- // 4 events are produced: START_DOCUMENT, START_ELEMENT, END_ELEMENT and END_DOCUMENT
- assertEquals(4, count);
-
-
// Make sure that the wrapper can be closed without failing
reader.close();
reader.close(); // This should be a noop since the parser is closed.
// Closing the parser should also close the parser on the builder (since they are the same)
- assertTrue(b.isClosed());
+ assertTrue(((StAXOMBuilder)b).isClosed());
b.close(); // This should be a noop since the parser is closed
// Calling getProperty after a close should return null, not an exception
assertTrue(reader.getProperty("dummyProperty") == null);
// Calling builder.getReaderProperty should return null, not an exception
- assertTrue(b.getReaderProperty("dummyProperty") == null);
+ assertTrue(((StAXOMBuilder)b).getReaderProperty("dummyProperty") == null);
}