Verify that you can put the same data in 2 different databases without uniqueness constraints firing. On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". webkitIndexedDB.open('name') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE db = event.result db.setVersion('new version') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... setVersionSuccess(): 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE trans = event.result PASS trans !== null is true Deleted all object stores. db.createObjectStore('storeName', null) store.createIndex('indexName', 'x') store.add({x: 'value', y: 'zzz'}, 'key') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE event.source.add({x: 'value2', y: 'zzz2'}, 'key2') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE indexObject.getKey('value') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result is "key" indexObject.get('value') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result.x is "value" PASS event.result.y is "zzz" indexObject.getKey('does not exist') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR indexObject.get('does not exist') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR indexObject.openKeyCursor() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is false PASS event.result.key is "value" PASS event.result.value is "key" event.result.continue() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is false PASS event.result.key is "value2" PASS event.result.value is "key2" event.result.continue() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is true indexObject.openCursor() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is false PASS event.result.key is "value" PASS event.result.value.x is "value" PASS event.result.value.y is "zzz" event.result.continue() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is false PASS event.result.key is "value2" PASS event.result.value.x is "value2" PASS event.result.value.y is "zzz2" event.result.continue() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is true webkitIndexedDB.open('name2') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE db = event.result db.setVersion('new version') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... setVersionSuccess(): 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE trans = event.result PASS trans !== null is true Deleted all object stores. db.createObjectStore('storeName', null) store.createIndex('indexName', 'x') store.add({x: 'value', y: 'zzz'}, 'key') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE event.source.add({x: 'value2', y: 'zzz2'}, 'key2') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE indexObject.getKey('value') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result is "key" indexObject.get('value') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result.x is "value" PASS event.result.y is "zzz" indexObject.getKey('does not exist') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR indexObject.get('does not exist') PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.code is webkitIDBDatabaseException.NOT_FOUND_ERR indexObject.openKeyCursor() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is false PASS event.result.key is "value" PASS event.result.value is "key" event.result.continue() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is false PASS event.result.key is "value2" PASS event.result.value is "key2" event.result.continue() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is true indexObject.openCursor() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is false PASS event.result.key is "value" PASS event.result.value.x is "value" PASS event.result.value.y is "zzz" event.result.continue() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is false PASS event.result.key is "value2" PASS event.result.value.x is "value2" PASS event.result.value.y is "zzz2" event.result.continue() PASS 'onsuccess' in result is true PASS 'onerror' in result is true PASS 'readyState' in result is true An event should fire shortly... 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 'readyState' in event.target is true PASS event.target.readyState is event.target.DONE PASS event.result === null is true PASS successfullyParsed is true TEST COMPLETE