<!DOCTYPE html>
<title>Service Worker: Service-Worker header</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="resources/test-helpers.sub.js"></script>
<script>

promise_test(async t => {
  const script = 'resources/service-worker-header.py'
    + '?header&import=service-worker-header.py?no-header';
  const scope = 'resources/service-worker-header';
  const expected_url = normalizeURL(script);
  const registration =
    await service_worker_unregister_and_register(t, script, scope);
  t.add_cleanup(() => registration.unregister());
  assert_true(registration instanceof ServiceWorkerRegistration);

  await wait_for_state(t, registration.installing, 'activated');
  await registration.update();
}, 'A request to fetch service worker main script should have Service-Worker '
  + 'header and imported scripts should not have one');

</script>
