summaryrefslogtreecommitdiffstats
path: root/mobile/android/tests/browser/robocop/testEventDispatcher.js
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/tests/browser/robocop/testEventDispatcher.js')
-rw-r--r--mobile/android/tests/browser/robocop/testEventDispatcher.js44
1 files changed, 44 insertions, 0 deletions
diff --git a/mobile/android/tests/browser/robocop/testEventDispatcher.js b/mobile/android/tests/browser/robocop/testEventDispatcher.js
new file mode 100644
index 000000000..f70d2fdae
--- /dev/null
+++ b/mobile/android/tests/browser/robocop/testEventDispatcher.js
@@ -0,0 +1,44 @@
+Components.utils.import("resource://gre/modules/Messaging.jsm");
+
+var java = new JavaBridge(this);
+
+do_register_cleanup(() => {
+ java.disconnect();
+});
+do_test_pending();
+
+function send_test_message(type) {
+ let innerObject = {
+ boolean: true,
+ booleanArray: [false, true],
+ int: 1,
+ intArray: [2, 3],
+ double: 0.5,
+ doubleArray: [1.5, 2.5],
+ null: null,
+ emptyString: "",
+ string: "foo",
+ stringArray: ["bar", "baz"],
+ }
+
+ // Make a copy
+ let outerObject = JSON.parse(JSON.stringify(innerObject));
+
+ outerObject.type = type;
+ outerObject.object = innerObject;
+ outerObject.objectArray = [null, innerObject];
+
+ Messaging.sendRequest(outerObject);
+}
+
+function send_message_for_response(type, response) {
+ Messaging.sendRequestForResult({
+ type: type,
+ response: response,
+ }).then(result => do_check_eq(result, response),
+ error => do_check_eq(error, response));
+}
+
+function finish_test() {
+ do_test_finished();
+}