OLD | NEW |
1 <!doctype html> | 1 <!doctype html> |
2 <title>message channel as ports</title> | 2 <title>message channel as ports</title> |
3 <script src="/resources/testharness.js"></script> | 3 <script src="/resources/testharness.js"></script> |
4 <script src="/resources/testharnessreport.js"></script> | 4 <script src="/resources/testharnessreport.js"></script> |
5 <div id=log></div> | 5 <div id=log></div> |
6 <script> | 6 <script> |
7 async_test(function(t) { | 7 async_test(function(t) { |
8 var channel = new MessageChannel(); | 8 var channel = new MessageChannel(); |
| 9 postMessage('', '*', [channel.port1, channel.port2]); |
| 10 onmessage = t.step_func(function(e) { |
| 11 assert_equals(e.ports.length, 2); |
| 12 t.done(); |
| 13 }); |
| 14 }, "MessageChannel's ports as MessagePort objects"); |
| 15 |
| 16 test(() => { |
| 17 var channel = new MessageChannel(); |
9 channel[0] = channel.port1; | 18 channel[0] = channel.port1; |
10 channel[1] = channel.port2; | 19 channel[1] = channel.port2; |
11 channel.length = 2; | 20 channel.length = 2; |
12 postMessage('', '*', channel); | 21 assert_throws(new TypeError(), |
13 onmessage = t.step_func(function(e) { | 22 () => { postMessage('', '*', channel) }, |
14 assert_equals(e.ports.length, 2); | 23 'Old-style WebIDL arrays must throw a type error'); |
15 t.done(); | 24 }, "Old-style array objects"); |
16 }); | |
17 }); | |
18 </script> | 25 </script> |
19 | 26 |
OLD | NEW |