2 <title>IDBCursor.continue() - object store - attempt to iterate to the next record when the direction is set for the previous record </title>
3 <link rel="author" title="Microsoft" href="http://www.microsoft.com">
4 <script src="../../../resources/testharness.js"></script>
5 <script src="../../../resources/testharnessreport.js"></script>
6 <script src="support.js"></script>
11 records = [ { pKey: "primaryKey_0" },
12 { pKey: "primaryKey_1" },
13 { pKey: "primaryKey_2" } ];
15 var open_rq = createdb(t);
16 open_rq.onupgradeneeded = function(e) {
18 var objStore = db.createObjectStore("test", { keyPath: "pKey" });
20 for (var i = 0; i < records.length; i++)
21 objStore.add(records[i]);
24 open_rq.onsuccess = function(e) {
26 cursor_rq = db.transaction("test")
28 .openCursor(null, "prev");
30 cursor_rq.onsuccess = t.step_func(function(e) {
31 var cursor = e.target.result;
33 assert_true(cursor != null, "cursor exist");
37 assert_equals(cursor.value.pKey, records[2].pKey, "first cursor pkey");
38 cursor.continue(records[1].pKey);
42 assert_equals(cursor.value.pKey, records[1].pKey, "second cursor pkey");
43 assert_throws("DataError",
44 function() { cursor.continue(records[2].pKey); });
49 assert_unreached("Unexpected count value: " + count);