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 }