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 2016/03/05 18:56:26 UTC
svn commit: r1733745 - in /webservices/axiom/branches/1.2.x: ./
implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/
implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/
testing/ testing/axiom-testsuite/src/main/java...
Author: veithen
Date: Sat Mar 5 17:56:25 2016
New Revision: 1733745
URL: http://svn.apache.org/viewvc?rev=1733745&view=rev
Log:
Merge r1733743 to the 1.2 branch.
Modified:
webservices/axiom/branches/1.2.x/ (props changed)
webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java
webservices/axiom/branches/1.2.x/testing/ (props changed)
webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java
Propchange: webservices/axiom/branches/1.2.x/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Mar 5 17:56:25 2016
@@ -14,4 +14,4 @@
/webservices/axiom/branches/maven-site-plugin-3.5:1731125-1732708
/webservices/axiom/branches/namespaceURIInterning:1293148-1293587
/webservices/axiom/branches/osgi-redesign:1180368-1180596
-/webservices/axiom/trunk:1726096,1726101,1726419,1726474-1726475,1726489,1727220,1727422,1727435,1727496,1727541,1727549,1727640,1727660,1727688,1727743,1727755,1727758,1727761,1728022,1728240,1728929,1730261,1730278,1731157,1731314-1731315,1731373,1731376,1731378,1731406,1731522,1731541,1732710
+/webservices/axiom/trunk:1726096,1726101,1726419,1726474-1726475,1726489,1727220,1727422,1727435,1727496,1727541,1727549,1727640,1727660,1727688,1727743,1727755,1727758,1727761,1728022,1728240,1728929,1730261,1730278,1731157,1731314-1731315,1731373,1731376,1731378,1731406,1731522,1731541,1732710,1733743
Modified: webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java?rev=1733745&r1=1733744&r2=1733745&view=diff
==============================================================================
--- webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java (original)
+++ webservices/axiom/branches/1.2.x/implementations/axiom-dom/src/test/java/org/apache/axiom/om/impl/dom/OMImplementationTest.java Sat Mar 5 17:56:25 2016
@@ -28,6 +28,7 @@ import org.apache.axiom.ts.om.container.
import org.apache.axiom.ts.om.document.TestClone;
import org.apache.axiom.ts.om.document.TestDigest;
import org.apache.axiom.ts.om.element.TestGetChildrenWithName4;
+import org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext;
import org.apache.axiom.ts.om.element.sr.TestClose;
import org.apache.axiom.ts.om.node.TestInsertSiblingAfterOnChild;
import org.apache.axiom.ts.om.node.TestInsertSiblingBeforeOnChild;
@@ -59,6 +60,9 @@ public class OMImplementationTest extend
// TODO: test case needing review
builder.exclude(TestClose.class);
+ // TODO: the namespace context is different when cache=false
+ builder.exclude(TestGetXMLStreamReaderWithPreserveNamespaceContext.class, "(cache=false)");
+
return builder.build();
}
}
Modified: webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java?rev=1733745&r1=1733744&r2=1733745&view=diff
==============================================================================
--- webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java (original)
+++ webservices/axiom/branches/1.2.x/implementations/axiom-impl/src/test/java/org/apache/axiom/om/impl/llom/OMImplementationTest.java Sat Mar 5 17:56:25 2016
@@ -27,6 +27,7 @@ import org.apache.axiom.ts.om.builder.Te
import org.apache.axiom.ts.om.container.TestSerialize;
import org.apache.axiom.ts.om.document.TestClone;
import org.apache.axiom.ts.om.document.TestDigest;
+import org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext;
import org.apache.axiom.ts.om.element.sr.TestClose;
import org.apache.axiom.ts.om.node.TestInsertSiblingAfterOnChild;
import org.apache.axiom.ts.om.node.TestInsertSiblingBeforeOnChild;
@@ -54,6 +55,9 @@ public class OMImplementationTest extend
// TODO: test case needing review
builder.exclude(TestClose.class);
+ // TODO: the namespace context is different when cache=false
+ builder.exclude(TestGetXMLStreamReaderWithPreserveNamespaceContext.class, "(cache=false)");
+
return builder.build();
}
}
Propchange: webservices/axiom/branches/1.2.x/testing/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Sat Mar 5 17:56:25 2016
@@ -12,4 +12,4 @@
/webservices/axiom/branches/attrs-aspects/testing:1685218-1686663
/webservices/axiom/branches/namespaceURIInterning/testing:1293148-1293587
/webservices/axiom/branches/osgi-redesign/testing:1180368-1180596
-/webservices/axiom/trunk/testing:1726096,1726101,1726474-1726475,1726489,1727220,1727422,1727435,1727496,1727513,1727529,1727549,1727660,1727688,1728022,1728240,1728929,1731373,1731376,1731378,1731406,1731522,1731541,1732710
+/webservices/axiom/trunk/testing:1726096,1726101,1726474-1726475,1726489,1727220,1727422,1727435,1727496,1727513,1727529,1727549,1727660,1727688,1728022,1728240,1728929,1731373,1731376,1731378,1731406,1731522,1731541,1732710,1733743
Modified: webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java?rev=1733745&r1=1733744&r2=1733745&view=diff
==============================================================================
--- webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java (original)
+++ webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/OMTestSuiteBuilder.java Sat Mar 5 17:56:25 2016
@@ -349,7 +349,10 @@ public class OMTestSuiteBuilder extends
addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithNamespaceURIInterning(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithoutCachingPartiallyBuilt(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithoutCachingPartiallyBuiltModified(metaFactory));
- addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory));
+ addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory, true, true));
+ addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory, true, false));
+ addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory, false, true));
+ addTest(new org.apache.axiom.ts.om.element.TestGetXMLStreamReaderWithPreserveNamespaceContext(metaFactory, false, false));
addTest(new org.apache.axiom.ts.om.element.TestHasNameWithNamespace(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestHasNameWithoutNamespace(metaFactory));
addTest(new org.apache.axiom.ts.om.element.TestIsCompleteAfterAddingIncompleteChild(metaFactory));
Modified: webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java
URL: http://svn.apache.org/viewvc/webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java?rev=1733745&r1=1733744&r2=1733745&view=diff
==============================================================================
--- webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java (original)
+++ webservices/axiom/branches/1.2.x/testing/axiom-testsuite/src/main/java/org/apache/axiom/ts/om/element/TestGetXMLStreamReaderWithPreserveNamespaceContext.java Sat Mar 5 17:56:25 2016
@@ -18,11 +18,13 @@
*/
package org.apache.axiom.ts.om.element;
+import static com.google.common.truth.Truth.assertThat;
+
import java.io.InputStream;
-import java.util.Arrays;
import java.util.HashSet;
import java.util.Set;
+import javax.xml.namespace.NamespaceContext;
import javax.xml.stream.XMLStreamReader;
import org.apache.axiom.om.OMElement;
@@ -33,26 +35,46 @@ import org.apache.axiom.ts.AxiomTestCase
/**
* Tests the behavior of
- * {@link OMElement#getXMLStreamReader(boolean, OMXMLStreamReaderConfiguration)} with
- * {@link OMXMLStreamReaderConfiguration#isPreserveNamespaceContext()} set to <code>true</code>.
+ * {@link OMElement#getXMLStreamReader(boolean, OMXMLStreamReaderConfiguration)} in conjunction with
+ * {@link OMXMLStreamReaderConfiguration#isPreserveNamespaceContext()}.
*/
public class TestGetXMLStreamReaderWithPreserveNamespaceContext extends AxiomTestCase {
- public TestGetXMLStreamReaderWithPreserveNamespaceContext(OMMetaFactory metaFactory) {
+ private final boolean preserveNamespaceContext;
+ private final boolean cache;
+
+ public TestGetXMLStreamReaderWithPreserveNamespaceContext(OMMetaFactory metaFactory, boolean preserveNamespaceContext, boolean cache) {
super(metaFactory);
+ this.preserveNamespaceContext = preserveNamespaceContext;
+ addTestParameter("preserveNamespaceContext", preserveNamespaceContext);
+ this.cache = cache;
+ addTestParameter("cache", cache);
}
protected void runTest() throws Throwable {
InputStream in = TestGetXMLStreamReaderWithPreserveNamespaceContext.class.getResourceAsStream("AXIOM-114.xml");
OMElement root = OMXMLBuilderFactory.createOMBuilder(metaFactory.getOMFactory(), in).getDocumentElement();
+ root.declareNamespace("http://example.org", "p");
OMXMLStreamReaderConfiguration configuration = new OMXMLStreamReaderConfiguration();
- configuration.setPreserveNamespaceContext(true);
- XMLStreamReader reader = root.getFirstElement().getFirstElement().getXMLStreamReader(true, configuration);
- assertEquals(XMLStreamReader.START_ELEMENT, reader.next());
- assertEquals(4, reader.getNamespaceCount());
+ configuration.setPreserveNamespaceContext(preserveNamespaceContext);
+ XMLStreamReader reader = root.getFirstElement().getFirstElement().getXMLStreamReader(cache, configuration);
+ assertThat(reader.next()).isEqualTo(XMLStreamReader.START_ELEMENT);
Set<String> prefixes = new HashSet<>();
- for (int i=0; i<4; i++) {
+ for (int i=0; i<reader.getNamespaceCount(); i++) {
prefixes.add(reader.getNamespacePrefix(i));
}
- assertEquals(new HashSet<>(Arrays.asList(new String[] { "soapenv", "xsd", "xsi", "ns"} )), prefixes);
+ if (preserveNamespaceContext) {
+ assertThat(prefixes).containsExactly("soapenv", "xsd", "xsi", "ns", "p");
+ } else {
+ assertThat(prefixes).containsExactly("ns");
+ }
+ // Make sure that we start pulling events directly from the underlying parser.
+ reader.nextTag();
+ // The following assertions are true irrespective of the value of preserveNamespaceContext.
+ assertThat(reader.getNamespaceURI("xsd")).isEqualTo("http://www.w3.org/2001/XMLSchema");
+ // Namespace declarations added programmatically on an ancestor should also be visible.
+ assertThat(reader.getNamespaceURI("p")).isEqualTo("http://example.org");
+ NamespaceContext nc = reader.getNamespaceContext();
+ assertThat(nc.getPrefix("http://www.w3.org/2001/XMLSchema")).isEqualTo("xsd");
+ assertThat(nc.getPrefix("http://example.org")).isEqualTo("p");
}
}