<!doctype html>
<meta charset=utf-8>
<title>IndexedDB: IDBIndex getAllKeys() uses [EnforceRange]</title>
<link rel="help" href="https://w3c.github.io/IndexedDB/#index-interface">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support.js"></script>
<script>

indexeddb_test(
  (t, db) => {
    const store = db.createObjectStore('store');
    const index = store.createIndex('index', 'keyPath');
  },
  (t, db) => {
    const tx = db.transaction('store');
    const store = tx.objectStore('store');
    const index = store.index('index');
    [NaN, Infinity, -Infinity, -1, -Number.MAX_SAFE_INTEGER].forEach(count => {
      assert_throws(TypeError(), () => { index.getAllKeys(null, count); },
                    `getAllKeys with count ${count} count should throw TypeError`);
    });
    t.done();
  },
  `IDBIndex.getAllKeys() uses [EnforceRange]`
);
</script>
