// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. function cursorSuccess() { debug("Cursor opened successfully.") // FIXME: check that we can iterate the cursor. shouldBe("event.target.result.direction", "'next'"); shouldBe("event.target.result.key", "'myKey' + count"); shouldBe("event.target.result.value.keyPath", "'myKey' + count"); shouldBe("event.target.result.value.value", "'myValue' + count"); if (++count >= 5) done(); else openCursor(); } function openCursor() { debug("Opening cursor #" + count); keyRange = webkitIDBKeyRange.lowerBound("myKey" + count); request = objectStore.openCursor(keyRange); request.onsuccess = cursorSuccess; request.onerror = unexpectedErrorCallback; } function populateObjectStore() { debug("Populating object store #" + count); obj = {'keyPath': 'myKey' + count, 'value': 'myValue' + count}; request = objectStore.add(obj); request.onerror = unexpectedErrorCallback; if (++count >= 5) { count = 0; request.onsuccess = openCursor; } else { request.onsuccess = populateObjectStore; } } function createObjectStore() { debug('createObjectStore'); db = event.target.result; window.objectStore = db.createObjectStore('test', {keyPath: 'keyPath'}); count = 0; populateObjectStore(); } function test() { indexedDBTest(createObjectStore); }