From 16850aecd661375533404099cbc679aba7377ba4 Mon Sep 17 00:00:00 2001 From: Vladimir Marko Date: Fri, 9 Dec 2016 14:01:02 +0000 Subject: Fix string compression for embedded zero chars. Treat embedded zero character as non-ASCII. Test: m test-art-host Test: m test-art-host with string compression enabled. Bug: 31040547 Change-Id: Iea6e92f89d424953814953ba27f1c7a991589c65 --- test/021-string2/src/Main.java | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'test/021-string2/src/Main.java') diff --git a/test/021-string2/src/Main.java b/test/021-string2/src/Main.java index 51351e1835..df0a3ddf48 100644 --- a/test/021-string2/src/Main.java +++ b/test/021-string2/src/Main.java @@ -92,6 +92,31 @@ public class Main { testCompareToAndEquals(); testIndexOf(); + + String s0_0 = "\u0000"; + String s0_1 = new String(s0_0); + String s0_2 = new String(new char[] { '\u0000' }); + String s0_3 = s0_0 + ""; + System.out.println( + " " + $noinline$equals(s0_0, s0_0) + + " " + $noinline$equals(s0_0, s0_1) + + " " + $noinline$equals(s0_0, s0_2) + + " " + $noinline$equals(s0_0, s0_3)); + System.out.println( + " " + $noinline$equals(s0_1, s0_0) + + " " + $noinline$equals(s0_1, s0_1) + + " " + $noinline$equals(s0_1, s0_2) + + " " + $noinline$equals(s0_1, s0_3)); + System.out.println( + " " + $noinline$equals(s0_2, s0_0) + + " " + $noinline$equals(s0_2, s0_1) + + " " + $noinline$equals(s0_2, s0_2) + + " " + $noinline$equals(s0_2, s0_3)); + System.out.println( + " " + $noinline$equals(s0_3, s0_0) + + " " + $noinline$equals(s0_3, s0_1) + + " " + $noinline$equals(s0_3, s0_2) + + " " + $noinline$equals(s0_3, s0_3)); } public static void testCompareToAndEquals() { -- cgit v1.2.3-59-g8ed1b