| Test IndexedDB's IDBCursor.continue() behavior when called beyond normal scope. |
| |
| 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) |
| trans = event.target.transaction |
| PASS trans is non-null. |
| db.createObjectStore('someObjectStore') |
| objectStore.createIndex('someIndex', 'x') |
| objectStore.add({'x': 0 }, 0) |
| objectStore.add({'x': 1 }, 1) |
| objectStore.add({'x': 2 }, 2) |
| objectStore.add({'x': 3 }, 3) |
| objectStore.add({'x': 4 }, 4) |
| objectStore.add({'x': 5 }, 5) |
| objectStore.add({'x': 6 }, 6) |
| objectStore.add({'x': 7 }, 7) |
| objectStore.add({'x': 8 }, 8) |
| objectStore.add({'x': 9 }, 9) |
| objectStore.add({'x': 10 }, 10) |
| objectStore.add({'x': 11 }, 11) |
| objectStore.add({'x': 12 }, 12) |
| objectStore.add({'x': 13 }, 13) |
| objectStore.add({'x': 14 }, 14) |
| objectStore.add({'x': 15 }, 15) |
| objectStore.add({'x': 16 }, 16) |
| objectStore.add({'x': 17 }, 17) |
| objectStore.add({'x': 18 }, 18) |
| objectStore.add({'x': 19 }, 19) |
| objectStore.add({'x': 20 }, 20) |
| objectStore.add({'x': 21 }, 21) |
| objectStore.add({'x': 22 }, 22) |
| objectStore.add({'x': 23 }, 23) |
| objectStore.add({'x': 24 }, 24) |
| continueTest() |
| |
| Checking objectStore |
| ==================== |
| indexObject.openCursor(null, 'next') |
| self.continueValue = 0 |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 0 |
| PASS cursor.key is 0 |
| PASS cursor.value.x is 0 |
| cursor.continue() |
| PASS cursor.key is 0 |
| PASS cursor.value.x is 0 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 0 |
| PASS cursor.value.x is 0 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 1 |
| PASS cursor.key is 1 |
| PASS cursor.value.x is 1 |
| cursor.continue() |
| PASS cursor.key is 1 |
| PASS cursor.value.x is 1 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 1 |
| PASS cursor.value.x is 1 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 2 |
| PASS cursor.key is 2 |
| PASS cursor.value.x is 2 |
| cursor.continue() |
| PASS cursor.key is 2 |
| PASS cursor.value.x is 2 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 2 |
| PASS cursor.value.x is 2 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 3 |
| PASS cursor.key is 3 |
| PASS cursor.value.x is 3 |
| cursor.continue() |
| PASS cursor.key is 3 |
| PASS cursor.value.x is 3 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 3 |
| PASS cursor.value.x is 3 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 4 |
| PASS cursor.key is 4 |
| PASS cursor.value.x is 4 |
| cursor.continue() |
| PASS cursor.key is 4 |
| PASS cursor.value.x is 4 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 4 |
| PASS cursor.value.x is 4 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 5 |
| PASS cursor.key is 5 |
| PASS cursor.value.x is 5 |
| cursor.continue() |
| PASS cursor.key is 5 |
| PASS cursor.value.x is 5 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 5 |
| PASS cursor.value.x is 5 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 6 |
| PASS cursor.key is 6 |
| PASS cursor.value.x is 6 |
| cursor.continue() |
| PASS cursor.key is 6 |
| PASS cursor.value.x is 6 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 6 |
| PASS cursor.value.x is 6 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 7 |
| PASS cursor.key is 7 |
| PASS cursor.value.x is 7 |
| cursor.continue() |
| PASS cursor.key is 7 |
| PASS cursor.value.x is 7 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 7 |
| PASS cursor.value.x is 7 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 8 |
| PASS cursor.key is 8 |
| PASS cursor.value.x is 8 |
| cursor.continue() |
| PASS cursor.key is 8 |
| PASS cursor.value.x is 8 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 8 |
| PASS cursor.value.x is 8 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 9 |
| PASS cursor.key is 9 |
| PASS cursor.value.x is 9 |
| cursor.continue() |
| PASS cursor.key is 9 |
| PASS cursor.value.x is 9 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 9 |
| PASS cursor.value.x is 9 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 10 |
| PASS cursor.key is 10 |
| PASS cursor.value.x is 10 |
| cursor.continue() |
| PASS cursor.key is 10 |
| PASS cursor.value.x is 10 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 10 |
| PASS cursor.value.x is 10 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 11 |
| PASS cursor.key is 11 |
| PASS cursor.value.x is 11 |
| cursor.continue() |
| PASS cursor.key is 11 |
| PASS cursor.value.x is 11 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 11 |
| PASS cursor.value.x is 11 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 12 |
| PASS cursor.key is 12 |
| PASS cursor.value.x is 12 |
| cursor.continue() |
| PASS cursor.key is 12 |
| PASS cursor.value.x is 12 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 12 |
| PASS cursor.value.x is 12 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 13 |
| PASS cursor.key is 13 |
| PASS cursor.value.x is 13 |
| cursor.continue() |
| PASS cursor.key is 13 |
| PASS cursor.value.x is 13 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 13 |
| PASS cursor.value.x is 13 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 14 |
| PASS cursor.key is 14 |
| PASS cursor.value.x is 14 |
| cursor.continue() |
| PASS cursor.key is 14 |
| PASS cursor.value.x is 14 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 14 |
| PASS cursor.value.x is 14 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 15 |
| PASS cursor.key is 15 |
| PASS cursor.value.x is 15 |
| cursor.continue() |
| PASS cursor.key is 15 |
| PASS cursor.value.x is 15 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 15 |
| PASS cursor.value.x is 15 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 16 |
| PASS cursor.key is 16 |
| PASS cursor.value.x is 16 |
| cursor.continue() |
| PASS cursor.key is 16 |
| PASS cursor.value.x is 16 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 16 |
| PASS cursor.value.x is 16 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 17 |
| PASS cursor.key is 17 |
| PASS cursor.value.x is 17 |
| cursor.continue() |
| PASS cursor.key is 17 |
| PASS cursor.value.x is 17 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 17 |
| PASS cursor.value.x is 17 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 18 |
| PASS cursor.key is 18 |
| PASS cursor.value.x is 18 |
| cursor.continue() |
| PASS cursor.key is 18 |
| PASS cursor.value.x is 18 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 18 |
| PASS cursor.value.x is 18 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 19 |
| PASS cursor.key is 19 |
| PASS cursor.value.x is 19 |
| cursor.continue() |
| PASS cursor.key is 19 |
| PASS cursor.value.x is 19 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 19 |
| PASS cursor.value.x is 19 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 20 |
| PASS cursor.key is 20 |
| PASS cursor.value.x is 20 |
| cursor.continue() |
| PASS cursor.key is 20 |
| PASS cursor.value.x is 20 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 20 |
| PASS cursor.value.x is 20 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 21 |
| PASS cursor.key is 21 |
| PASS cursor.value.x is 21 |
| cursor.continue() |
| PASS cursor.key is 21 |
| PASS cursor.value.x is 21 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 21 |
| PASS cursor.value.x is 21 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 22 |
| PASS cursor.key is 22 |
| PASS cursor.value.x is 22 |
| cursor.continue() |
| PASS cursor.key is 22 |
| PASS cursor.value.x is 22 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 22 |
| PASS cursor.value.x is 22 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 23 |
| PASS cursor.key is 23 |
| PASS cursor.value.x is 23 |
| cursor.continue() |
| PASS cursor.key is 23 |
| PASS cursor.value.x is 23 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 23 |
| PASS cursor.value.x is 23 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| Checking value at 24 |
| PASS cursor.key is 24 |
| PASS cursor.value.x is 24 |
| cursor.continue() |
| PASS cursor.key is 24 |
| PASS cursor.value.x is 24 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 24 |
| PASS cursor.value.x is 24 |
| self.continueValue++; |
| doubleContinueCallback() |
| cursor = event.target.result |
| continueIndexTest() |
| |
| Checking index |
| ============== |
| indexObject.openCursor(null, 'next') |
| self.continueValue = 0 |
| cursor = event.target.result |
| Checking value at 0 |
| PASS cursor.key is 0 |
| PASS cursor.value.x is 0 |
| cursor.continue() |
| PASS cursor.key is 0 |
| PASS cursor.value.x is 0 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 0 |
| PASS cursor.value.x is 0 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 1 |
| PASS cursor.key is 1 |
| PASS cursor.value.x is 1 |
| cursor.continue() |
| PASS cursor.key is 1 |
| PASS cursor.value.x is 1 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 1 |
| PASS cursor.value.x is 1 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 2 |
| PASS cursor.key is 2 |
| PASS cursor.value.x is 2 |
| cursor.continue() |
| PASS cursor.key is 2 |
| PASS cursor.value.x is 2 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 2 |
| PASS cursor.value.x is 2 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 3 |
| PASS cursor.key is 3 |
| PASS cursor.value.x is 3 |
| cursor.continue() |
| PASS cursor.key is 3 |
| PASS cursor.value.x is 3 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 3 |
| PASS cursor.value.x is 3 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 4 |
| PASS cursor.key is 4 |
| PASS cursor.value.x is 4 |
| cursor.continue() |
| PASS cursor.key is 4 |
| PASS cursor.value.x is 4 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 4 |
| PASS cursor.value.x is 4 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 5 |
| PASS cursor.key is 5 |
| PASS cursor.value.x is 5 |
| cursor.continue() |
| PASS cursor.key is 5 |
| PASS cursor.value.x is 5 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 5 |
| PASS cursor.value.x is 5 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 6 |
| PASS cursor.key is 6 |
| PASS cursor.value.x is 6 |
| cursor.continue() |
| PASS cursor.key is 6 |
| PASS cursor.value.x is 6 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 6 |
| PASS cursor.value.x is 6 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 7 |
| PASS cursor.key is 7 |
| PASS cursor.value.x is 7 |
| cursor.continue() |
| PASS cursor.key is 7 |
| PASS cursor.value.x is 7 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 7 |
| PASS cursor.value.x is 7 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 8 |
| PASS cursor.key is 8 |
| PASS cursor.value.x is 8 |
| cursor.continue() |
| PASS cursor.key is 8 |
| PASS cursor.value.x is 8 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 8 |
| PASS cursor.value.x is 8 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 9 |
| PASS cursor.key is 9 |
| PASS cursor.value.x is 9 |
| cursor.continue() |
| PASS cursor.key is 9 |
| PASS cursor.value.x is 9 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 9 |
| PASS cursor.value.x is 9 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 10 |
| PASS cursor.key is 10 |
| PASS cursor.value.x is 10 |
| cursor.continue() |
| PASS cursor.key is 10 |
| PASS cursor.value.x is 10 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 10 |
| PASS cursor.value.x is 10 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 11 |
| PASS cursor.key is 11 |
| PASS cursor.value.x is 11 |
| cursor.continue() |
| PASS cursor.key is 11 |
| PASS cursor.value.x is 11 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 11 |
| PASS cursor.value.x is 11 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 12 |
| PASS cursor.key is 12 |
| PASS cursor.value.x is 12 |
| cursor.continue() |
| PASS cursor.key is 12 |
| PASS cursor.value.x is 12 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 12 |
| PASS cursor.value.x is 12 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 13 |
| PASS cursor.key is 13 |
| PASS cursor.value.x is 13 |
| cursor.continue() |
| PASS cursor.key is 13 |
| PASS cursor.value.x is 13 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 13 |
| PASS cursor.value.x is 13 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 14 |
| PASS cursor.key is 14 |
| PASS cursor.value.x is 14 |
| cursor.continue() |
| PASS cursor.key is 14 |
| PASS cursor.value.x is 14 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 14 |
| PASS cursor.value.x is 14 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 15 |
| PASS cursor.key is 15 |
| PASS cursor.value.x is 15 |
| cursor.continue() |
| PASS cursor.key is 15 |
| PASS cursor.value.x is 15 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 15 |
| PASS cursor.value.x is 15 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 16 |
| PASS cursor.key is 16 |
| PASS cursor.value.x is 16 |
| cursor.continue() |
| PASS cursor.key is 16 |
| PASS cursor.value.x is 16 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 16 |
| PASS cursor.value.x is 16 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 17 |
| PASS cursor.key is 17 |
| PASS cursor.value.x is 17 |
| cursor.continue() |
| PASS cursor.key is 17 |
| PASS cursor.value.x is 17 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 17 |
| PASS cursor.value.x is 17 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 18 |
| PASS cursor.key is 18 |
| PASS cursor.value.x is 18 |
| cursor.continue() |
| PASS cursor.key is 18 |
| PASS cursor.value.x is 18 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 18 |
| PASS cursor.value.x is 18 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 19 |
| PASS cursor.key is 19 |
| PASS cursor.value.x is 19 |
| cursor.continue() |
| PASS cursor.key is 19 |
| PASS cursor.value.x is 19 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 19 |
| PASS cursor.value.x is 19 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 20 |
| PASS cursor.key is 20 |
| PASS cursor.value.x is 20 |
| cursor.continue() |
| PASS cursor.key is 20 |
| PASS cursor.value.x is 20 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 20 |
| PASS cursor.value.x is 20 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 21 |
| PASS cursor.key is 21 |
| PASS cursor.value.x is 21 |
| cursor.continue() |
| PASS cursor.key is 21 |
| PASS cursor.value.x is 21 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 21 |
| PASS cursor.value.x is 21 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 22 |
| PASS cursor.key is 22 |
| PASS cursor.value.x is 22 |
| cursor.continue() |
| PASS cursor.key is 22 |
| PASS cursor.value.x is 22 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 22 |
| PASS cursor.value.x is 22 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 23 |
| PASS cursor.key is 23 |
| PASS cursor.value.x is 23 |
| cursor.continue() |
| PASS cursor.key is 23 |
| PASS cursor.value.x is 23 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 23 |
| PASS cursor.value.x is 23 |
| self.continueValue++; |
| cursor = event.target.result |
| Checking value at 24 |
| PASS cursor.key is 24 |
| PASS cursor.value.x is 24 |
| cursor.continue() |
| PASS cursor.key is 24 |
| PASS cursor.value.x is 24 |
| Expecting exception from cursor.continue() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'continue' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| PASS cursor.key is 24 |
| PASS cursor.value.x is 24 |
| self.continueValue++; |
| cursor = event.target.result |
| testModifyContinueOrder() |
| |
| Checking modification |
| ===================== |
| indexObject.openCursor(null, 'next') |
| self.continueValue = 0 |
| cursor = event.target.result |
| |
| Index key is: 0 |
| Primary key is: 0 |
| Value.x is: 0 |
| Continue value: 1 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 1 |
| Primary key is: 1 |
| Value.x is: 1 |
| Continue value: 2 |
| New Index key for primary key 1 is 102 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 2 |
| Primary key is: 2 |
| Value.x is: 2 |
| Continue value: 3 |
| Deleting primary key 2 which currently has Index key 2 |
| cursor.delete() |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 3 |
| Primary key is: 3 |
| Value.x is: 3 |
| Continue value: 4 |
| New Index key for primary key 3 is 104 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 4 |
| Primary key is: 4 |
| Value.x is: 4 |
| Continue value: 5 |
| cursor.continue() |
| Expecting exception setting new Index key for primary key 4 to 105 |
| Expecting exception from cursor.update({ x: 100 + self.continueValue}) |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'update' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| cursor = event.target.result |
| |
| Index key is: 5 |
| Primary key is: 5 |
| Value.x is: 5 |
| Continue value: 6 |
| New Index key for primary key 5 is 106 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 6 |
| Primary key is: 6 |
| Value.x is: 6 |
| Continue value: 7 |
| cursor.continue() |
| Expecting exception deleting primary key 6 which currently has Index key 6 |
| Expecting exception from cursor.delete() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'delete' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| cursor = event.target.result |
| |
| Index key is: 7 |
| Primary key is: 7 |
| Value.x is: 7 |
| Continue value: 8 |
| New Index key for primary key 7 is 108 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 8 |
| Primary key is: 8 |
| Value.x is: 8 |
| Continue value: 9 |
| Deleting primary key 8 which currently has Index key 8 |
| cursor.delete() |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 9 |
| Primary key is: 9 |
| Value.x is: 9 |
| Continue value: 10 |
| New Index key for primary key 9 is 110 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 10 |
| Primary key is: 10 |
| Value.x is: 10 |
| Continue value: 11 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 11 |
| Primary key is: 11 |
| Value.x is: 11 |
| Continue value: 12 |
| New Index key for primary key 11 is 112 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 12 |
| Primary key is: 12 |
| Value.x is: 12 |
| Continue value: 13 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 13 |
| Primary key is: 13 |
| Value.x is: 13 |
| Continue value: 14 |
| New Index key for primary key 13 is 114 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 14 |
| Primary key is: 14 |
| Value.x is: 14 |
| Continue value: 15 |
| Deleting primary key 14 which currently has Index key 14 |
| cursor.delete() |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 15 |
| Primary key is: 15 |
| Value.x is: 15 |
| Continue value: 16 |
| New Index key for primary key 15 is 116 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 16 |
| Primary key is: 16 |
| Value.x is: 16 |
| Continue value: 17 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 17 |
| Primary key is: 17 |
| Value.x is: 17 |
| Continue value: 18 |
| New Index key for primary key 17 is 118 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 18 |
| Primary key is: 18 |
| Value.x is: 18 |
| Continue value: 19 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 19 |
| Primary key is: 19 |
| Value.x is: 19 |
| Continue value: 20 |
| New Index key for primary key 19 is 120 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 20 |
| Primary key is: 20 |
| Value.x is: 20 |
| Continue value: 21 |
| Deleting primary key 20 which currently has Index key 20 |
| cursor.delete() |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 21 |
| Primary key is: 21 |
| Value.x is: 21 |
| Continue value: 22 |
| New Index key for primary key 21 is 122 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 22 |
| Primary key is: 22 |
| Value.x is: 22 |
| Continue value: 23 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 23 |
| Primary key is: 23 |
| Value.x is: 23 |
| Continue value: 24 |
| New Index key for primary key 23 is 124 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 24 |
| Primary key is: 24 |
| Value.x is: 24 |
| Continue value: 25 |
| cursor.continue() |
| Expecting exception setting new Index key for primary key 24 to 125 |
| Expecting exception from cursor.update({ x: 100 + self.continueValue}) |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'update' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| cursor = event.target.result |
| |
| Index key is: 102 |
| Primary key is: 1 |
| Value.x is: 102 |
| Continue value: 26 |
| New Index key for primary key 1 is 126 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 104 |
| Primary key is: 3 |
| Value.x is: 104 |
| Continue value: 27 |
| Deleting primary key 3 which currently has Index key 104 |
| cursor.delete() |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 106 |
| Primary key is: 5 |
| Value.x is: 106 |
| Continue value: 28 |
| New Index key for primary key 5 is 128 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 108 |
| Primary key is: 7 |
| Value.x is: 108 |
| Continue value: 29 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 110 |
| Primary key is: 9 |
| Value.x is: 110 |
| Continue value: 30 |
| New Index key for primary key 9 is 130 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 112 |
| Primary key is: 11 |
| Value.x is: 112 |
| Continue value: 31 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 114 |
| Primary key is: 13 |
| Value.x is: 114 |
| Continue value: 32 |
| New Index key for primary key 13 is 132 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 116 |
| Primary key is: 15 |
| Value.x is: 116 |
| Continue value: 33 |
| Deleting primary key 15 which currently has Index key 116 |
| cursor.delete() |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 118 |
| Primary key is: 17 |
| Value.x is: 118 |
| Continue value: 34 |
| New Index key for primary key 17 is 134 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 120 |
| Primary key is: 19 |
| Value.x is: 120 |
| Continue value: 35 |
| cursor.continue() |
| Expecting exception setting new Index key for primary key 19 to 135 |
| Expecting exception from cursor.update({ x: 100 + self.continueValue}) |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'update' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| cursor = event.target.result |
| |
| Index key is: 122 |
| Primary key is: 21 |
| Value.x is: 122 |
| Continue value: 36 |
| New Index key for primary key 21 is 136 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 124 |
| Primary key is: 23 |
| Value.x is: 124 |
| Continue value: 37 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 126 |
| Primary key is: 1 |
| Value.x is: 126 |
| Continue value: 38 |
| New Index key for primary key 1 is 138 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 128 |
| Primary key is: 5 |
| Value.x is: 128 |
| Continue value: 39 |
| Deleting primary key 5 which currently has Index key 128 |
| cursor.delete() |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 130 |
| Primary key is: 9 |
| Value.x is: 130 |
| Continue value: 40 |
| New Index key for primary key 9 is 140 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 132 |
| Primary key is: 13 |
| Value.x is: 132 |
| Continue value: 41 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 134 |
| Primary key is: 17 |
| Value.x is: 134 |
| Continue value: 42 |
| New Index key for primary key 17 is 142 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 136 |
| Primary key is: 21 |
| Value.x is: 136 |
| Continue value: 43 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 138 |
| Primary key is: 1 |
| Value.x is: 138 |
| Continue value: 44 |
| New Index key for primary key 1 is 144 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 140 |
| Primary key is: 9 |
| Value.x is: 140 |
| Continue value: 45 |
| Deleting primary key 9 which currently has Index key 140 |
| cursor.delete() |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 142 |
| Primary key is: 17 |
| Value.x is: 142 |
| Continue value: 46 |
| New Index key for primary key 17 is 146 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 144 |
| Primary key is: 1 |
| Value.x is: 144 |
| Continue value: 47 |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 146 |
| Primary key is: 17 |
| Value.x is: 146 |
| Continue value: 48 |
| New Index key for primary key 17 is 148 |
| cursor.update({ x: 100 + self.continueValue }) |
| cursor.continue() |
| cursor = event.target.result |
| |
| Index key is: 148 |
| Primary key is: 17 |
| Value.x is: 148 |
| Continue value: 49 |
| cursor.continue() |
| Expecting exception deleting primary key 17 which currently has Index key 148 |
| Expecting exception from cursor.delete() |
| PASS Exception was thrown. |
| PASS code is DOMException.INVALID_STATE_ERR |
| Exception message: Failed to execute 'delete' on 'IDBCursor': The cursor is being iterated or has iterated past its end. |
| cursor = event.target.result |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |