chromium/third_party/blink/web_tests/storage/indexeddb/cursor-finished-expected.txt

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