| Test IndexedDB cursor behavior |
| |
| 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('autoIncrement', { autoIncrement: true }); |
| request = objectStore.openCursor(); |
| PASS event.target.result is null |
| db.createObjectStore('autoIncrementKeyPath', { keyPath: 'foo', autoIncrement: true }); |
| request = objectStore.openCursor(); |
| PASS event.target.result is null |
| db.createObjectStore('keyPath', { keyPath: 'foo' }); |
| request = objectStore.openCursor(); |
| PASS event.target.result is null |
| db.createObjectStore('foo'); |
| request = objectStore.openCursor(); |
| PASS event.target.result is null |
| keys = [1, -1, 0, 10, 2000, 'q', 'z', 'two', 'b', 'a']; |
| sortedKeys = [-1, 0, 1, 10, 2000, 'a', 'b', 'q', 'two', 'z']; |
| keyIndex = 0; |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.add('foo', keys[i]); |
| request = objectStore.openCursor(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| 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 sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS keyIndex is keys.length |
| keyIndex = 4; |
| range = IDBKeyRange.bound(2000, 'q'); |
| request = objectStore.openCursor(range); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor = event.target.result; |
| PASS keyIndex is 8 |
| request = objectStore.openCursor(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue('b'); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 6; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 6; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 6; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 6; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 6; |
| cursor = event.target.result; |
| PASS keyIndex is keys.length |
| keyIndex = 0; |
| request = objectStore.openCursor(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(10); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 3; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 3; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 3; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 3; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 3; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 3; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 3; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1: 3; |
| cursor = event.target.result; |
| PASS keyIndex is keys.length |
| keyIndex = 0; |
| request = objectStore.openCursor(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue('c'); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1 : 7; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1 : 7; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1 : 7; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex += keyIndex ? 1 : 7; |
| cursor = event.target.result; |
| PASS keyIndex is keys.length |
| keyIndex = 0; |
| request = objectStore.openCursor(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| request = cursor.update('bar'); |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS keyIndex is keys.length |
| request = objectStore.get(sortedKeys[4]); |
| PASS event.target.result is 'bar' |
| request = objectStore.put('foo', sortedKeys[4]); |
| keyIndex = 0; |
| request = objectStore.openCursor(null, 'next'); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| request = cursor.delete(); |
| keyIndex++; |
| cursor.continue(); |
| PASS keyIndex is 5 |
| gotRemoveEvent = true; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex++; |
| cursor.continue(); |
| cursor = event.target.result; |
| PASS keyIndex is keys.length |
| PASS gotRemoveEvent is true |
| request = objectStore.get(sortedKeys[4]); |
| PASS event.target.result is undefined |
| request = objectStore.add('foo', sortedKeys[4]); |
| request = objectStore.openCursor(null, 'prev'); |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| cursor.continue(); |
| PASS cursor.key is sortedKeys[keyIndex] |
| PASS cursor.primaryKey is sortedKeys[keyIndex] |
| PASS cursor.value is 'foo' |
| keyIndex--; |
| cursor = event.target.result; |
| PASS keyIndex is -1 |
| PASS successfullyParsed is true |
| |
| TEST COMPLETE |
| |