1.1 --- a/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java Thu Oct 31 11:36:52 2013 +0100
1.2 +++ b/rt/emul/compact/src/test/java/org/apidesign/bck2brwsr/tck/CompareStringsTest.java Thu Oct 31 15:01:35 2013 +0100
1.3 @@ -49,6 +49,14 @@
1.4 return "Ahoj".equals(null);
1.5 }
1.6
1.7 + @Compare public boolean internIsSame() {
1.8 + return new String("Ahoj").intern() == another();
1.9 + }
1.10 +
1.11 + private static String another() {
1.12 + return new String("Ahoj").intern();
1.13 + }
1.14 +
1.15 @Compare public int highByteLenght() {
1.16 byte[] arr= { 77,97,110,105,102,101,115,116,45,86,101,114,115,105,111,110 };
1.17 return new String(arr, 0).length();
2.1 --- a/rt/emul/mini/src/main/java/java/lang/String.java Thu Oct 31 11:36:52 2013 +0100
2.2 +++ b/rt/emul/mini/src/main/java/java/lang/String.java Thu Oct 31 15:01:35 2013 +0100
2.3 @@ -3109,6 +3109,14 @@
2.4 * @return a string that has the same contents as this string, but is
2.5 * guaranteed to be from a pool of unique strings.
2.6 */
2.7 + @JavaScriptBody(args = {}, body =
2.8 + "var s = this.toString().toString();\n" +
2.9 + "var i = String.intern || (String.intern = {})\n" +
2.10 + "if (!i[s]) {\n" +
2.11 + " i[s] = s;\n" +
2.12 + "}\n" +
2.13 + "return i[s];"
2.14 + )
2.15 public native String intern();
2.16
2.17