<!doctype html>
<meta charset="utf-8">
<title>Background Fetch API IDL tests</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/resources/WebIDLParser.js"></script>
<script src="/resources/idlharness.js"></script>

<h1>idlharness test</h1>
<p>This test validates the WebIDL included in the Background Fetch API (Documents).</p>

<script>
'use strict';

promise_test(async function () {
  const idls = await fetch('/interfaces/background-fetch.idl').then(r => r.text());
  const dom = await fetch('/interfaces/dom.idl').then(r => r.text());

  var idlArray = new IdlArray();
  idlArray.add_untested_idls('interface ServiceWorkerRegistration {};');
  idlArray.add_untested_idls('[Exposed=ServiceWorker] interface ServiceWorkerGlobalScope {};');
  idlArray.add_untested_idls('interface ExtendableEvent{};');
  idlArray.add_untested_idls('dictionary ExtendableEventInit{};');
  idlArray.add_untested_idls(dom, { only: ['EventTarget'] });
  idlArray.add_idls(idls);
  idlArray.test();
}, 'Exposed interfaces in a Document.');
</script>
