1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 function emptyCursorSuccess()
7 debug('Empty cursor opened successfully.');
11 function openEmptyCursor()
13 debug('Opening an empty cursor.');
14 keyRange = IDBKeyRange.lowerBound('InexistentKey');
15 request = objectStore.openCursor(keyRange);
16 request.onsuccess = emptyCursorSuccess;
17 request.onerror = unexpectedErrorCallback;
20 function cursorSuccess()
22 var cursor = event.target.result;
23 if (cursor === null) {
24 debug('Cursor reached end of range.');
29 debug('Cursor opened successfully.');
30 shouldBe("event.target.result.direction", "'next'");
31 shouldBe("event.target.result.key", "3.14");
32 shouldBe("event.target.result.value", "'myValue'");
37 function openCursor(objectStore)
39 debug('Opening cursor');
40 var keyRange = IDBKeyRange.lowerBound(3.12);
41 var request = objectStore.openCursor(keyRange);
42 request.onsuccess = cursorSuccess;
43 request.onerror = unexpectedErrorCallback;
46 function dataAddedSuccess()
49 openCursor(objectStore);
52 function populateObjectStore()
54 debug('Populating object store');
55 db = event.target.result;
56 deleteAllObjectStores(db);
57 window.objectStore = db.createObjectStore('test');
58 var request = objectStore.add('myValue', 3.14);
59 request.onsuccess = dataAddedSuccess;
60 request.onerror = unexpectedErrorCallback;
64 indexedDBTest(populateObjectStore);