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

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
Initial upgrade versionchange transaction complete
Got an index as expected: [object IDBIndex]
Failed to get an index with a null name
Failed to get an index that doesn't exist
readonly transaction complete
Second upgrade needed: Old version - 1 New version - 2
Failed to get an index from a deleted object store
Second versionchange transaction complete
PASS successfullyParsed is true

TEST COMPLETE

