This tests some obvious failures that can happen while calling IDBObjectStore.delete().

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB;

indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
Initial upgrade needed: Old version - 0 New version - 1
Failed to delete record from object store with an invalid key
Failed to delete record from object store that has been deleted
Initial upgrade versionchange transaction complete
Failed to delete a record in read-only transaction
Failed to delete record with inactive transaction
readwrite transaction complete
PASS successfullyParsed is true

TEST COMPLETE

