<!DOCTYPE html> <title>IDBCursor.continue() - objectstore - delete next element, and iterate to it</title> <link rel="author" href="mailto:odinho@opera.com" title="Odin Hørthe Omdal"> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <script src="support.js"></script> <script> var db, count = 0, t = async_test(document.title, {timeout: 10000}), records = [ { pKey: "primaryKey_0" }, { pKey: "primaryKey_1" }, { pKey: "primaryKey_2" } ], expected_records = [ { pKey: "primaryKey_0" }, { pKey: "primaryKey_2" }]; var open_rq = createdb(t); open_rq.onupgradeneeded = function(e) { db = e.target.result; var objStore = db.createObjectStore("test", {keyPath:"pKey"}); for (var i = 0; i < records.length; i++) objStore.add(records[i]); }; open_rq.onsuccess = function(e) { var cursor_rq = db.transaction("test", "readwrite") .objectStore("test") .openCursor(); cursor_rq.onsuccess = t.step_func(function(e) { var cursor = e.target.result; if (!cursor) { assert_equals(count, 2, "cursor run count"); t.done(); } var record = cursor.value; if (record.pKey == "primaryKey_0") { e.target.source.delete("primaryKey_1"); } assert_equals(record.pKey, expected_records[count].pKey, "primary key"); cursor.continue(); count++; }); }; </script> <div id="log"> </div>