<!DOCTYPE html>
<meta charset="utf-8">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/helpers.js"></script>
<script>
'use strict';

promise_test(t => {
  const orig = createOriginalReadableStream();
  const w = new SharedWorker('resources/receiving-shared-worker.js');
  const promise = checkTestResults(w.port);
  w.port.postMessage(orig, [orig]);
  assert_true(orig.locked, 'the original stream should be locked');
  return promise;
}, 'worker.postMessage should be able to transfer a ReadableStream');

promise_test(t => {
  const w = new SharedWorker('resources/sending-shared-worker.js');
  const promise = testMessageEventOrErrorMessage(w.port);
  w.port.start();
  return promise;
}, 'postMessage in a worker should be able to transfer a ReadableStream');

</script>
