| Test IndexedDB's IDBCursor.continue() with a key parameter. |
| |
| 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; |
| |
| indexedDB.deleteDatabase(dbname) |
| indexedDB.open(dbname) |
| 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, '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() |
| PASS event.target.result.primaryKey is 4 |
| event.target.result.continue() |
| 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() |
| PASS event.target.result.primaryKey is 10 |
| event.target.result.continue() |
| 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() |
| PASS event.target.result is null |
| |
| indexObject.openKeyCursor(null, '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() |
| PASS event.target.result.primaryKey is 14 |
| event.target.result.continue(date) |
| PASS event.target.result.primaryKey is 10 |
| event.target.result.continue() |
| PASS event.target.result.primaryKey is 9 |
| event.target.result.continue(1) |
| PASS event.target.result.primaryKey is 2 |
| event.target.result.continue() |
| PASS event.target.result.primaryKey is 1 |
| event.target.result.continue() |
| PASS event.target.result.primaryKey is 0 |
| event.target.result.continue() |
| PASS event.target.result is null |
| |
| indexObject.openKeyCursor(null, 'next') |
| PASS event.target.result.primaryKey is 0 |
| event.target.result.continue(3.14159) |
| PASS event.target.result.primaryKey is 3 |
| Expecting exception from event.target.result.continue(1) |
| PASS Exception was thrown. |
| PASS code is 0 |
| PASS ename is 'DataError' |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The parameter is less than or equal to this cursor's position. |
| |
| indexObject.openKeyCursor(null, 'next') |
| PASS event.target.result.primaryKey is 0 |
| event.target.result.continue(3.14159) |
| PASS event.target.result.primaryKey is 3 |
| Expecting exception from event.target.result.continue(3.14159) |
| PASS Exception was thrown. |
| PASS code is 0 |
| PASS ename is 'DataError' |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The parameter is less than or equal to this cursor's position. |
| |
| indexObject.openKeyCursor(null, 'prev') |
| PASS event.target.result.primaryKey is 17 |
| event.target.result.continue('A bit2') |
| PASS event.target.result.primaryKey is 15 |
| Expecting exception from event.target.result.continue('A bit3') |
| PASS Exception was thrown. |
| PASS code is 0 |
| PASS ename is 'DataError' |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The parameter is greater than or equal to this cursor's position. |
| |
| indexObject.openKeyCursor(null, 'prev') |
| PASS event.target.result.primaryKey is 17 |
| event.target.result.continue('A bit2') |
| PASS event.target.result.primaryKey is 15 |
| cursor = event.target.result |
| Expecting exception from event.target.result.continue('A bit2') |
| PASS Exception was thrown. |
| PASS code is 0 |
| PASS ename is 'DataError' |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The parameter is greater than or equal to this cursor's position. |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is 0 |
| PASS ename is 'TransactionInactiveError' |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The transaction is inactive or finished. |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |