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);
     }