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(); }