Test IndexedDB's objectStore.openCursor + the cursor it produces in depth. 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; dbname = "objectstore-cursor.html" indexedDB.deleteDatabase(dbname) indexedDB.open(dbname) objectStore = db.createObjectStore('someObjectStore') Verify that specifying an invalid direction raises an exception: Expecting TypeError exception from objectStore.openCursor(0, 'invalid-direction') PASS Exception was thrown. PASS objectStore.openCursor(0, 'invalid-direction') threw TypeError: Type error objectStore.add('', testData[nextToAdd]) objectStore.add('', testData[nextToAdd]) objectStore.add('', testData[nextToAdd]) objectStore.add('', testData[nextToAdd]) objectStore.add('', testData[nextToAdd]) objectStore.add('', testData[nextToAdd]) objectStore.add('', testData[nextToAdd]) Scheduling tests... Running tests... Next test: lower open bound is 0; sorted ascending. PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 0; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: upper open bound is 0; sorted ascending. PASS event.target.result is null Next test: upper bound is 0; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower open bound is 0; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result is null Next test: lower bound is 0; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: upper open bound is 0; sorted descending. PASS event.target.result is null Next test: upper bound is 0; sorted descending. PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower open bound is 0; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower open bound is 0; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 0; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower bound is 0; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower open bound is 0; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result is null Next test: lower open bound is 0; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result is null Next test: lower bound is 0; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower bound is 0; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower open bound is 1; sorted ascending. PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 1; sorted ascending. PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: upper open bound is 1; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: upper bound is 1; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result is null Next test: lower open bound is 1; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result is null Next test: lower bound is 1; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result is null Next test: upper open bound is 1; sorted descending. PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: upper bound is 1; sorted descending. PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower open bound is 1; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower open bound is 1; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 1; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower bound is 1; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower open bound is 1; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result is null Next test: lower open bound is 1; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result is null Next test: lower bound is 1; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result is null Next test: lower bound is 1; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result is null Next test: lower open bound is 2; sorted ascending. PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 2; sorted ascending. PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: upper open bound is 2; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result is null Next test: upper bound is 2; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result is null Next test: lower open bound is 2; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result is null Next test: lower bound is 2; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result is null Next test: upper open bound is 2; sorted descending. PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: upper bound is 2; sorted descending. PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower open bound is 2; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower open bound is 2; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 2; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower bound is 2; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower open bound is 2; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result is null Next test: lower open bound is 2; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result is null Next test: lower bound is 2; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result is null Next test: lower bound is 2; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result is null Next test: lower open bound is 3; sorted ascending. PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 3; sorted ascending. PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: upper open bound is 3; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result is null Next test: upper bound is 3; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result is null Next test: lower open bound is 3; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result is null Next test: lower bound is 3; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result is null Next test: upper open bound is 3; sorted descending. PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: upper bound is 3; sorted descending. PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower open bound is 3; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower open bound is 3; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 3; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower bound is 3; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower open bound is 3; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result is null Next test: lower open bound is 3; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result is null Next test: lower bound is 3; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result is null Next test: lower bound is 3; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result is null Next test: lower open bound is 4; sorted ascending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 4; sorted ascending. PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: upper open bound is 4; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result is null Next test: upper bound is 4; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result is null Next test: lower open bound is 4; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower bound is 4; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result is null Next test: upper open bound is 4; sorted descending. PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: upper bound is 4; sorted descending. PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower open bound is 4; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower open bound is 4; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 4; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower bound is 4; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower open bound is 4; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower open bound is 4; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower bound is 4; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result is null Next test: lower bound is 4; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result is null Next test: lower open bound is 5; sorted ascending. PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 5; sorted ascending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: upper open bound is 5; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result is null Next test: upper bound is 5; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower open bound is 5; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 5; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: upper open bound is 5; sorted descending. PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: upper bound is 5; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower open bound is 5; upper open bound is 6; sorted ascending. PASS event.target.result is null Next test: lower open bound is 5; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 5; upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower bound is 5; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower open bound is 5; upper open bound is 6; sorted descending. PASS event.target.result is null Next test: lower open bound is 5; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower bound is 5; upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower bound is 5; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: lower open bound is 6; sorted ascending. PASS event.target.result is null Next test: lower bound is 6; sorted ascending. PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: upper open bound is 6; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result is null Next test: upper bound is 6; sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower open bound is 6; sorted descending. PASS event.target.result is null Next test: lower bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: upper open bound is 6; sorted descending. PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null Next test: lower open bound is 6; upper open bound is 6; sorted ascending. Skipping illegal key range. Next test: lower open bound is 6; upper bound is 6; sorted ascending. Skipping illegal key range. Next test: lower bound is 6; upper open bound is 6; sorted ascending. Skipping illegal key range. Next test: lower bound is 6; upper bound is 6; sorted ascending. PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: lower open bound is 6; upper open bound is 6; sorted descending. Skipping illegal key range. Next test: lower open bound is 6; upper bound is 6; sorted descending. Skipping illegal key range. Next test: lower bound is 6; upper open bound is 6; sorted descending. Skipping illegal key range. Next test: lower bound is 6; upper bound is 6; sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: null key path sorted ascending. PASS event.target.result.key is testData[0] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[6] PASS event.target.result is null Next test: null key path sorted descending. PASS event.target.result.key is testData[6] PASS event.target.result.key is testData[5] PASS event.target.result.key is testData[4] PASS event.target.result.key is testData[3] PASS event.target.result.key is testData[2] PASS event.target.result.key is testData[1] PASS event.target.result.key is testData[0] PASS event.target.result is null PASS successfullyParsed is true TEST COMPLETE