Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / storage / indexeddb / resources / value-undefined.js
blob05c47422a535594cc87a69d733c24b0ab4545d97
1 if (this.importScripts) {
2     importScripts('../../../resources/js-test.js');
3     importScripts('shared.js');
6 description("Test IndexedDB undefined as record value");
8 indexedDBTest(prepareDatabase);
9 function prepareDatabase()
11     db = event.target.result;
12     event.target.transaction.onabort = unexpectedAbortCallback;
14     objectStore = evalAndLog("objectStore = db.createObjectStore('foo');");
15     result = evalAndLog("result = objectStore.add(undefined, Infinity);");
16     result.onerror = unexpectedErrorCallback;
17     result.onsuccess = getValue;
20 function getValue()
22     result = evalAndLog("result = objectStore.get(Infinity);");
23     result.onerror = unexpectedErrorCallback;
24     result.onsuccess = checkValue;
27 function checkValue()
29     value = evalAndLog("value = event.target.result;");
30     shouldBe("value", "undefined");
31     result = evalAndLog("result = objectStore.openCursor();");
32     result.onerror = unexpectedErrorCallback;
33     result.onsuccess = checkCursor;
36 function checkCursor()
38     cursor = evalAndLog("cursor = event.target.result;");
39     if (cursor) {
40         shouldBe("cursor.key", "Infinity");
41         shouldBe("cursor.value", "undefined");
42     } else {
43         testFailed("cursor is null");
44     }
45     finishJSTest();