This tests deleting an index and then committing the transaction.

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
Count is: 2
Cursor at record: A / 1
Cursor at record: A / 2
Deleted the index
Initial upgrade versionchange transaction complete
Object store has indexes:
Unable to get index from object store (it shouldn't exist)
Transaction complete
PASS successfullyParsed is true

TEST COMPLETE

