<!DOCTYPE html>
<meta charset="utf-8">
<title>Test the name property of shared workers mixing constructor options and constructor strings</title>
<link rel="help" href="https://html.spec.whatwg.org/multipage/#concept-workerglobalscope-name">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-sharedworker">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#dom-sharedworkerglobalscope-name">
<link rel="author" title="Domenic Denicola" href="mailto:d@domenic.me">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<script>
"use strict";
setup({ single_test: true });

const name = "my name";

const worker1 = new SharedWorker("support/shared-name.js", { name });
worker1.port.onmessage = receiveMessage;

const worker2 = new SharedWorker("support/shared-name.js", { name });
worker2.port.onmessage = receiveMessage;

const worker3 = new SharedWorker("support/shared-name.js", name);
worker3.port.onmessage = receiveMessage;

let nextCounterExpected = 1;
function receiveMessage(e) {
  const { counter, name: receivedName } = e.data;

  assert_equals(receivedName, name);
  assert_equals(counter, nextCounterExpected);

  ++nextCounterExpected;
  if (nextCounterExpected === 4) {
    done();
  }
}
</script>
