diff options
Diffstat (limited to 'LayoutTests/storage/indexeddb/script-tests/idb-objectstore-request.js')
-rw-r--r-- | LayoutTests/storage/indexeddb/script-tests/idb-objectstore-request.js | 52 |
1 files changed, 44 insertions, 8 deletions
diff --git a/LayoutTests/storage/indexeddb/script-tests/idb-objectstore-request.js b/LayoutTests/storage/indexeddb/script-tests/idb-objectstore-request.js index 031ece6..045db12 100644 --- a/LayoutTests/storage/indexeddb/script-tests/idb-objectstore-request.js +++ b/LayoutTests/storage/indexeddb/script-tests/idb-objectstore-request.js @@ -4,7 +4,7 @@ if (window.layoutTestController) function test() { - result = indexedDB.open('name', 'description'); + result = evalAndLog("indexedDB.open('name', 'description')"); verifyResult(result); result.onsuccess = openSuccess; result.onerror = unexpectedErrorCallback; @@ -12,17 +12,14 @@ function test() function openSuccess() { + debug("openSuccess():"); verifySuccessEvent(event); - var db = evalAndLog("db = event.result"); - createObjectStore(db); -} -function createObjectStore(db) -{ // FIXME: remove any previously created object stores. // This requires IDBDatabaseRequest::removeObjectStore to be implemented. - result = db.createObjectStore('storeName', 'keyPath'); + + result = evalAndLog("db.createObjectStore('storeName', null)"); verifyResult(result); result.onsuccess = createSuccess; result.onerror = unexpectedErrorCallback; @@ -30,12 +27,51 @@ function createObjectStore(db) function createSuccess() { + debug("createSuccess():"); verifySuccessEvent(event); var store = evalAndLog("store = event.result"); + shouldBeEqualToString("store.name", "storeName"); - shouldBeEqualToString("store.keyPath", "keyPath"); + shouldBeNull("store.keyPath"); // FIXME: test store.indexNames, as well as all object store's methods. + result = evalAndLog("store.add('value', 'key')"); + verifyResult(result); + result.onsuccess = addSuccess; + result.onerror = unexpectedErrorCallback; +} + +function addSuccess() +{ + debug("addSuccess():"); + verifySuccessEvent(event); + shouldBeEqualToString("event.result", "key"); + var store = evalAndLog("store = event.source"); + + result = evalAndLog("store.get('key')"); + verifyResult(result); + result.onsuccess = getSuccess; + result.onerror = unexpectedErrorCallback; +} + +function getSuccess() +{ + debug("getSuccess():"); + verifySuccessEvent(event); + shouldBeEqualToString("event.result", "value"); + var store = evalAndLog("store = event.source"); + + result = evalAndLog("store.remove('key')"); + verifyResult(result); + result.onsuccess = removeSuccess; + result.onerror = unexpectedErrorCallback; +} + +function removeSuccess() +{ + debug("removeSuccess():"); + verifySuccessEvent(event); + shouldBeNull("event.result"); done(); } |