Skip to content

Commit

Permalink
getPrefix should return null for not-in-scope namespace URIs
Browse files Browse the repository at this point in the history
  • Loading branch information
rolfl committed Jan 4, 2013
1 parent 359a998 commit f1c765a
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 4 deletions.
2 changes: 1 addition & 1 deletion core/src/java/org/jdom2/jaxb/JDOMNamespaceContext.java
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ public String getPrefix(final String namespaceURI) {
} }
} }


return ""; return null;
} }


@SuppressWarnings("rawtypes") @SuppressWarnings("rawtypes")
Expand Down
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -94,18 +94,24 @@ public void testGetNamespaceURIWithoutDef() {
public void testGetPrefixWithDef() { public void testGetPrefixWithDef() {
final JDOMNamespaceContext nsc = new JDOMNamespaceContext(Arrays.asList(nsok)); final JDOMNamespaceContext nsc = new JDOMNamespaceContext(Arrays.asList(nsok));
assertEquals("", nsc.getPrefix("defns")); assertEquals("", nsc.getPrefix("defns"));
assertEquals(Namespace.NO_NAMESPACE.getPrefix(), nsc.getPrefix(Namespace.NO_NAMESPACE.getURI())); assertEquals(null, nsc.getPrefix(Namespace.NO_NAMESPACE.getURI()));
assertEquals(Namespace.XML_NAMESPACE.getPrefix(), nsc.getPrefix(Namespace.XML_NAMESPACE.getURI())); assertEquals(Namespace.XML_NAMESPACE.getPrefix(), nsc.getPrefix(Namespace.XML_NAMESPACE.getURI()));
assertEquals(JDOMConstants.NS_PREFIX_XMLNS, nsc.getPrefix(JDOMConstants.NS_URI_XMLNS)); assertEquals(JDOMConstants.NS_PREFIX_XMLNS, nsc.getPrefix(JDOMConstants.NS_URI_XMLNS));
assertEquals("a", nsc.getPrefix("urla")); assertEquals("a", nsc.getPrefix("urla"));
assertEquals("b", nsc.getPrefix("urlb")); assertEquals("b", nsc.getPrefix("urlb"));
try {
nsc.getPrefix(null);
failNoException(IllegalArgumentException.class);
} catch (Exception e) {
checkException(IllegalArgumentException.class, e);
}
} }


@Test @Test
public void testGetPrefixWithoutDef() { public void testGetPrefixWithoutDef() {
final JDOMNamespaceContext nsc = new JDOMNamespaceContext(Arrays.asList(nsmay)); final JDOMNamespaceContext nsc = new JDOMNamespaceContext(Arrays.asList(nsmay));
assertEquals("", nsc.getPrefix("defns")); assertEquals(null, nsc.getPrefix("defns"));
assertEquals(Namespace.NO_NAMESPACE.getPrefix(), nsc.getPrefix(Namespace.NO_NAMESPACE.getURI())); assertEquals(null, nsc.getPrefix(Namespace.NO_NAMESPACE.getURI()));
assertEquals(Namespace.XML_NAMESPACE.getPrefix(), nsc.getPrefix(Namespace.XML_NAMESPACE.getURI())); assertEquals(Namespace.XML_NAMESPACE.getPrefix(), nsc.getPrefix(Namespace.XML_NAMESPACE.getURI()));
assertEquals(JDOMConstants.NS_PREFIX_XMLNS, nsc.getPrefix(JDOMConstants.NS_URI_XMLNS)); assertEquals(JDOMConstants.NS_PREFIX_XMLNS, nsc.getPrefix(JDOMConstants.NS_URI_XMLNS));
assertEquals("a", nsc.getPrefix("urla")); assertEquals("a", nsc.getPrefix("urla"));
Expand All @@ -121,6 +127,12 @@ public void testGetPrefixesWithDef() {
checkIteratorEquals(nsc.getPrefixes(JDOMConstants.NS_URI_XMLNS), JDOMConstants.NS_PREFIX_XMLNS); checkIteratorEquals(nsc.getPrefixes(JDOMConstants.NS_URI_XMLNS), JDOMConstants.NS_PREFIX_XMLNS);
checkIteratorEquals(nsc.getPrefixes("urla"), "a", "a2"); checkIteratorEquals(nsc.getPrefixes("urla"), "a", "a2");
checkIteratorEquals(nsc.getPrefixes("urlb"), "b"); checkIteratorEquals(nsc.getPrefixes("urlb"), "b");
try {
nsc.getPrefixes(null);
failNoException(IllegalArgumentException.class);
} catch (Exception e) {
checkException(IllegalArgumentException.class, e);
}
} }


@Test @Test
Expand Down

0 comments on commit f1c765a

Please sign in to comment.