Ensure cursor calls behave as expected after cursor has run to the end.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
dbname = "cursor-finished.html"
prepareDatabase():
indexedDB.deleteDatabase(dbname)
onDeleteSuccess():
indexedDB.open(dbname, 1)
onUpgradeNeeded():
db = event.target.result
store = db.createObjectStore('store')
store.put(1, 1)
store.put(2, 2)
onOpenSuccess():
db = event.target.result
transaction = db.transaction('store', 'readwrite', {durability: 'relaxed'})
store = transaction.objectStore('store')
count = 0
cursorRequest = store.openCursor()
onCursorSuccess():
cursor = event.target.result
PASS cursor is non-null.
count++
savedCursor = cursor
cursor.continue()
onCursorSuccess():
cursor = event.target.result
PASS cursor is non-null.
count++
savedCursor = cursor
cursor.continue()
onCursorSuccess():
cursor = event.target.result
PASS cursor is null
PASS savedCursor is non-null.
Expecting exception from savedCursor.update('value')
PASS Exception was thrown.
PASS code is DOMException.INVALID_STATE_ERR
PASS ename is 'InvalidStateError'
Exception message: Failed to execute 'update' on 'IDBCursor': The cursor is being iterated or has iterated past its end.
Expecting exception from savedCursor.advance(1)
PASS Exception was thrown.
PASS code is DOMException.INVALID_STATE_ERR
PASS ename is 'InvalidStateError'
Exception message: Failed to execute 'advance' on 'IDBCursor': The cursor is being iterated or has iterated past its end.
Expecting exception from savedCursor.continue()
PASS Exception was thrown.
PASS code is DOMException.INVALID_STATE_ERR
PASS ename is 'InvalidStateError'
Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end.
Expecting exception from savedCursor.continue('key')
PASS Exception was thrown.
PASS code is DOMException.INVALID_STATE_ERR
PASS ename is 'InvalidStateError'
Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end.
Expecting exception from savedCursor.delete()
PASS Exception was thrown.
PASS code is DOMException.INVALID_STATE_ERR
PASS ename is 'InvalidStateError'
Exception message: Failed to execute 'delete' on 'IDBCursor': The cursor is being iterated or has iterated past its end.
PASS successfullyParsed is true
TEST COMPLETE