提交 b5b9ff7e 编写于 作者: S sherman

8080248: Coding regression in HKSCS charsets

Summary: to update the sp correctly when encoding supplementary characters
Reviewed-by: martin
上级 50513df6
......@@ -377,7 +377,6 @@ public class HKSCS {
dst[dp++] = repl[1];
continue;
}
sp++;
}
if (bb > MAX_SINGLEBYTE) { // DoubleByte
dst[dp++] = (byte)(bb >> 8);
......
......@@ -22,7 +22,7 @@
*/
/* @test
@bug 6636323 6636319 7040220 7096080 7183053
@bug 6636323 6636319 7040220 7096080 7183053 8080248
@summary Test if StringCoding and NIO result have the same de/encoding result
* @run main/othervm/timeout=2000 TestStringCoding
*/
......@@ -199,6 +199,17 @@ public class TestStringCoding {
*/
}
//encode mappable surrogates for hkscs
if (cs.name().equals("Big5-HKSCS") || cs.name().equals("x-MS950-HKSCS")) {
String str = "ab\uD840\uDD0Ccd";
byte[] expected = new byte[] {(byte)'a', (byte)'b',
(byte)0x88, (byte)0x45, (byte)'c', (byte)'d' };
if (!Arrays.equals(str.getBytes(cs.name()), expected) ||
!Arrays.equals(str.getBytes(cs), expected)) {
throw new RuntimeException("encode(surrogates) failed -> "
+ cs.name());
}
}
}
static class PermissiveSecurityManger extends SecurityManager {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册