<!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("[Global] interface Window { };");
    idlArray.add_untested_idls("interface Event { };");
    idlArray.add_untested_idls("interface EventTarget { };");

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

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

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