Test IndexedDB undefined as record value

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

dbname = "value-undefined.html"
indexedDB.deleteDatabase(dbname)
indexedDB.open(dbname)
objectStore = db.createObjectStore('foo');
result = objectStore.add(undefined, Infinity);
result = objectStore.get(Infinity);
value = event.target.result;
PASS value is undefined
result = objectStore.openCursor();
cursor = event.target.result;
PASS cursor.key is Infinity
PASS cursor.value is undefined
PASS successfullyParsed is true

TEST COMPLETE

