Test IndexedDB readyState property during different operations

On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".

dbname = "readyState.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
PASS openRequest.readyState is 'done'
objectStore = db.createObjectStore('foo');
key = 10;
request = objectStore.add({}, key);
PASS request.readyState is 'pending'
getRecord():
PASS request.readyState is 'done'
PASS event.target.result is key
request = objectStore.get(key);
PASS request.readyState is 'pending'
finalCheck():
PASS request.readyState is 'done'
PASS event.target.result == null is false
checkReadyStateInOpen():
PASS event.target is openRequest
PASS openRequest.readyState is "done"
PASS successfullyParsed is true

TEST COMPLETE

