|  | <!DOCTYPE html> | 
|  | <meta charset="utf-8"> | 
|  | <title>IDBObjectStore.put() - autoIncrement and inline keys </title> | 
|  | <link rel="author" title="Microsoft" href="http://www.microsoft.com"> | 
|  | <script src="/resources/testharness.js"></script> | 
|  | <script src="/resources/testharnessreport.js"></script> | 
|  | <script src="support.js"></script> | 
|  |  | 
|  | <script> | 
|  | var db, | 
|  | t = async_test(), | 
|  | record = { property: "data" }, | 
|  | expected_keys = [ 1, 2, 3, 4 ]; | 
|  |  | 
|  | var open_rq = createdb(t); | 
|  | open_rq.onupgradeneeded = function(e) { | 
|  | db = e.target.result; | 
|  | var objStore = db.createObjectStore("store", { keyPath: "key", autoIncrement: true }); | 
|  |  | 
|  | objStore.put(record); | 
|  | objStore.put(record); | 
|  | objStore.put(record); | 
|  | objStore.put(record); | 
|  | }; | 
|  |  | 
|  | open_rq.onsuccess = function(e) { | 
|  | var actual_keys = [], | 
|  | rq = db.transaction("store") | 
|  | .objectStore("store") | 
|  | .openCursor(); | 
|  |  | 
|  | rq.onsuccess = t.step_func(function(e) { | 
|  | var cursor = e.target.result; | 
|  |  | 
|  | if (cursor) { | 
|  | actual_keys.push(cursor.value.key); | 
|  | cursor.continue(); | 
|  | } | 
|  | else { | 
|  | assert_array_equals(actual_keys, expected_keys); | 
|  | t.done(); | 
|  | } | 
|  | }); | 
|  | }; | 
|  | </script> | 
|  |  | 
|  | <div id="log"></div> |