summaryrefslogtreecommitdiff
path: root/cli/tests
diff options
context:
space:
mode:
authorLuca Casonato <hello@lcas.dev>2021-06-21 19:53:52 +0200
committerGitHub <noreply@github.com>2021-06-21 19:53:52 +0200
commitf9ff981daf6931a01e1516db0b5714e7a94f145b (patch)
tree677a6e3f12c86210cc635e68b9afc06c4cb1d2f9 /cli/tests
parenta2f939b99c43c6344f109144d7b01c95294a6f8b (diff)
feat: `MessageChannel` and `MessagePort` (#11051)
This commit introduces support for MessageChannel and MessagePort. MessagePorts can be transfered across other MessagePorts.
Diffstat (limited to 'cli/tests')
-rw-r--r--cli/tests/unit/message_channel_test.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/cli/tests/unit/message_channel_test.ts b/cli/tests/unit/message_channel_test.ts
new file mode 100644
index 000000000..0cb2671d5
--- /dev/null
+++ b/cli/tests/unit/message_channel_test.ts
@@ -0,0 +1,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();
+});