1 if (this.importScripts) {
2 importScripts('../../../resources/js-test.js');
3 importScripts('shared.js');
6 description("Test IndexedDB's indexedDB.deleteDatabase().");
8 indexedDBTest(prepareDatabase, getValue);
9 function prepareDatabase()
11 db = event.target.result;
13 store = evalAndLog("store = db.createObjectStore('storeName', null)");
15 self.index = evalAndLog("store.createIndex('indexName', '')");
16 shouldBeTrue("store.indexNames.contains('indexName')");
18 request = evalAndLog("store.add('value', 'key')");
19 request.onerror = unexpectedErrorCallback;
24 transaction = evalAndLog("db.transaction('storeName', 'readwrite')");
25 transaction.onabort = unexpectedErrorCallback;
26 var store = evalAndLog("store = transaction.objectStore('storeName')");
28 request = evalAndLog("store.get('key')");
29 request.onsuccess = addIndex;
30 request.onerror = unexpectedErrorCallback;
35 shouldBeEqualToString("event.target.result", "value");
36 evalAndLog("db.close()");
38 request = evalAndLog("indexedDB.open(dbname, 2)");
39 request.onsuccess = deleteDatabase;
40 request.onerror = unexpectedErrorCallback;
43 function deleteDatabase()
45 evalAndLog("db = event.target.result");
46 db.onversionchange = function() { evalAndLog("db.close()"); }
47 request = evalAndLog("request = indexedDB.deleteDatabase(dbname)");
48 request.onsuccess = reopenDatabase;
49 request.onerror = unexpectedErrorCallback;
52 function reopenDatabase()
54 shouldBeUndefined("request.result");
55 request = evalAndLog("indexedDB.open(dbname, 3)");
56 request.onupgradeneeded = verifyNotFound;
57 request.onerror = unexpectedErrorCallback;
58 request.onblocked = unexpectedBlockedCallback;
61 function verifyNotFound()
63 db = evalAndLog("db = event.target.result");
64 shouldBe("db.objectStoreNames.length", "0");