Test the basics of IndexedDB's IDBObjectStore. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". indexedDB.open('name', 'description') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'abort' in result is true PASS 'readyState' in result is true An event should fire shortly... openSuccess(): Success event fired: PASS 'result' in event is true PASS 'code' in event is false PASS 'message' in event is false PASS 'source' in event is true PASS event.source != null is true PASS 'onsuccess' in event.target is true PASS 'onerror' in event.target is true PASS 'abort' in event.target is true PASS 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE db = event.result db.createObjectStore('storeName', null) PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'abort' in result is true PASS 'readyState' in result is true An event should fire shortly... createSuccess(): Success event fired: PASS 'result' in event is true PASS 'code' in event is false PASS 'message' in event is false PASS 'source' in event is true PASS event.source != null is true PASS 'onsuccess' in event.target is true PASS 'onerror' in event.target is true PASS 'abort' in event.target is true PASS 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE store = event.result storeNames = db.objectStores PASS store.name is "storeName" PASS store.keyPath is null PASS storeNames.contains('storeName') is true PASS storeNames.length is 1 event.result.createIndex('indexName', 'x', true) PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'abort' in result is true PASS 'readyState' in result is true An event should fire shortly... addIndexSuccess(): Success event fired: PASS 'result' in event is true PASS 'code' in event is false PASS 'message' in event is false PASS 'source' in event is true PASS event.source != null is true PASS 'onsuccess' in event.target is true PASS 'onerror' in event.target is true PASS 'abort' in event.target is true PASS 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.source.indexNames.contains('indexName') is true event.source.add({x: 'value'}, 'key') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'abort' in result is true PASS 'readyState' in result is true An event should fire shortly... addSuccess(): Success event fired: PASS 'result' in event is true PASS 'code' in event is false PASS 'message' in event is false PASS 'source' in event is true PASS event.source != null is true PASS 'onsuccess' in event.target is true PASS 'onerror' in event.target is true PASS 'abort' in event.target is true PASS 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result is "key" event.source.add({x: 'value'}, 'zzz') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'abort' in result is true PASS 'readyState' in result is true An event should fire shortly... addAgainFailure(): Error event fired: PASS 'result' in event is false PASS 'code' in event is true PASS 'message' in event is true PASS 'source' in event is true PASS event.source != null is true PASS 'onsuccess' in event.target is true PASS 'onerror' in event.target is true PASS 'abort' in event.target is true PASS 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.code is IDBDatabaseException.UNKNOWN_ERR store = event.source store.get('key') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'abort' in result is true PASS 'readyState' in result is true An event should fire shortly... getSuccess(): Success event fired: PASS 'result' in event is true PASS 'code' in event is false PASS 'message' in event is false PASS 'source' in event is true PASS event.source != null is true PASS 'onsuccess' in event.target is true PASS 'onerror' in event.target is true PASS 'abort' in event.target is true PASS 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result.x is "value" store = event.source store.remove('key') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'abort' in result is true PASS 'readyState' in result is true An event should fire shortly... removeSuccess(): Success event fired: PASS 'result' in event is true PASS 'code' in event is false PASS 'message' in event is false PASS 'source' in event is true PASS event.source != null is true PASS 'onsuccess' in event.target is true PASS 'onerror' in event.target is true PASS 'abort' in event.target is true PASS 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result is null PASS successfullyParsed is true TEST COMPLETE