blob: 0cb2671d5a24c9924430ecd124dd5ceaacb264bb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
// Copyright 2018-2021 the Deno authors. All rights reserved. MIT license.
// NOTE: these are just sometests to test the TypeScript types. Real coverage is
// provided by WPT.
import {
assert,
assertEquals,
} from "../../../test_util/std/testing/asserts.ts";
import { deferred } from "../../../test_util/std/async/deferred.ts";
Deno.test("messagechannel", async () => {
const mc = new MessageChannel();
const mc2 = new MessageChannel();
assert(mc.port1);
assert(mc.port2);
const promise = deferred();
mc.port2.onmessage = (e) => {
assertEquals(e.data, "hello");
assertEquals(e.ports.length, 1);
assert(e.ports[0] instanceof MessagePort);
e.ports[0].close();
promise.resolve();
};
mc.port1.postMessage("hello", [mc2.port1]);
mc.port1.close();
await promise;
mc.port2.close();
mc2.port2.close();
});
|