From dff81d4f4cf9c3dd98c8e72da0f63799a6620abf Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 17 Apr 2006 21:41:47 +0000 Subject: re PR libgcj/27171 (UTF8 PrintWriter goes haywire) PR libgcj/27171: * testsuite/libjava.lang/pr27171.java: New file. * testsuite/libjava.lang/pr27171.out: New file. * gnu/gcj/convert/Output_UTF8.java (havePendingBytes): Return true if we've seen a high surrogate. (write): Handle high surrogates at the end of the stream. Properly emit isolated low surrogates. From-SVN: r113013 --- libjava/testsuite/libjava.lang/pr27171.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 libjava/testsuite/libjava.lang/pr27171.java (limited to 'libjava/testsuite/libjava.lang/pr27171.java') diff --git a/libjava/testsuite/libjava.lang/pr27171.java b/libjava/testsuite/libjava.lang/pr27171.java new file mode 100644 index 00000000000..a07fea73647 --- /dev/null +++ b/libjava/testsuite/libjava.lang/pr27171.java @@ -0,0 +1,19 @@ +public class pr27171 { + + public static void main(String[] args) throws Throwable { + // Isolated low surrogate. + char x = 56478; // 0xdc9e + String xs = new String(new char[] { x }); + // Note that we fix a result for our implementation; but + // the JDK does something else. + System.out.println(xs.getBytes("UTF-8").length); + + // isolated high surrogate -- at end of input stream + char y = 0xdaee; + String ys = new String(new char[] { y }); + // Note that we fix a result for our implementation; but + // the JDK does something else. + System.out.println(ys.getBytes("UTF-8").length); + } +} + -- cgit v1.2.3