<!doctype html>
<meta charset=utf-8>
<title>IndexedDB: IDBIndex getAll() 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.getAll(null, count); },
                    `getAll with count ${count} count should throw TypeError`);
    });
    t.done();
  },
  `IDBIndex.getAll() uses [EnforceRange]`
);
</script>
