Sync web-platform-tests up to revision a5b95cb31914507088a4eda16f7674bbc6f3313f
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / IndexedDB / idbcursor_continue_objectstore.htm
1 <!DOCTYPE html>
2 <title>IDBCursor.continue() - object store - iterate to the next 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>
7
8 <script>
9     var db,
10       count = 0,
11       t = async_test(),
12       records = [ { pKey: "primaryKey_0" },
13                   { pKey: "primaryKey_1" } ];
14
15     var open_rq = createdb(t);
16     open_rq.onupgradeneeded = function(e) {
17         db = e.target.result;
18         var objStore = db.createObjectStore("test", {autoIncrement:true, keyPath:"pKey"});
19
20         for (var i = 0; i < records.length; i++)
21             objStore.add(records[i]);
22     };
23
24     open_rq.onsuccess = function(e) {
25         var store = db.transaction("test")
26                       .objectStore("test");
27
28         var cursor_rq = store.openCursor();
29         cursor_rq.onsuccess = t.step_func(function(e) {
30             var cursor = e.target.result;
31             if (!cursor) {
32                 assert_equals(count, records.length, "cursor run count");
33                 t.done();
34             }
35
36             var record = cursor.value;
37             assert_equals(record.pKey, records[count].pKey, "primary key");
38             assert_equals(record.iKey, records[count].iKey, "index key");
39
40             cursor.continue();
41             count++;
42         });
43     };
44 </script>
45
46 <div id=log> </div>