| <!DOCTYPE html> |
| <meta charset=utf-8> |
| <title>IDBObjectStore.createIndex() - AutoIncrement in Compound Index</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="support.js"></script> |
| <script> |
| indexeddb_test( |
| function(t, db, txn) { |
| // No auto-increment |
| var store = db.createObjectStore("Store1", {keyPath: "id"}); |
| store.createIndex("CompoundKey", ["num", "id"]); |
| |
| // Add data |
| store.put({id: 1, num: 100}); |
| }, |
| function(t, db) { |
| var store = db.transaction("Store1", "readwrite").objectStore("Store1"); |
| |
| store.openCursor().onsuccess = t.step_func(function(e) { |
| var item = e.target.result.value; |
| store.index("CompoundKey").get([item.num, item.id]).onsuccess = t.step_func(function(e) { |
| assert_equals(e.target.result ? e.target.result.num : null, 100, 'Expected 100.'); |
| t.done(); |
| }); |
| }); |
| }, |
| "Explicit Primary Key" |
| ); |
| |
| indexeddb_test( |
| function(t, db, txn) { |
| // Auto-increment |
| var store = db.createObjectStore("Store2", {keyPath: "id", autoIncrement: true}); |
| store.createIndex("CompoundKey", ["num", "id"]); |
| |
| // Add data |
| store.put({num: 100}); |
| }, |
| function(t, db) { |
| var store = db.transaction("Store2", "readwrite").objectStore("Store2"); |
| store.openCursor().onsuccess = t.step_func(function(e) { |
| var item = e.target.result.value; |
| store.index("CompoundKey").get([item.num, item.id]).onsuccess = t.step_func(function(e) { |
| assert_equals(e.target.result ? e.target.result.num : null, 100, 'Expected 100.'); |
| t.done(); |
| }); |
| }); |
| }, |
| "Auto-Increment Primary Key" |
| ); |
| </script> |