summaryrefslogtreecommitdiffstats
path: root/dom/messagechannel/tests/unit/test_messageChannel.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/messagechannel/tests/unit/test_messageChannel.js')
-rw-r--r--dom/messagechannel/tests/unit/test_messageChannel.js23
1 files changed, 23 insertions, 0 deletions
diff --git a/dom/messagechannel/tests/unit/test_messageChannel.js b/dom/messagechannel/tests/unit/test_messageChannel.js
new file mode 100644
index 0000000000..d672920f71
--- /dev/null
+++ b/dom/messagechannel/tests/unit/test_messageChannel.js
@@ -0,0 +1,23 @@
+/* Any copyright is dedicated to the Public Domain.
+ * http://creativecommons.org/publicdomain/zero/1.0/ */
+
+add_test(function test_messageChannel() {
+ do_test_pending();
+
+ let chromeWorker = new ChromeWorker(
+ "resource://test/chromeWorker_messageChannel.js"
+ );
+ let { port1, port2 } = new MessageChannel();
+ port2.onmessage = pongEvt => {
+ Assert.equal(pongEvt.data, "pong");
+ let { port1: newPort1, port2: newPort2 } = new MessageChannel();
+ newPort2.onmessage = goodbyeEvt => {
+ Assert.equal(goodbyeEvt.data, "goodbye");
+
+ do_test_finished();
+ run_next_test();
+ };
+ pongEvt.ports[0].postMessage("hello", [newPort1]);
+ };
+ chromeWorker.postMessage("ping", [port1]);
+});