You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ws.apache.org by dk...@apache.org on 2019/10/31 14:48:53 UTC
[ws-axiom] 16/25: Increase test coverage and add Javadoc.
This is an automated email from the ASF dual-hosted git repository.
dkulp pushed a commit to branch datatypes
in repository https://gitbox.apache.org/repos/asf/ws-axiom.git
commit 9dbd4c2d0970baa7d399114f7c6c6c823cf81481
Author: Andreas Veithen <ve...@apache.org>
AuthorDate: Wed Dec 2 19:50:57 2015 +0000
Increase test coverage and add Javadoc.
---
.../org/apache/axiom/datatype/ContextAccessor.java | 18 +++++++++++++++
.../axiom/datatype/helper/dom/DOMHelperTest.java | 27 +++++++++++++++++++++-
2 files changed, 44 insertions(+), 1 deletion(-)
diff --git a/datatypes/src/main/java/org/apache/axiom/datatype/ContextAccessor.java b/datatypes/src/main/java/org/apache/axiom/datatype/ContextAccessor.java
index a384eb0..4abd1fc 100644
--- a/datatypes/src/main/java/org/apache/axiom/datatype/ContextAccessor.java
+++ b/datatypes/src/main/java/org/apache/axiom/datatype/ContextAccessor.java
@@ -19,6 +19,24 @@
package org.apache.axiom.datatype;
public interface ContextAccessor<T,O> {
+ /**
+ * Look up the namespace URI associated to the given prefix.
+ *
+ * @param contextObject
+ * The context object passed to
+ * {@link Type#parse(String, ContextAccessor, Object, Object)} or
+ * {@link Type#format(Object, ContextAccessor, Object, Object)}.
+ * @param options
+ * The options passed to {@link Type#parse(String, ContextAccessor, Object, Object)}
+ * or {@link Type#format(Object, ContextAccessor, Object, Object)}.
+ * @param prefix
+ * The prefix to look for. If this parameter is the empty string, then the URI of the
+ * default namespace will be returned.
+ * @return the namespace URI or <code>null</code> if the prefix is not bound; if the prefix is
+ * the empty string and no default namespace declaration exists, then an empty string is
+ * returned
+ */
String lookupNamespaceURI(T contextObject, O options, String prefix);
+
String lookupPrefix(T contextObject, O options, String namespaceURI);
}
diff --git a/datatypes/src/test/java/org/apache/axiom/datatype/helper/dom/DOMHelperTest.java b/datatypes/src/test/java/org/apache/axiom/datatype/helper/dom/DOMHelperTest.java
index 75f1f7e..00e994d 100644
--- a/datatypes/src/test/java/org/apache/axiom/datatype/helper/dom/DOMHelperTest.java
+++ b/datatypes/src/test/java/org/apache/axiom/datatype/helper/dom/DOMHelperTest.java
@@ -20,6 +20,8 @@ package org.apache.axiom.datatype.helper.dom;
import static com.google.common.truth.Truth.assertThat;
+import java.text.ParseException;
+
import javax.xml.namespace.QName;
import javax.xml.parsers.DocumentBuilderFactory;
@@ -29,9 +31,13 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element;
public class DOMHelperTest {
+ private static Document newDocument() throws Exception {
+ return DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
+ }
+
@Test
public void testGetQNameFromElement() throws Exception {
- Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
+ Document document = newDocument();
Element element = document.createElementNS("urn:test", "p:elem");
element.setTextContent("p:value");
QName qname = DOMHelper.getValue(element, XSQNameType.INSTANCE);
@@ -39,4 +45,23 @@ public class DOMHelperTest {
assertThat(qname.getLocalPart()).isEqualTo("value");
assertThat(qname.getPrefix()).isEqualTo("p");
}
+
+ @Test(expected=ParseException.class)
+ public void testGetQNameFromElementUnboundPrefix() throws Exception {
+ Document document = newDocument();
+ Element element = document.createElementNS(null, "test");
+ element.setTextContent("ns:test");
+ DOMHelper.getValue(element, XSQNameType.INSTANCE);
+ }
+
+ @Test
+ public void testGetQNameFromElementNoDefaultNamespace() throws Exception {
+ Document document = newDocument();
+ Element element = document.createElementNS("urn:test", "p:test");
+ element.setTextContent("value");
+ QName qname = DOMHelper.getValue(element, XSQNameType.INSTANCE);
+ assertThat(qname.getNamespaceURI()).isEmpty();
+ assertThat(qname.getLocalPart()).isEqualTo("value");
+ assertThat(qname.getPrefix()).isEmpty();
+ }
}