
PASS IDBIndex.getAll() for an index on the autoincrement key 
PASS IDBIndex.getAllKeys() for an index on the autoincrement key 
PASS IDBIndex.get() for an index on the autoincrement key 
PASS IDBIndex.getAll() for an index not covering the autoincrement key 
PASS IDBIndex.getAllKeys() returns correct result for an index not covering the autoincrement key 
PASS IDBIndex.get() for an index not covering the autoincrement key 

