Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / imported / web-platform-tests / IndexedDB / idbobjectstore_add8.htm
1 <!DOCTYPE html>
2 <meta charset="utf-8">
3 <title>IDBObjectStore.add() - object store has autoIncrement:true and the key path is an object attribute </title>
4 <link rel="author" title="Microsoft" href="http://www.microsoft.com">
5 <script src="../../../resources/testharness.js"></script>
6 <script src="../../../resources/testharnessreport.js"></script>
7 <script src="support.js"></script>
8
9 <script>
10     var db,
11       t = async_test(),
12       record = { property: "data" },
13       expected_keys = [ 1, 2, 3, 4 ];
14
15     var open_rq = createdb(t);
16     open_rq.onupgradeneeded = function(e) {
17         db = e.target.result;
18         var objStore = db.createObjectStore("store", { keyPath: "test.obj.key", autoIncrement: true });
19
20         objStore.add(record);
21         objStore.add(record);
22         objStore.add(record);
23         objStore.add(record);
24     };
25
26     open_rq.onsuccess = function(e) {
27         var actual_keys = [],
28           rq = db.transaction("store")
29                  .objectStore("store")
30                  .openCursor();
31
32         rq.onsuccess = t.step_func(function(e) {
33             var cursor = e.target.result;
34
35             if (cursor) {
36                 actual_keys.push(cursor.value.test.obj.key);
37                 cursor.continue();
38             }
39             else {
40                 assert_array_equals(actual_keys, expected_keys);
41                 t.done();
42             }
43         });
44     };
45 </script>
46
47 <div id="log"></div>