1Test IndexedDB's cursor skips deleted entries. 2 3On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". 4 5 6webkitIndexedDB.open('cursor-skip-deleted') 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('store', {keyPath: 'id'}) 14objectStore.createIndex('nameIndex', 'name') 15 16resetObjectStore(): 17 18basicCursorTest() 19trans = db.transaction([], webkitIDBTransaction.READ_WRITE) 20 21testCursor(): 22trans.objectStore('store').openCursor(webkitIDBKeyRange.lowerBound(0)) 230: Alpha 241: Bravo 25request = trans.objectStore('store').delete(0) 262: Charlie 27request = trans.objectStore('store').delete(25) 283: Delta 29request = trans.objectStore('store').delete(5) 30request = trans.objectStore('store').delete(6) 31request = trans.objectStore('store').delete(7) 324: Echo 338: India 349: Juliet 3510: Kilo 36request = trans.objectStore('store').delete(10) 3711: Lima 3812: Mike 39request = trans.objectStore('store').delete(13) 4014: Oscar 4115: Papa 42request = trans.objectStore('store').delete(14) 4316: Quebec 4417: Romeo 4518: Sierra 4619: Tango 4720: Uniform 48request = trans.objectStore('store').delete(17) 49request = trans.objectStore('store').delete(18) 5021: Victor 5122: Whiskey 5223: X-ray 5324: Yankee 54 55 56resetObjectStore(): 57 58reverseCursorTest(): 59 60testCursor(): 61trans.objectStore('store').openCursor(webkitIDBKeyRange.lowerBound(0), webkitIDBCursor.PREV) 6225: Zulu 6324: Yankee 64request = trans.objectStore('store').delete(25) 6523: X-ray 66request = trans.objectStore('store').delete(0) 6722: Whiskey 68request = trans.objectStore('store').delete(20) 69request = trans.objectStore('store').delete(19) 70request = trans.objectStore('store').delete(18) 7121: Victor 7217: Romeo 7316: Quebec 7415: Papa 75request = trans.objectStore('store').delete(15) 7614: Oscar 7713: November 78request = trans.objectStore('store').delete(12) 7911: Lima 8010: Kilo 81request = trans.objectStore('store').delete(11) 829: Juliet 838: India 847: Hotel 856: Golf 865: Foxtrot 87request = trans.objectStore('store').delete(7) 88request = trans.objectStore('store').delete(8) 894: Echo 903: Delta 912: Charlie 921: Bravo 93 94 95resetObjectStore(): 96 97indexCursorTest(): 98 99testCursor(): 100trans.objectStore('store').index('nameIndex').openCursor(webkitIDBKeyRange.lowerBound('Alpha')) 1010: Alpha 1021: Bravo 103request = trans.objectStore('store').delete(0) 1042: Charlie 105request = trans.objectStore('store').delete(25) 1063: Delta 107request = trans.objectStore('store').delete(5) 108request = trans.objectStore('store').delete(6) 109request = trans.objectStore('store').delete(7) 1104: Echo 1118: India 1129: Juliet 11310: Kilo 114request = trans.objectStore('store').delete(10) 11511: Lima 11612: Mike 117request = trans.objectStore('store').delete(13) 11814: Oscar 11915: Papa 120request = trans.objectStore('store').delete(14) 12116: Quebec 12217: Romeo 12318: Sierra 12419: Tango 12520: Uniform 126request = trans.objectStore('store').delete(17) 127request = trans.objectStore('store').delete(18) 12821: Victor 12922: Whiskey 13023: X-ray 13124: Yankee 132 133transactionComplete(): 134PASS successfullyParsed is true 135 136TEST COMPLETE 137 138