michael@0: let java = new JavaBridge(this); michael@0: let javaResponded = false; michael@0: michael@0: do_register_cleanup(() => { michael@0: java.disconnect(); michael@0: }); michael@0: do_test_pending(); michael@0: michael@0: function check_js_int_arg(int1) { michael@0: // Sync call from Java michael@0: do_check_eq(int1, 1); michael@0: java.asyncCall("checkJavaIntArg", 2); michael@0: } michael@0: michael@0: function check_js_double_arg(double3) { michael@0: // Sync call from Java michael@0: do_check_eq(double3, 3.0); michael@0: java.asyncCall("checkJavaDoubleArg", 4.0); michael@0: } michael@0: michael@0: function check_js_boolean_arg(boolfalse) { michael@0: // Sync call from Java michael@0: do_check_eq(boolfalse, false); michael@0: java.asyncCall("checkJavaBooleanArg", true); michael@0: } michael@0: michael@0: function check_js_string_arg(stringfoo) { michael@0: do_check_eq(stringfoo, "foo"); michael@0: java.asyncCall("checkJavaStringArg", "bar"); michael@0: } michael@0: michael@0: function check_js_object_arg(obj) { michael@0: // Sync call from Java michael@0: do_check_eq(obj.caller, "java"); michael@0: java.asyncCall("checkJavaObjectArg", {caller: "js"}); michael@0: } michael@0: michael@0: function check_js_sync_call() { michael@0: // Sync call from Java michael@0: java.syncCall("doJSSyncCall"); michael@0: // respond_to_js_sync_call should have run by now because michael@0: // do_js_sync_call calls it from Java code michael@0: do_check_true(javaResponded); michael@0: michael@0: java.asyncCall("checkJSSyncCallReceived"); michael@0: // End of test michael@0: do_test_finished(); michael@0: } michael@0: michael@0: function respond_to_js_sync_call() { michael@0: javaResponded = true; michael@0: }