ws-commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From veit...@apache.org
Subject svn commit: r792627 - /webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/stax/XMLStreamReaderComparator.java
Date Thu, 09 Jul 2009 18:27:48 GMT
Author: veithen
Date: Thu Jul  9 18:27:48 2009
New Revision: 792627

URL: http://svn.apache.org/viewvc?rev=792627&view=rev
Log:
Further increased the coverage of XMLStreamReaderComparator.

Modified:
    webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/stax/XMLStreamReaderComparator.java

Modified: webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/stax/XMLStreamReaderComparator.java
URL: http://svn.apache.org/viewvc/webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/stax/XMLStreamReaderComparator.java?rev=792627&r1=792626&r2=792627&view=diff
==============================================================================
--- webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/stax/XMLStreamReaderComparator.java
(original)
+++ webservices/commons/trunk/modules/axiom/modules/axiom-api/src/test/java/org/apache/axiom/stax/XMLStreamReaderComparator.java
Thu Jul  9 18:27:48 2009
@@ -54,6 +54,12 @@
      */
     private final Set prefixes = new HashSet();
     
+    /**
+     * Set collecting all namespace URIs seen in the document to be able to
+     * test {@link NamespaceContext#getPrefix(String)}.
+     */
+    private final Set namespaceURIs = new HashSet();
+    
     public XMLStreamReaderComparator(XMLStreamReader expected, XMLStreamReader actual) {
         this.expected = expected;
         this.actual = actual;
@@ -134,6 +140,18 @@
         return assertSameResult(methodName, new Class[0], new Object[0]);
     }
 
+    private Set toPrefixSet(Iterator it) {
+        Set set = new HashSet();
+        while (it.hasNext()) {
+            String prefix = (String)it.next();
+            // TODO: Woodstox returns null instead of "" for the default namespace.
+            //       This seems incorrect, but the javax.namespace.NamespaceContext specs
are
+            //       not very clear.
+            set.add(prefix == null ? "" : prefix);
+        }
+        return set;
+    }
+    
     private void compareNamespaceContexts(NamespaceContext expected, NamespaceContext actual)
{
         for (Iterator it = prefixes.iterator(); it.hasNext(); ) {
             String prefix = (String)it.next();
@@ -141,6 +159,19 @@
                 assertEquals("Namespace URI for prefix '" + prefix + "' (" + getLocation()
+ ")", expected.getNamespaceURI(prefix), actual.getNamespaceURI(prefix));
             }
         }
+        for (Iterator it = namespaceURIs.iterator(); it.hasNext(); ) {
+            String namespaceURI = (String)it.next();
+            if (namespaceURI != null && namespaceURI.length() > 0) {
+                assertEquals(
+                        "Prefix for namespace URI '" + namespaceURI + "' (" + getLocation()
+ ")",
+                        expected.getPrefix(namespaceURI),
+                        actual.getPrefix(namespaceURI));
+                assertEquals(
+                        "Prefixes for namespace URI '" + namespaceURI + "' (" + getLocation()
+ ")",
+                        toPrefixSet(expected.getPrefixes(namespaceURI)),
+                        toPrefixSet(actual.getPrefixes(namespaceURI)));
+            }
+        }
     }
     
     /**
@@ -168,7 +199,7 @@
                 Object[] args = { Integer.valueOf(i) };
                 assertSameResult("getAttributeLocalName", paramTypes, args);
                 assertSameResult("getAttributeName", paramTypes, args);
-                assertSameResult("getAttributeNamespace", paramTypes, args);
+                namespaceURIs.add(assertSameResult("getAttributeNamespace", paramTypes, args));
                 prefixes.add(assertSameResult("getAttributePrefix", paramTypes, args));
                 assertSameResult("getAttributeType", paramTypes, args);
                 assertSameResult("getAttributeValue", paramTypes, args);
@@ -182,15 +213,16 @@
                 Map actualNamespaces = new HashMap();
                 for (int i=0; i<namespaceCount.intValue(); i++) {
                     String prefix = expected.getNamespacePrefix(i);
-                    expectedNamespaces.put(prefix,
-                            expected.getNamespaceURI(i));
+                    String namespaceURI = expected.getNamespaceURI(i);
+                    expectedNamespaces.put(prefix, namespaceURI);
                     actualNamespaces.put(actual.getNamespacePrefix(i),
                             actual.getNamespaceURI(i));
                     prefixes.add(prefix);
+                    namespaceURIs.add(namespaceURI);
                 }
                 assertEquals(expectedNamespaces, actualNamespaces);
             }
-            assertSameResult("getNamespaceURI");
+            namespaceURIs.add(assertSameResult("getNamespaceURI"));
             assertSameResult("getPIData");
             assertSameResult("getPITarget");
             prefixes.add(assertSameResult("getPrefix"));



Mime
View raw message