Author: ggregory Date: Fri Aug 10 16:04:31 2012 New Revision: 1371754 URL: http://svn.apache.org/viewvc?rev=1371754&view=rev Log: Add testReadXmlWithBOMUcs2. Better comments.
Modified: commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java Modified: commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java URL: http://svn.apache.org/viewvc/commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java?rev=1371754&r1=1371753&r2=1371754&view=diff ============================================================================== --- commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java (original) +++ commons/proper/io/trunk/src/test/java/org/apache/commons/io/input/BOMInputStreamTest.java Fri Aug 10 16:04:31 2012 @@ -560,6 +560,17 @@ public class BOMInputStreamTest { } @Test + public void testReadXmlWithBOMUcs2() throws Exception { + // UCS-2 is BE. + Assume.assumeTrue(Charset.isSupported("ISO-10646-UCS-2")); + byte[] data = "<?xml version=\"1.0\" encoding=\"ISO-10646-UCS-2\"?><X/>".getBytes("ISO-10646-UCS-2"); + // XML parser does not know what to do with UTF-32 + parseXml(new BOMInputStream(createUtf16BeDataStream(data, true), ByteOrderMark.UTF_16BE)); + // XML parser does not know what to do with UTF-32 + parseXml(createUtf16BeDataStream(data, true)); + } + + @Test public void testReadXmlWithBOMUtf16Be() throws Exception { byte[] data = "<?xml version=\"1.0\" encoding=\"UTF-16BE\"?><X/>".getBytes(Charsets.UTF_16BE); parseXml(new BOMInputStream(createUtf16BeDataStream(data, true), ByteOrderMark.UTF_16BE)); @@ -578,8 +589,9 @@ public class BOMInputStreamTest { public void testReadXmlWithBOMUtf32Be() throws Exception { Assume.assumeTrue(Charset.isSupported("UTF_32BE")); byte[] data = "<?xml version=\"1.0\" encoding=\"UTF-32BE\"?><X/>".getBytes("UTF_32BE"); + // XML parser does not know what to do with UTF-32 parseXml(new BOMInputStream(createUtf32BeDataStream(data, true), ByteOrderMark.UTF_32BE)); - // Expect failure: + // XML parser does not know what to do with UTF-32 parseXml(createUtf32BeDataStream(data, true)); } @@ -588,8 +600,9 @@ public class BOMInputStreamTest { public void testReadXmlWithBOMUtf32Le() throws Exception { Assume.assumeTrue(Charset.isSupported("UTF_32LE")); byte[] data = "<?xml version=\"1.0\" encoding=\"UTF-32LE\"?><X/>".getBytes("UTF_32LE"); + // XML parser does not know what to do with UTF-32 parseXml(new BOMInputStream(createUtf32LeDataStream(data, true), ByteOrderMark.UTF_32LE)); - // Expect failure: + // XML parser does not know what to do with UTF-32 parseXml(createUtf32LeDataStream(data, true)); }