1.1 --- a/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sat Nov 17 11:21:17 2012 +0100
1.2 +++ b/vm/src/main/java/org/apidesign/vm4brwsr/ByteCodeToJavaScript.java Sat Nov 17 16:15:10 2012 +0100
1.3 @@ -497,14 +497,14 @@
1.4 }
1.5 case opc_ifnonnull: {
1.6 int indx = i + readIntArg(byteCodes, i);
1.7 - out.append("if (stack.pop()) { gt = " + indx);
1.8 + out.append("if (stack.pop() !== null) { gt = " + indx);
1.9 out.append("; continue; }");
1.10 i += 2;
1.11 break;
1.12 }
1.13 case opc_ifnull: {
1.14 int indx = i + readIntArg(byteCodes, i);
1.15 - out.append("if (!stack.pop()) { gt = " + indx);
1.16 + out.append("if (stack.pop() === null) { gt = " + indx);
1.17 out.append("; continue; }");
1.18 i += 2;
1.19 break;
2.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/StringSample.java Sat Nov 17 11:21:17 2012 +0100
2.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StringSample.java Sat Nov 17 16:15:10 2012 +0100
2.3 @@ -43,6 +43,10 @@
2.4 char[] arr = { a, b, c };
2.5 return new String(arr).toString();
2.6 }
2.7 +
2.8 + public static String chars(char a, char b, char c) {
2.9 + return ("" + a + b +c).toString();
2.10 + }
2.11
2.12 public static String toStringTest(int howMuch) {
2.13 counter = 0;
3.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java Sat Nov 17 11:21:17 2012 +0100
3.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java Sat Nov 17 16:15:10 2012 +0100
3.3 @@ -44,6 +44,14 @@
3.4 );
3.5 }
3.6
3.7 + @Test public void concatChars() throws Exception {
3.8 + assertExec(
3.9 + "Composing yields ABC",
3.10 + "org_apidesign_vm4brwsr_StringSample_charsLjava_lang_StringCCC",
3.11 + "ABC", 'A', 'B', 'C'
3.12 + );
3.13 + }
3.14 +
3.15 @Test(timeOut=10000) public void toStringConcatenation() throws Exception {
3.16 assertExec(
3.17 "Five executions should generate 5Hello World!",