| 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". |
| |
| |
| indexedDB = self.indexedDB || self.webkitIndexedDB || self.mozIndexedDB || self.msIndexedDB || self.OIndexedDB; |
| |
| |
| 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') |
| 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 |
| |