You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2013/07/13 23:29:29 UTC
svn commit: r1502885 -
/cxf/trunk/api/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java
Author: dkulp
Date: Sat Jul 13 21:29:28 2013
New Revision: 1502885
URL: http://svn.apache.org/r1502885
Log:
Different JAXB impls may use different namespace prefixes
Modified:
cxf/trunk/api/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java
Modified: cxf/trunk/api/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/api/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java?rev=1502885&r1=1502884&r2=1502885&view=diff
==============================================================================
--- cxf/trunk/api/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java (original)
+++ cxf/trunk/api/src/test/java/org/apache/cxf/staxutils/transform/OutTransformWriterTest.java Sat Jul 13 21:29:28 2013
@@ -21,6 +21,7 @@ package org.apache.cxf.staxutils.transfo
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
+import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
@@ -35,7 +36,13 @@ import javax.xml.stream.XMLStreamReader;
import javax.xml.stream.XMLStreamWriter;
import javax.xml.transform.stream.StreamSource;
+import org.w3c.dom.Element;
+
+import org.apache.cxf.common.util.StringUtils;
+import org.apache.cxf.helpers.DOMUtils;
import org.apache.cxf.staxutils.StaxUtils;
+import org.apache.cxf.staxutils.W3CDOMStreamWriter;
+
import org.junit.Assert;
import org.junit.Test;
@@ -65,10 +72,11 @@ public class OutTransformWriterTest exte
}
@Test
- public void testNamespaceConversion() throws Exception {
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- XMLStreamWriter writer = StaxUtils.createXMLStreamWriter(os, "UTF-8");
-
+ public void testNamespaceConversion() throws Exception {
+ W3CDOMStreamWriter writer = new W3CDOMStreamWriter();
+
+ JAXBContext context = JAXBContext.newInstance(TestBean.class);
+ Marshaller m = context.createMarshaller();
Map<String, String> outMap = new HashMap<String, String>();
outMap.put("{http://testbeans.com}testBean", "{http://testbeans.com/v2}testBean");
outMap.put("{http://testbeans.com}bean", "{http://testbeans.com/v3}bean");
@@ -78,26 +86,21 @@ public class OutTransformWriterTest exte
Collections.<String>emptyList(),
false,
"");
- JAXBContext context = JAXBContext.newInstance(TestBean.class);
- Marshaller m = context.createMarshaller();
m.marshal(new TestBean(), transformWriter);
- String xmlPI = "<?xml version='1.0' encoding='UTF-8'?>";
- String start = "<ps1:testBean xmlns:ps1=\"http://testbeans.com/v2\"";
- String expected1 = xmlPI + start
- + " xmlns:ps2=\"http://testbeans.com/v3\"><ps2:bean/></ps1:testBean>";
- String expected2 = xmlPI + start
- + "><ps2:bean xmlns:ps2=\"http://testbeans.com/v3\"/></ps1:testBean>";
- String out = os.toString();
- assertTrue("Output \"" + out + "\" does not match expected values",
- expected1.equals(out) || expected2.equals(out));
+ Element el = writer.getDocument().getDocumentElement();
+ assertEquals("http://testbeans.com/v2", el.getNamespaceURI());
+ assertFalse(StringUtils.isEmpty(el.getPrefix()));
+
+ Element el2 = DOMUtils.getFirstElement(el);
+ assertEquals("http://testbeans.com/v3", el2.getNamespaceURI());
+ assertFalse(StringUtils.isEmpty(el2.getPrefix()));
}
@Test
public void testNamespaceConversionAndDefaultNS() throws Exception {
- ByteArrayOutputStream os = new ByteArrayOutputStream();
- XMLStreamWriter writer = StaxUtils.createXMLStreamWriter(os, "UTF-8");
+ W3CDOMStreamWriter writer = new W3CDOMStreamWriter();
Map<String, String> outMap = new HashMap<String, String>();
outMap.put("{http://testbeans.com}testBean", "{http://testbeans.com/v2}testBean");
@@ -112,15 +115,13 @@ public class OutTransformWriterTest exte
Marshaller m = context.createMarshaller();
m.marshal(new TestBean(), transformWriter);
- String xmlPI = "<?xml version='1.0' encoding='UTF-8'?>";
- String start = "<testBean xmlns=\"http://testbeans.com/v2\"";
- String expected1 = xmlPI + start
- + " xmlns:ps2=\"http://testbeans.com/v3\"><ps2:bean/></testBean>";
- String expected2 = xmlPI + start
- + "><ps2:bean xmlns:ps2=\"http://testbeans.com/v3\"/></testBean>";
- String out = os.toString();
- assertTrue("Output \"" + out + "\" does not match expected values",
- expected1.equals(out) || expected2.equals(out));
+ Element el = writer.getDocument().getDocumentElement();
+ assertEquals("http://testbeans.com/v2", el.getNamespaceURI());
+ assertTrue(StringUtils.isEmpty(el.getPrefix()));
+
+ el = DOMUtils.getFirstElement(el);
+ assertEquals("http://testbeans.com/v3", el.getNamespaceURI());
+ assertFalse(StringUtils.isEmpty(el.getPrefix()));
}
@XmlRootElement(name = "testBean", namespace = "http://testbeans.com")