summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/webmessaging/with-ports/027.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/webmessaging/with-ports/027.html')
-rw-r--r--testing/web-platform/tests/webmessaging/with-ports/027.html26
1 files changed, 26 insertions, 0 deletions
diff --git a/testing/web-platform/tests/webmessaging/with-ports/027.html b/testing/web-platform/tests/webmessaging/with-ports/027.html
new file mode 100644
index 0000000000..7158351258
--- /dev/null
+++ b/testing/web-platform/tests/webmessaging/with-ports/027.html
@@ -0,0 +1,26 @@
+<!doctype html>
+<title>message channel as ports</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id=log></div>
+<script>
+async_test(function(t) {
+ var channel = new MessageChannel();
+ postMessage('', '*', [channel.port1, channel.port2]);
+ onmessage = t.step_func(function(e) {
+ assert_equals(e.ports.length, 2);
+ t.done();
+ });
+}, "MessageChannel's ports as MessagePort objects");
+
+test(() => {
+ var channel = new MessageChannel();
+ channel[0] = channel.port1;
+ channel[1] = channel.port2;
+ channel.length = 2;
+ assert_throws_js(TypeError,
+ () => { postMessage('', '*', channel) },
+ 'Old-style WebIDL arrays must throw a type error');
+}, "Old-style array objects");
+</script>
+