<!doctype html><title>message channel as ports</title><scriptsrc="/resources/testharness.js"></script><scriptsrc="/resources/testharnessreport.js"></script><divid=log></div><script>async_test(function(t){varchannel=newMessageChannel();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(()=>{varchannel=newMessageChannel();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>