4 <script src="../../fast/js/resources/js-test-pre.js"></script>
5 <script src="resources/shared.js"></script>
8 <p id="description"></p>
9 <div id="console"></div>
12 description("Test IndexedDB cursor.update required arguments");
13 if (window.layoutTestController)
14 layoutTestController.waitUntilDone();
18 indexedDB = evalAndLog("indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB;");
19 shouldBeFalse("indexedDB == null");
20 IDBDatabaseException = evalAndLog("IDBDatabaseException = window.IDBDatabaseException || window.webkitIDBDatabaseException;");
21 shouldBeFalse("IDBDatabaseException == null");
22 IDBCursor = evalAndLog("IDBCursor = window.IDBCursor || window.webkitIDBCursor;");
23 shouldBeFalse("IDBCursor == null");
24 IDBKeyRange = evalAndLog("IDBKeyRange = window.IDBKeyRange || window.webkitIDBKeyRange;");
25 shouldBeFalse("IDBKeyRange == null");
27 name = window.location.pathname;
28 description = "My Test Database";
29 request = evalAndLog("indexedDB.open(name, description)");
30 request.onsuccess = openSuccess;
31 request.onerror = unexpectedErrorCallback;
34 function openSuccess()
36 db = evalAndLog("db = event.target.result");
38 request = evalAndLog("request = db.setVersion('1')");
39 request.onsuccess = testGroup1;
40 request.onerror = unexpectedErrorCallback;
45 deleteAllObjectStores(db);
47 objectStore = evalAndLog("db.createObjectStore('autoIncrement', { autoIncrement: true });");
49 request = evalAndLog("request = objectStore.openCursor();");
50 request.onerror = unexpectedErrorCallback;
51 request.onsuccess = function (event) {
58 keys = evalAndLog("keys = [1, -1, 0, 10, 2000, 'q', 'z', 'two', 'b', 'a'];");
60 keyIndex = evalAndLog("keyIndex = 0;");
63 request = evalAndLog("request = objectStore.add('foo', keys[i]);");
64 request.onerror = unexpectedErrorCallback;
65 request.onsuccess = function(event) {
66 if (++keyIndex == keys.length) {
75 request = evalAndLog("request = objectStore.openCursor();");
76 request.onerror = unexpectedErrorCallback;
77 request.onsuccess = function (event) {
78 cursor = evalAndLog("cursor = event.target.result;");
80 shouldThrow("cursor.update();");
82 testFailed("cursor was null");