https://github.com/web-platform-tests/wpt
Raw File
Tip revision: 7bed6bee0d70190e87bd48a71c81a1f6d79e8d97 authored by L. David Baron on 14 April 2018, 11:18:26 UTC
Sync Mozilla tests as of https://hg.mozilla.org/mozilla-central/rev/37b8862d354e0014a72715462dd2102dd5b599cc .
Tip revision: 7bed6be
idbobjectstore_createIndex15-autoincrement.htm
<!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>
back to top