<!doctype html>
<meta charset=utf-8>
<title>IndexedDB 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>IndexedDB IDL tests</h1>
<div id=log></div>

<script>
"use strict";
setup(function() {
  var idlArray = new IdlArray();

  var request = new XMLHttpRequest();
  request.open("GET", "interfaces.idl");
  request.send();
  request.onload = function() {
    var idls = request.responseText;

    idlArray.add_untested_idls("[PrimaryGlobal] interface Window { };");
    idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface Event { };");
    idlArray.add_untested_idls("[Exposed=(Window,Worker)] interface EventTarget { };");
    idlArray.add_untested_idls("[NoInterfaceObject, Exposed=(Window,Worker)] interface WindowOrWorkerGlobalScope { };");

    // From Indexed DB:
    idlArray.add_idls(idls);
    idlArray.add_idls("Window implements WindowOrWorkerGlobalScope;");

    idlArray.add_objects({
      IDBCursor: [],
      IDBCursorWithValue: [],
      IDBDatabase: [],
      IDBFactory: ["window.indexedDB"],
      IDBIndex: [],
      IDBKeyRange: ["IDBKeyRange.only(0)"],
      IDBObjectStore: [],
      IDBOpenDBRequest: [],
      IDBRequest: [],
      IDBTransaction: [],
      IDBVersionChangeEvent: ["new IDBVersionChangeEvent('foo')"],
    });

    idlArray.test();
    done();
  };
}, {explicit_done: true});
</script>