mirror of
https://github.com/servo/servo.git
synced 2025-07-02 21:13:39 +01:00
52 lines
1.7 KiB
HTML
52 lines
1.7 KiB
HTML
<!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>
|