ByteCodeToJavaScript can run insided bck2brwsr VM javap
authorJaroslav Tulach <jaroslav.tulach@apidesign.org>
Sun, 18 Nov 2012 21:58:44 +0100
branchjavap
changeset 18851d08c49e9b6
parent 187 391a5d25c0e1
child 189 6a56c2381b0f
ByteCodeToJavaScript can run insided bck2brwsr VM
emul/src/main/java/java/lang/AbstractStringBuilder.java
vm/src/test/java/org/apidesign/vm4brwsr/StringSample.java
vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java
     1.1 --- a/emul/src/main/java/java/lang/AbstractStringBuilder.java	Sun Nov 18 19:54:40 2012 +0100
     1.2 +++ b/emul/src/main/java/java/lang/AbstractStringBuilder.java	Sun Nov 18 21:58:44 2012 +0100
     1.3 @@ -1417,7 +1417,7 @@
     1.4  
     1.5      static void arraycopy(char[] value, int srcBegin, char[] dst, int dstBegin, int count) {
     1.6          while (count-- > 0) {
     1.7 -            dst[dstBegin++] = value[srcBegin++];
     1.8 +            dst[dstBegin + count] = value[srcBegin + count];
     1.9          }
    1.10      }
    1.11  
     2.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/StringSample.java	Sun Nov 18 19:54:40 2012 +0100
     2.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StringSample.java	Sun Nov 18 21:58:44 2012 +0100
     2.3 @@ -60,6 +60,13 @@
     2.4          return s.replace(a, b);
     2.5      }
     2.6      
     2.7 +    public static String insertBuffer() {
     2.8 +        StringBuilder sb = new StringBuilder();
     2.9 +        sb.append("Jardo!");
    2.10 +        sb.insert(0, "Ahoj ");
    2.11 +        return sb.toString().toString();
    2.12 +    }
    2.13 +    
    2.14      public static int countAB(String txt) {
    2.15          int cnt = 0;
    2.16          for (int i = 0; i < txt.length(); i++) {
     3.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java	Sun Nov 18 19:54:40 2012 +0100
     3.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java	Sun Nov 18 21:58:44 2012 +0100
     3.3 @@ -108,6 +108,14 @@
     3.4              "x_y_z", "x/y/z", (int)'/', (int)'_'
     3.5          );
     3.6      }
     3.7 +
     3.8 +    @Test public void insertBuilder() throws Exception {
     3.9 +        assertExec(
    3.10 +            "Can insert something into a buffer?",
    3.11 +            "org_apidesign_vm4brwsr_StringSample_insertBufferLjava_lang_String",
    3.12 +            "Ahoj Jardo!"
    3.13 +        );
    3.14 +    }
    3.15      
    3.16      @Test public void countAB() throws Exception {
    3.17          assertEquals(StringSample.countAB("Ahoj Bedo!"), 3, "Verify Java code is sane");