8235834: IBM-943 charset encoder needs updating
Apply 34B003AF.RPMAP130 definition into encoder Reviewed-by: naoto
This commit is contained in:
parent
98e0a704d4
commit
1b92518389
49
make/data/charsetmapping/IBM943.c2b
Normal file
49
make/data/charsetmapping/IBM943.c2b
Normal file
@ -0,0 +1,49 @@
|
||||
#
|
||||
# source: 34B003AF.RPMAP130
|
||||
# c->b only entries
|
||||
#
|
||||
815C 2015
|
||||
8160 FF5E
|
||||
8161 2225
|
||||
817C FF0D
|
||||
88A0 555E
|
||||
898B 7130
|
||||
89A8 9DD7
|
||||
8A9A 5699
|
||||
8BA0 4FE0
|
||||
8BEB 8EC0
|
||||
8C71 7E6B
|
||||
8C74 8346
|
||||
8CB2 9E7C
|
||||
8D8D 9EB4
|
||||
8DF2 6805
|
||||
8EC6 5C62
|
||||
8F4A 7E61
|
||||
8FD3 8523
|
||||
8FDD 91AC
|
||||
90E4 87EC
|
||||
917E 6414
|
||||
9189 7626
|
||||
91CB 9A52
|
||||
925C 7C1E
|
||||
92CD 6451
|
||||
9355 5861
|
||||
935E 985A
|
||||
9398 79B1
|
||||
93C0 7006
|
||||
9458 56CA
|
||||
948D 525D
|
||||
94AC 6F51
|
||||
94AE 91B1
|
||||
966A 9830
|
||||
96CB 9EB5
|
||||
9789 840A
|
||||
9858 881F
|
||||
9BA0 5C5B
|
||||
9DB7 6522
|
||||
9E94 688E
|
||||
E379 7E48
|
||||
E445 8141
|
||||
E8F6 9839
|
||||
FA55 FFE4
|
||||
FA59 F86F
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
@ -22,7 +22,8 @@
|
||||
*/
|
||||
|
||||
/* @test
|
||||
* @bug 6371437 6371422 6371416 6371619 5058184 6371431 6639450 6569191 6577466 8212794 8220281
|
||||
* @bug 6371437 6371422 6371416 6371619 5058184 6371431 6639450 6569191 6577466
|
||||
* 8212794 8220281 8235834
|
||||
* @summary Check if the problems reported in above bugs have been fixed
|
||||
* @modules jdk.charsets
|
||||
*/
|
||||
@ -323,6 +324,64 @@ public class TestIBMBugs {
|
||||
}
|
||||
}
|
||||
|
||||
// Following test data is for 8235834
|
||||
private static final byte[] byteIBM943c2b = new byte[] {
|
||||
(byte)0x81, (byte)0x5C, (byte)0x81, (byte)0x60,
|
||||
(byte)0x81, (byte)0x61, (byte)0x81, (byte)0x7C,
|
||||
(byte)0x88, (byte)0xA0, (byte)0x89, (byte)0x8B,
|
||||
(byte)0x89, (byte)0xA8, (byte)0x8A, (byte)0x9A,
|
||||
(byte)0x8B, (byte)0xA0, (byte)0x8B, (byte)0xEB,
|
||||
(byte)0x8C, (byte)0x71, (byte)0x8C, (byte)0x74,
|
||||
(byte)0x8C, (byte)0xB2, (byte)0x8D, (byte)0x8D,
|
||||
(byte)0x8D, (byte)0xF2, (byte)0x8E, (byte)0xC6,
|
||||
(byte)0x8F, (byte)0x4A, (byte)0x8F, (byte)0xD3,
|
||||
(byte)0x8F, (byte)0xDD, (byte)0x90, (byte)0xE4,
|
||||
(byte)0x91, (byte)0x7E, (byte)0x91, (byte)0x89,
|
||||
(byte)0x91, (byte)0xCB, (byte)0x92, (byte)0x5C,
|
||||
(byte)0x92, (byte)0xCD, (byte)0x93, (byte)0x55,
|
||||
(byte)0x93, (byte)0x5E, (byte)0x93, (byte)0x98,
|
||||
(byte)0x93, (byte)0xC0, (byte)0x94, (byte)0x58,
|
||||
(byte)0x94, (byte)0x8D, (byte)0x94, (byte)0xAC,
|
||||
(byte)0x94, (byte)0xAE, (byte)0x96, (byte)0x6A,
|
||||
(byte)0x96, (byte)0xCB, (byte)0x97, (byte)0x89,
|
||||
(byte)0x98, (byte)0x58, (byte)0x9B, (byte)0xA0,
|
||||
(byte)0x9D, (byte)0xB7, (byte)0x9E, (byte)0x94,
|
||||
(byte)0xE3, (byte)0x79, (byte)0xE4, (byte)0x45,
|
||||
(byte)0xE8, (byte)0xF6, (byte)0xFA, (byte)0x55,
|
||||
(byte)0xFA, (byte)0x59,
|
||||
};
|
||||
|
||||
private static final String strIBM943c2b1 =
|
||||
"\u2015\uFF5E\u2225\uFF0D\u555E\u7130\u9DD7\u5699" +
|
||||
"\u4FE0\u8EC0\u7E6B\u8346\u9E7C\u9EB4\u6805\u5C62" +
|
||||
"\u7E61\u8523\u91AC\u87EC\u6414\u7626\u9A52\u7C1E" +
|
||||
"\u6451\u5861\u985A\u79B1\u7006\u56CA\u525D\u6F51" +
|
||||
"\u91B1\u9830\u9EB5\u840A\u881F\u5C5B\u6522\u688E" +
|
||||
"\u7E48\u8141\u9839\uFFE4\uF86F";
|
||||
|
||||
private static final String strIBM943c2b2 =
|
||||
"\u2014\u301C\u2016\u2212\u5516\u7114\u9D0E\u565B" +
|
||||
"\u4FA0\u8EAF\u7E4B\u834A\u9E78\u9EB9\u67F5\u5C61" +
|
||||
"\u7E4D\u848B\u91A4\u8749\u63BB\u75E9\u9A28\u7BAA" +
|
||||
"\u63B4\u586B\u985B\u7977\u6D9C\u56A2\u5265\u6E8C" +
|
||||
"\u9197\u982C\u9EBA\u83B1\u874B\u5C4F\u6505\u688D" +
|
||||
"\u7E66\u80FC\u983D\u00A6\u2116";
|
||||
|
||||
private static void bug8235834 () throws Exception {
|
||||
// 8235834 affects IBM-943 and IBM-943C encoder.
|
||||
// The decoded results of the corresponding characters of IBM-943
|
||||
// and IBM-943C is the same.
|
||||
for (String csName : new String[] {"x-IBM943", "x-IBM943C"}) {
|
||||
Charset cs = Charset.forName(csName);
|
||||
if (!Arrays.equals(byteIBM943c2b, strIBM943c2b1.getBytes(cs))) {
|
||||
throw new Exception(csName+" failed to encode");
|
||||
}
|
||||
if (!strIBM943c2b2.equals(new String(byteIBM943c2b, cs))) {
|
||||
throw new Exception(csName+" failed to round-trip conversion");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static void main (String[] args) throws Exception {
|
||||
bug6577466();
|
||||
// need to be tested before any other IBM949C test case
|
||||
@ -337,5 +396,6 @@ public class TestIBMBugs {
|
||||
bug8212794();
|
||||
bug8213618();
|
||||
bug8220281();
|
||||
bug8235834();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user