<!DOCTYPE html>
<title>IDBDatabase.createObjectStore() - create 1000 object stores, add one item and delete</title>
<meta name=timeout content=long>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="support.js"></script>

<script>
var db,
    t = async_test(document.title, {timeout: 600000}),
    open_rq = createdb(t)

open_rq.onupgradeneeded = function(e) {
    db = e.target.result
    var st, i;
    for (i = 0; i < 1000; i++)
    {
        st = db.createObjectStore("object_store_" + i)
        st.add("test", 1);
    }

    st.get(1).onsuccess = t.step_func(function(e) {
        assert_equals(e.target.result, "test")
    })
}
open_rq.onsuccess = function(e) {
    db.close()
    window.indexedDB.deleteDatabase(db.name).onsuccess = function(e) {
        t.done()
    }
}
</script>


<div id="log"></div>


