vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java
branchlazy
changeset 203 c6a0b5b64133
parent 196 e7ea061e669c
child 206 84920274cb32
     1.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java	Thu Nov 22 00:08:57 2012 +0100
     1.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/StringTest.java	Sun Nov 25 23:14:58 2012 +0100
     1.3 @@ -31,7 +31,7 @@
     1.4      @Test public void firstChar() throws Exception {
     1.5          assertExec(
     1.6              "First char in Hello is H",
     1.7 -            "org_apidesign_vm4brwsr_StringSample_sayHelloCI",
     1.8 +            StringSample.class, "sayHelloCI",
     1.9              72, 0
    1.10          );
    1.11      }
    1.12 @@ -39,7 +39,7 @@
    1.13      @Test public void fromChars() throws Exception {
    1.14          assertExec(
    1.15              "First char in Hello is ABC",
    1.16 -            "org_apidesign_vm4brwsr_StringSample_fromCharsLjava_lang_StringCCC",
    1.17 +            StringSample.class, "fromCharsLjava_lang_StringCCC",
    1.18              "ABC", 'A', 'B', 'C'
    1.19          );
    1.20      }
    1.21 @@ -47,7 +47,7 @@
    1.22      @Test public void concatChars() throws Exception {
    1.23          assertExec(
    1.24              "Composing yields ABC",
    1.25 -            "org_apidesign_vm4brwsr_StringSample_charsLjava_lang_StringCCC",
    1.26 +            StringSample.class, "charsLjava_lang_StringCCC",
    1.27              "ABC", 'A', 'B', 'C'
    1.28          );
    1.29      }
    1.30 @@ -55,7 +55,7 @@
    1.31      @Test public void concatCharsFromInts() throws Exception {
    1.32          assertExec(
    1.33              "Composing yields ABC",
    1.34 -            "org_apidesign_vm4brwsr_StringSample_charsFromNumbersLjava_lang_String",
    1.35 +            StringSample.class, "charsFromNumbersLjava_lang_String",
    1.36              "ABC"
    1.37          );
    1.38      }
    1.39 @@ -63,7 +63,7 @@
    1.40      @Test public void concatCharsFromChars() throws Exception {
    1.41          assertExec(
    1.42              "Composing yields ABC",
    1.43 -            "org_apidesign_vm4brwsr_StringSample_charsFromCharsLjava_lang_String",
    1.44 +            StringSample.class, "charsFromCharsLjava_lang_String",
    1.45              "ABC"
    1.46          );
    1.47      }
    1.48 @@ -71,7 +71,7 @@
    1.49      @Test(timeOut=10000) public void toStringConcatenation() throws Exception {
    1.50          assertExec(
    1.51              "Five executions should generate 5Hello World!",
    1.52 -            "org_apidesign_vm4brwsr_StringSample_toStringTestLjava_lang_StringI",
    1.53 +            StringSample.class, "toStringTestLjava_lang_StringI",
    1.54              "Hello World!5", 5
    1.55          );
    1.56      }
    1.57 @@ -82,7 +82,7 @@
    1.58      @Test(timeOut=10000) public void stringStringConcat() throws Exception {
    1.59          assertExec(
    1.60              "Composes strings OK",
    1.61 -            "org_apidesign_vm4brwsr_StringSample_concatStringsLjava_lang_String",
    1.62 +            StringSample.class, "concatStringsLjava_lang_String",
    1.63              "Hello World!1" + "\\\n\r\t"
    1.64          );
    1.65      }
    1.66 @@ -90,21 +90,21 @@
    1.67      @Test public void equalsAndSubstring() throws Exception {
    1.68          assertExec(
    1.69              "Composes are OK",
    1.70 -            "org_apidesign_vm4brwsr_StringSample_equalToHelloZII",
    1.71 +            StringSample.class, "equalToHelloZII",
    1.72              true, 0, 5
    1.73          );
    1.74      }
    1.75      @Test public void replaceChars() throws Exception {
    1.76          assertExec(
    1.77              "Can replace slashes by underscores",
    1.78 -            "org_apidesign_vm4brwsr_StringSample_replaceLjava_lang_StringLjava_lang_StringCC",
    1.79 +            StringSample.class, "replaceLjava_lang_StringLjava_lang_StringCC",
    1.80              "x_y_z", "x/y/z", '/', '_'
    1.81          );
    1.82      }
    1.83      @Test public void replaceIntChars() throws Exception {
    1.84          assertExec(
    1.85              "Can replace slashes by underscores",
    1.86 -            "org_apidesign_vm4brwsr_StringSample_replaceLjava_lang_StringLjava_lang_StringCC",
    1.87 +            StringSample.class, "replaceLjava_lang_StringLjava_lang_StringCC",
    1.88              "x_y_z", "x/y/z", (int)'/', (int)'_'
    1.89          );
    1.90      }
    1.91 @@ -112,7 +112,7 @@
    1.92      @Test public void insertBuilder() throws Exception {
    1.93          assertExec(
    1.94              "Can insert something into a buffer?",
    1.95 -            "org_apidesign_vm4brwsr_StringSample_insertBufferLjava_lang_String",
    1.96 +            StringSample.class, "insertBufferLjava_lang_String",
    1.97              "Ahojdo!"
    1.98          );
    1.99      }
   1.100 @@ -122,7 +122,7 @@
   1.101          int jh = StringSample.hashCode(j);
   1.102          assertExec(
   1.103              "Hashcode is the same " +jh,
   1.104 -            "org_apidesign_vm4brwsr_StringSample_hashCodeILjava_lang_String",
   1.105 +            StringSample.class, "hashCodeILjava_lang_String",
   1.106              Double.valueOf(jh), j
   1.107          );
   1.108      }
   1.109 @@ -131,28 +131,28 @@
   1.110          int jh = StringSample.hashCode(j);
   1.111          assertExec(
   1.112              "Hashcode is the same " + jh,
   1.113 -            "org_apidesign_vm4brwsr_StringSample_hashCodeILjava_lang_String",
   1.114 +            StringSample.class, "hashCodeILjava_lang_String",
   1.115              Double.valueOf(jh), j
   1.116          );
   1.117      }
   1.118      @Test public void stringSwitch1() throws Exception {
   1.119          assertExec(
   1.120              "Get one",
   1.121 -            "org_apidesign_vm4brwsr_StringSample_stringSwitchILjava_lang_String",
   1.122 +            StringSample.class, "stringSwitchILjava_lang_String",
   1.123              Double.valueOf(1), "jedna"
   1.124          );
   1.125      }
   1.126      @Test public void stringSwitch2() throws Exception {
   1.127          assertExec(
   1.128              "Get two",
   1.129 -            "org_apidesign_vm4brwsr_StringSample_stringSwitchILjava_lang_String",
   1.130 +            StringSample.class, "stringSwitchILjava_lang_String",
   1.131              Double.valueOf(2), "dve"
   1.132          );
   1.133      }
   1.134      @Test public void stringSwitchDefault() throws Exception {
   1.135          assertExec(
   1.136              "Get -1",
   1.137 -            "org_apidesign_vm4brwsr_StringSample_stringSwitchILjava_lang_String",
   1.138 +            StringSample.class, "stringSwitchILjava_lang_String",
   1.139              Double.valueOf(-1), "none"
   1.140          );
   1.141      }
   1.142 @@ -161,7 +161,7 @@
   1.143          assertEquals(StringSample.countAB("Ahoj Bedo!"), 3, "Verify Java code is sane");
   1.144          assertExec(
   1.145              "One A and one B adds to 3",
   1.146 -            "org_apidesign_vm4brwsr_StringSample_countABILjava_lang_String",
   1.147 +            StringSample.class, "countABILjava_lang_String",
   1.148              Double.valueOf(3), "Ahoj Bedo!"
   1.149          );
   1.150          
   1.151 @@ -180,23 +180,10 @@
   1.152          codeSeq = sb;
   1.153      }
   1.154      
   1.155 -    private static void assertExec(String msg, String methodName, Object expRes, Object... args) throws Exception {
   1.156 -        Object ret = null;
   1.157 -        try {
   1.158 -            ret = code.invokeFunction(methodName, args);
   1.159 -        } catch (ScriptException ex) {
   1.160 -            fail("Execution failed in\n" + StaticMethodTest.dumpJS(codeSeq), ex);
   1.161 -        } catch (NoSuchMethodException ex) {
   1.162 -            fail("Cannot find method in\n" + StaticMethodTest.dumpJS(codeSeq), ex);
   1.163 -        }
   1.164 -        if (ret == null && expRes == null) {
   1.165 -            return;
   1.166 -        }
   1.167 -        if (expRes.equals(ret)) {
   1.168 -            return;
   1.169 -        }
   1.170 -        assertEquals(ret, expRes, msg + "was: " + ret + "\n" + StaticMethodTest.dumpJS(codeSeq));
   1.171 -        
   1.172 +    private static void assertExec(String msg, 
   1.173 +        Class<?> clazz, String method, Object expRes, Object... args
   1.174 +    ) throws Exception {
   1.175 +        StaticMethodTest.assertExec(code, codeSeq, msg, clazz, method, expRes, args);
   1.176      }
   1.177      
   1.178  }