This test creates an object store then populates it, then commits that transaction. It then clears it, but aborts that transaction. Finally it checks to make sure everything from step 1 is still in there.

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
Success opening database connection - Starting readwrite transaction
Value gotten was bar1
Value gotten was bar2
Value gotten was bar3
Value gotten was bar4
Value gotten was bar5
Value gotten was bar6
Value gotten was bar7
Value gotten was bar8
Value gotten was bar9
Object store cleared, making sure its all gone.
Value gotten was undefined
Value gotten was undefined
Value gotten was undefined
Value gotten was undefined
Value gotten was undefined
Value gotten was undefined
Value gotten was undefined
Value gotten was undefined
Value gotten was undefined
Readwrite transaction abort
Success opening database connection - Starting final transaction
Value gotten was bar1
Value gotten was bar2
Value gotten was bar3
Value gotten was bar4
Value gotten was bar5
Value gotten was bar6
Value gotten was bar7
Value gotten was bar8
Value gotten was bar9
Readwrite transaction complete
PASS successfullyParsed is true

TEST COMPLETE

