vm/src/test/java/org/apidesign/vm4brwsr/ExceptionsTest.java
changeset 401 a9be982d9b9c
parent 400 5452b9fbd253
child 405 e41809be6106
child 423 9b5868bf56ec
     1.1 --- a/vm/src/test/java/org/apidesign/vm4brwsr/ExceptionsTest.java	Mon Dec 31 12:44:51 2012 +0100
     1.2 +++ b/vm/src/test/java/org/apidesign/vm4brwsr/ExceptionsTest.java	Mon Dec 31 17:50:27 2012 +0100
     1.3 @@ -70,6 +70,30 @@
     1.4          );
     1.5      }
     1.6      
     1.7 +    @Test public void testThreeCalls() throws Exception {
     1.8 +        Object vm = code.invokeFunction("bck2brwsr");
     1.9 +        Object clazz = code.invokeMethod(vm, "loadClass", Exceptions.class.getName());
    1.10 +        
    1.11 +        String method = "readCounter__ILjava_lang_String_2";
    1.12 +        
    1.13 +        try {
    1.14 +            Object ret = code.invokeMethod(clazz, method, "org.apidesign.Unknown");
    1.15 +            fail("We expect an CNFE!");
    1.16 +        } catch (ScriptException scriptException) {
    1.17 +            // script exception should be OK
    1.18 +        }
    1.19 +        {
    1.20 +            // 2nd invocation
    1.21 +            Object ret = code.invokeMethod(clazz, method, "java.lang.String");
    1.22 +            assertEquals(ret, Double.valueOf(2));
    1.23 +        }
    1.24 +        {
    1.25 +            // 3rd invocation
    1.26 +            Object ret = code.invokeMethod(clazz, method, "java.lang.Integer");
    1.27 +            assertEquals(ret, Double.valueOf(3));
    1.28 +        }
    1.29 +    }
    1.30 +    
    1.31      private static CharSequence codeSeq;
    1.32      private static Invocable code;
    1.33