1
0
Fork 0
firefox/js/xpconnect/tests/unit/test_messageChannel.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

29 lines
874 B
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
add_task(async function() {
let sb = new Cu.Sandbox('http://www.example.com',
{ wantGlobalProperties: ["MessageChannel"] });
sb.ok = ok;
Cu.evalInSandbox('ok((new MessageChannel()) instanceof MessageChannel);',
sb);
Cu.evalInSandbox('ok((new MessageChannel()).port1 instanceof MessagePort);',
sb);
Cu.importGlobalProperties(["MessageChannel"]);
let mc = new MessageChannel();
Assert.ok(mc instanceof MessageChannel);
Assert.ok(mc.port1 instanceof MessagePort);
Assert.ok(mc.port2 instanceof MessagePort);
mc.port1.postMessage(42);
let result = await new Promise(resolve => {
mc.port2.onmessage = e => {
resolve(e.data);
}
});
Assert.equal(result, 42);
});