Test IndexedDB's IDBCursor.continue() with a key parameter.

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".


webkitIndexedDB.open('cursor-continue')
db = event.target.result
db.setVersion('new version')
trans = event.target.result
PASS trans !== null is true
Deleted all object stores.
db.createObjectStore('someObjectStore')
objectStore.createIndex('someIndex', 'x')
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)
objectStore.add({'x': testData[nextToAdd]}, nextToAdd)

indexObject.openKeyCursor(null, webkitIDBCursor.NEXT)
PASS event.target.result.primaryKey is 0
event.target.result.continue(3.14159)
PASS event.target.result.primaryKey is 3
event.target.result.continue(3.14159)
PASS event.target.result.primaryKey is 4
event.target.result.continue(3.14159)
PASS event.target.result.primaryKey is 5
event.target.result.continue(12)
PASS event.target.result.primaryKey is 7
event.target.result.continue(date)
PASS event.target.result.primaryKey is 9
event.target.result.continue(date)
PASS event.target.result.primaryKey is 10
event.target.result.continue(date)
PASS event.target.result.primaryKey is 11
event.target.result.continue('A bit1')
PASS event.target.result.primaryKey is 14
event.target.result.continue('A bit3')
PASS event.target.result.primaryKey is 16
event.target.result.continue('the BIGGEST string')
PASS event.target.result.primaryKey is 17
event.target.result.continue('the BIGGEST string')
PASS event.target.result is null

indexObject.openKeyCursor(null, webkitIDBCursor.PREV)
PASS event.target.result.primaryKey is 17
event.target.result.continue('A bit2')
PASS event.target.result.primaryKey is 15
event.target.result.continue('A bit2')
PASS event.target.result.primaryKey is 14
event.target.result.continue(date)
PASS event.target.result.primaryKey is 10
event.target.result.continue(date)
PASS event.target.result.primaryKey is 9
event.target.result.continue(1)
PASS event.target.result.primaryKey is 2
event.target.result.continue(1)
PASS event.target.result.primaryKey is 1
event.target.result.continue(1)
PASS event.target.result.primaryKey is 0
event.target.result.continue(1)
PASS event.target.result is null
PASS successfullyParsed is true

TEST COMPLETE

