<!--
onmessage = function(e) {
  postMessage(e.ports instanceof Array && e.ports.length === 0);
}
/*
-->
<!doctype html>
<title>e.ports in dedicated worker</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<div id="log"></div>
<script>
(async_test()).step(function() {
  var worker = new Worker('#');
  worker.postMessage(1);
  worker.onmessage = this.step_func(function(e) {
    assert_true(e.data);
    this.done();
  });
});
</script>
<!--
*/
//-->

