1.1 --- a/emul/src/main/java/java/lang/String.java Thu Jan 24 17:08:02 2013 +0100
1.2 +++ b/emul/src/main/java/java/lang/String.java Thu Jan 24 17:44:22 2013 +0100
1.3 @@ -823,7 +823,7 @@
1.4 @JavaScriptBody(args = { "beg", "end", "arr", "dst" }, body=
1.5 "var s = this.toString();\n" +
1.6 "while (beg < end) {\n" +
1.7 - " arr[dst++] = s[beg++];\n" +
1.8 + " arr[dst++] = s.charCodeAt(beg++);\n" +
1.9 "}\n"
1.10 )
1.11 public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) {
2.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/StringSample.java Thu Jan 24 17:08:02 2013 +0100
2.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StringSample.java Thu Jan 24 17:44:22 2013 +0100
2.3 @@ -109,6 +109,10 @@
2.4 public static String concatStrings() {
2.5 return (toStringTest(1) + "\\\n\r\t").toString();
2.6 }
2.7 +
2.8 + public static int compare(String a, String b) {
2.9 + return a.compareTo(b);
2.10 + }
2.11
2.12 @Override
2.13 public String toString() {
3.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java Thu Jan 24 17:08:02 2013 +0100
3.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java Thu Jan 24 17:44:22 2013 +0100
3.3 @@ -173,6 +173,16 @@
3.4 );
3.5
3.6 }
3.7 +
3.8 + @Test public void compareStrings() throws Exception {
3.9 + int res = StringSample.compare("Saab", "Volvo");
3.10 + assertExec(
3.11 + "Saab finished sooner than Volvo",
3.12 + StringSample.class, "compare__ILjava_lang_String_2Ljava_lang_String_2",
3.13 + Double.valueOf(res), "Saab", "Volvo"
3.14 + );
3.15 +
3.16 + }
3.17
3.18 private static CharSequence codeSeq;
3.19 private static Invocable code;