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/05/08 08:16:46 UTC
svn commit: r1742775 - in /webservices/axiom/trunk/aspects/core-aspects/src:
main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java
test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java
Author: veithen
Date: Sun May 8 08:16:45 2016
New Revision: 1742775
URL: http://svn.apache.org/viewvc?rev=1742775&view=rev
Log:
Add test case.
Modified:
webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java
webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java
Modified: webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java?rev=1742775&r1=1742774&r2=1742775&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/main/java/org/apache/axiom/core/stream/serializer/SerializerXmlHandler.java Sun May 8 08:16:45 2016
@@ -19,6 +19,7 @@
package org.apache.axiom.core.stream.serializer;
import java.io.IOException;
+import java.io.OutputStream;
import java.io.Writer;
import java.util.Stack;
@@ -46,6 +47,12 @@ public class SerializerXmlHandler implem
serializer.setWriter(writer);
}
+ public SerializerXmlHandler(OutputStream out, String encoding) {
+ this.serializer = new ToXMLStream();
+ serializer.setOutputStream(out);
+ serializer.setEncoding(encoding);
+ }
+
private static String getQName(String prefix, String localName) {
if (prefix.length() == 0) {
return localName;
Modified: webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java
URL: http://svn.apache.org/viewvc/webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java?rev=1742775&r1=1742774&r2=1742775&view=diff
==============================================================================
--- webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java (original)
+++ webservices/axiom/trunk/aspects/core-aspects/src/test/java/org/apache/axiom/core/stream/serializer/SerializerTest.java Sun May 8 08:16:45 2016
@@ -20,6 +20,7 @@ package org.apache.axiom.core.stream.ser
import static com.google.common.truth.Truth.assertThat;
+import java.io.ByteArrayOutputStream;
import java.io.StringWriter;
import org.junit.Test;
@@ -34,4 +35,21 @@ public class SerializerTest {
handler.endElement();
assertThat(sw.toString()).matches("<test ?/>");
}
+
+ /**
+ * Test that characters are converted to entities only when necessary.
+ *
+ * @throws Exception
+ */
+ @Test
+ public void testISO_8859_15() throws Exception {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ SerializerXmlHandler handler = new SerializerXmlHandler(baos, "iso-8859-15");
+ handler.startElement("", "test", "");
+ handler.attributesCompleted();
+ handler.processCharacterData("a\u03A3\u20AC", false); // 20AC = Euro sign
+ handler.endElement();
+ handler.completed();
+ assertThat(new String(baos.toByteArray(), "iso-8859-15")).isEqualTo("<test>aΣ\u20AC</test>");
+ }
}