test/sun/nio/cs/TestIBMBugs.java

Print this page

        

*** 20,30 **** * CA 95054 USA or visit www.sun.com if you need additional information or * have any questions. */ /* @test ! @bug 6371437 6371422 6371416 6371619 5058184 6371431 @summary Check if the problems reported in above bugs have been fixed */ import java.io.*; import java.nio.*; --- 20,30 ---- * CA 95054 USA or visit www.sun.com if you need additional information or * have any questions. */ /* @test ! @bug 6371437 6371422 6371416 6371619 5058184 6371431 6639450 6569191 6577466 @summary Check if the problems reported in above bugs have been fixed */ import java.io.*; import java.nio.*;
*** 134,146 **** --- 134,185 ---- } if (errors > 0) throw new Exception("Charset "+charset+": "+errors+" errors"); } + private static void bug6639450 () throws Exception { + byte[] bytes1 = "\\".getBytes("IBM949"); + "\\".getBytes("IBM949C"); + byte[] bytes2 = "\\".getBytes("IBM949"); + if (bytes1.length != 1 || bytes2.length != 1 || + bytes1[0] != (byte)0x82 || + bytes2[0] != (byte)0x82) + throw new Exception("IBM949/IBM949C failed"); + } + + private static void bug6569191 () throws Exception { + byte[] bs = new byte[] { (byte)0x81, (byte)0xad, + (byte)0x81, (byte)0xae, + (byte)0x81, (byte)0xaf, + (byte)0x81, (byte)0xb0, + (byte)0x85, (byte)0x81, + (byte)0x85, (byte)0x87, + (byte)0x85, (byte)0xe0, + (byte)0x85, (byte)0xf0 }; + String s = new String(bs, "Cp943"); + if (!"\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd" + .equals(s)) + throw new Exception("Cp943 failed"); + } + + + private static void bug6577466 () throws Exception { + for (int c = Character.MIN_VALUE; c <= Character.MAX_VALUE; c++){ + if (!Character.isDefined((char)c)) continue; + String s = String.valueOf((char)c); + byte[] bb = null; + bb = s.getBytes("x-IBM970"); + } + } + public static void main (String[] args) throws Exception { + bug6577466(); + // need to be tested before any other IBM949C test case + bug6639450(); bug6371437(); bug6371422(); bug6371416(); bug6371619(); bug6371431(); + bug6569191(); } }