1Test IndexedDB's openCursor. 2 3On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 5 6webkitIndexedDB.open('cursor-index-delete') 7db = event.target.result 8db.setVersion('new version') 9setVersionSuccess(): 10trans = event.target.result 11PASS trans !== null is true 12Deleted all object stores. 13objectStore = db.createObjectStore('test') 14objectStore.createIndex('testIndex', 'x') 15objectStore.add({x: 1}, 'myKey1') 16objectStore.add({x: 2}, 'myKey2') 17objectStore.add({x: 3}, 'myKey3') 18objectStore.add({x: 4}, 'myKey4') 19openCursor1 20trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE) 21trans.objectStore('test').index('testIndex').openCursor(keyRange) 22event.target.result.delete() 23PASS event.target.result.key is counter++ 24event.target.result.continue() 25event.target.result.delete() 26PASS event.target.result.key is counter++ 27event.target.result.continue() 28event.target.result.delete() 29PASS event.target.result.key is counter++ 30event.target.result.continue() 31event.target.result.delete() 32PASS event.target.result.key is counter++ 33event.target.result.continue() 34PASS counter is 5 35trans.objectStore('test').index('testIndex').openCursor(keyRange) 36PASS event.target.result is null 37trans = db.transaction(['test'], webkitIDBTransaction.READ_WRITE) 38objectStore = trans.objectStore('test') 39objectStore.add({x: 1}, 'myKey1') 40openCursor2 41index = event.target.source.index('testIndex') 42index.openCursor(keyRange) 43PASS [object IDBCursorWithValue] is non-null. 44event.target.result.delete() 45index.get(1) 46event.preventDefault() 47PASS successfullyParsed is true 48 49TEST COMPLETE 50 51