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

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 count records in object store with an invalid key
Failed to count records in object store that's been deleted
Initial upgrade versionchange transaction complete
Failed to count records in object store while transaction is inactive
readonly transaction complete
PASS successfullyParsed is true

TEST COMPLETE

