Test the basics of IndexedDB's webkitIDBIndex. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". webkitIndexedDB.open('index-basics') db = event.target.result db.setVersion('new version') setVersionSuccess(): trans = event.target.result PASS trans !== null is true Deleted all object stores. db.createObjectStore('storeName', null) store.createIndex('indexName', 'x') store.createIndex('indexName2', 'y', false) store.createIndex('zIndex', 'z', true) PASS 'name' in indexObject is true PASS indexObject.name is "indexName" PASS 'objectStore' in indexObject is true PASS indexObject.objectStore.name is "storeName" PASS 'keyPath' in indexObject is true PASS indexObject.keyPath is "x" PASS 'unique' in indexObject is true PASS indexObject.unique is false PASS 'openKeyCursor' in indexObject is true PASS 'openCursor' in indexObject is true PASS 'getKey' in indexObject is true PASS 'get' in indexObject is true store.add({x: 'value', y: 'zzz', z: 2.72}, 'key') event.target.source.add({x: 'value2', y: 'zzz2', z: 2.71}, 'key2') store.createIndex('indexWhileAddIsInFlight', 'x') indexObject.getKey('value') PASS event.target.result is "key" indexObject2.getKey('zzz') PASS event.target.result is "key" indexObject3.get(2.71) PASS event.target.result.x is "value2" indexObject.get('value') PASS event.target.result.x is "value" PASS event.target.result.y is "zzz" indexObject.getKey('does not exist') PASS event.target.errorCode is webkitIDBDatabaseException.NOT_FOUND_ERR event.preventDefault() indexObject.get('does not exist') PASS event.target.errorCode is webkitIDBDatabaseException.NOT_FOUND_ERR event.preventDefault() indexObject4.getKey('value2') PASS event.target.result is "key2" indexObject.openKeyCursor() PASS event.target.source is indexObject PASS event.target.result === null is false PASS event.target.result.key is "value" PASS event.target.result.primaryKey is "key" event.target.result.continue() PASS event.target.result === null is false PASS event.target.result.key is "value2" PASS event.target.result.primaryKey is "key2" event.target.result.continue() PASS event.target.result === null is true indexObject.openCursor() PASS event.target.source is indexObject PASS event.target.result === null is false PASS event.target.result.key is "value" PASS event.target.result.value.x is "value" PASS event.target.result.value.y is "zzz" event.target.result.continue() PASS event.target.result === null is false PASS event.target.result.key is "value2" PASS event.target.result.value.x is "value2" PASS event.target.result.value.y is "zzz2" event.target.result.continue() PASS event.target.result === null is true Passing an invalid key into indexObject.get(). PASS Caught exception: Error: TYPE_MISMATCH_ERR: DOM Exception 17 Passing an invalid key into indexObject.getKey(). PASS Caught exception: Error: TYPE_MISMATCH_ERR: DOM Exception 17 PASS successfullyParsed is true TEST COMPLETE