47 lines
1.2 KiB
JavaScript
47 lines
1.2 KiB
JavaScript
if (this.importScripts) {
|
|
importScripts('../../../resources/js-test.js');
|
|
importScripts('shared.js');
|
|
}
|
|
|
|
description("Test IndexedDB undefined as record value");
|
|
|
|
indexedDBTest(prepareDatabase);
|
|
function prepareDatabase()
|
|
{
|
|
db = event.target.result;
|
|
event.target.transaction.onabort = unexpectedAbortCallback;
|
|
|
|
objectStore = evalAndLog("objectStore = db.createObjectStore('foo');");
|
|
result = evalAndLog("result = objectStore.add(undefined, Infinity);");
|
|
result.onerror = unexpectedErrorCallback;
|
|
result.onsuccess = getValue;
|
|
}
|
|
|
|
function getValue()
|
|
{
|
|
result = evalAndLog("result = objectStore.get(Infinity);");
|
|
result.onerror = unexpectedErrorCallback;
|
|
result.onsuccess = checkValue;
|
|
}
|
|
|
|
function checkValue()
|
|
{
|
|
value = evalAndLog("value = event.target.result;");
|
|
shouldBe("value", "undefined");
|
|
result = evalAndLog("result = objectStore.openCursor();");
|
|
result.onerror = unexpectedErrorCallback;
|
|
result.onsuccess = checkCursor;
|
|
}
|
|
|
|
function checkCursor()
|
|
{
|
|
cursor = evalAndLog("cursor = event.target.result;");
|
|
if (cursor) {
|
|
shouldBe("cursor.key", "Infinity");
|
|
shouldBe("cursor.value", "undefined");
|
|
} else {
|
|
testFailed("cursor is null");
|
|
}
|
|
finishJSTest();
|
|
}
|