# HG changeset patch # User Jaroslav Tulach # Date 1373442854 -7200 # Node ID 1ffdca0ec6a3e8f2bc0c5003e15bfc744544488d # Parent b6317079abe1422e4e49a346cdf5707832a5e31e Test to verify basic javacall works diff -r b6317079abe1 -r 1ffdca0ec6a3 rt/vm/src/test/java/org/apidesign/vm4brwsr/HtmlAnnotations.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/HtmlAnnotations.java Tue Jul 09 21:06:35 2013 +0200 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/HtmlAnnotations.java Wed Jul 10 09:54:14 2013 +0200 @@ -34,4 +34,18 @@ @JavaScriptBody(args = { "x", "y" }, body = "return mul(x, y);") public static native int useExternalMul(int x, int y); + public static int callback() { + final int[] arr = { 0 }; + callback(new Runnable() { + @Override + public void run() { + arr[0]++; + } + }); + return arr[0]; + } + + @JavaScriptBody(args = { "r" }, javacall=true, body = "r.@java.lang.Runnable::run()()") + private static native void callback(Runnable r); + } diff -r b6317079abe1 -r 1ffdca0ec6a3 rt/vm/src/test/java/org/apidesign/vm4brwsr/HtmlAnnotationsTest.java --- a/rt/vm/src/test/java/org/apidesign/vm4brwsr/HtmlAnnotationsTest.java Tue Jul 09 21:06:35 2013 +0200 +++ b/rt/vm/src/test/java/org/apidesign/vm4brwsr/HtmlAnnotationsTest.java Wed Jul 10 09:54:14 2013 +0200 @@ -40,7 +40,14 @@ 7, 6 ); } - +/* + @Test public void callRunnableFromJS() throws Exception { + assertExec("runnable called", HtmlAnnotations.class, + "callback__I", + Double.valueOf(1) + ); + } +*/ private static TestVM code;