test_messageChannel.js (714B)
1 /* Any copyright is dedicated to the Public Domain. 2 * http://creativecommons.org/publicdomain/zero/1.0/ */ 3 4 add_test(function test_messageChannel() { 5 do_test_pending(); 6 7 let chromeWorker = new ChromeWorker( 8 "resource://test/chromeWorker_messageChannel.js" 9 ); 10 let { port1, port2 } = new MessageChannel(); 11 port2.onmessage = pongEvt => { 12 Assert.equal(pongEvt.data, "pong"); 13 let { port1: newPort1, port2: newPort2 } = new MessageChannel(); 14 newPort2.onmessage = goodbyeEvt => { 15 Assert.equal(goodbyeEvt.data, "goodbye"); 16 17 do_test_finished(); 18 run_next_test(); 19 }; 20 pongEvt.ports[0].postMessage("hello", [newPort1]); 21 }; 22 chromeWorker.postMessage("ping", [port1]); 23 });