summaryrefslogtreecommitdiff
path: root/cli/tests/unit/message_channel_test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'cli/tests/unit/message_channel_test.ts')
-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();
+});