<!DOCTYPE html>
<title>Test that pages and workers can send Structure Message to one another.</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
promise_test(t => {
  let worker;

  return new Promise(resolve => {
    worker = new Worker("support/Worker-structure-message.js");
    worker.onmessage = resolve;
    worker.postMessage({
      operation: 'find-edges',
      input: new ArrayBuffer(20),
      threshold: 0.6
    });
  }).then(evt => {
    assert_false(evt.data.startsWith('FAIL'));
    return new Promise(resolve => worker.onmessage = resolve);
  }).then(evt => {
    assert_equals(evt.data.operation, 'find-edges');
    assert_true(ArrayBuffer.prototype.isPrototypeOf(evt.data.input));
    assert_equals(evt.data.input.byteLength, 20);
    assert_equals(evt.data.threshold, 0.6);
  });
}, 'Tests sending structure message to/from worker.');
</script>
