This directory contains test cases from the W3C Web Platform Tests suite for IndexedDB.

The original code for these tests can be found here: https://github.com/web-platform-tests/wpt/tree/master/IndexedDB

The following tests are intentionally not included:

- error-attributes.html (assumes we have a DOM)
- file_support.sub.html (assumes we have a DOM)
- fire-error-event-exception.html (ava can't test unhandled rejections)
- fire-success-event-exception.html (ava can't test unhandled rejections)
- fire-upgradeneeded-event-exception.html (ava can't test unhandled rejections)

Test todo:

bigint_value.htm
bindings-inject-keys-bypass-setters.html
bindings-inject-values-bypass-chain.html
bindings-inject-values-bypass-setters.html
blob-contenttype.any.js
blob-delete-objectstore-db.any.js
blob-valid-after-deletion.any.js
blob-valid-before-commit.any.js
clone-before-keypath-eval.html
delete-request-queue.html
get-databases.any.js
globalscope-indexedDB-SameObject.html
historical.html
idb_binary_key_conversion.htm
idb-binary-key-detached.htm
idb-binary-key-roundtrip.htm
idbcursor-advance-continue-async.htm
idbcursor-advance-exception-order.html
idbcursor_advance_index.htm
idbcursor-advance-invalid.htm
idbcursor_advance_objectstore2.htm
idbcursor_advance_objectstore3.htm
idbcursor_advance_objectstore4.htm
idbcursor_advance_objectstore5.htm
idbcursor_advance_objectstore.htm
idbcursor_continue_delete_objectstore.htm
idbcursor-continue-exception-order.htm
idbcursor_continue_invalid.htm
idbcursor-continuePrimaryKey-exception-order.htm
idbcursor-continuePrimaryKey-exceptions.htm
idbcursor-continuePrimaryKey.htm
idbcursor-direction.htm
idbcursor-direction-index.htm
idbcursor-direction-index-keyrange.htm
idbcursor-direction-objectstore.htm
idbcursor-direction-objectstore-keyrange.htm
idbcursor_iterating.htm
idbcursor_iterating_index2.htm
idbcursor_iterating_index.htm
idbcursor_iterating_objectstore2.htm
idbcursor_iterating_objectstore.htm
idbcursor-iterating-update.htm
idbcursor-key.htm
idbcursor-primarykey.htm
idbcursor-request.any.js
idbcursor-request-source.html
idbcursor-reused.htm
idbcursor-source.htm
idbcursor-update-exception-order.htm
idbcursor_update_objectstore2.htm
idbcursor_update_objectstore3.htm
idbcursor_update_objectstore4.htm
idbcursor_update_objectstore5.htm
idbcursor_update_objectstore6.htm
idbcursor_update_objectstore7.htm
idbcursor_update_objectstore8.htm
idbcursor_update_objectstore9.htm
idbcursor_update_objectstore.htm
idbdatabase_close2.htm
idbdatabase_close.htm
idbdatabase_createObjectStore10-1000ends.htm
idbdatabase_createObjectStore10-emptyname.htm
idbdatabase_createObjectStore11.htm
idbdatabase_createObjectStore2.htm
idbdatabase_createObjectStore3.htm
idbdatabase_createObjectStore4.htm
idbdatabase_createObjectStore5.htm
idbdatabase_createObjectStore6.htm
idbdatabase_createObjectStore7.htm
idbdatabase_createObjectStore8-parameters.htm
idbdatabase_createObjectStore9-invalidparameters.htm
idbdatabase_createObjectStore-createIndex-emptyname.htm
idbdatabase-createObjectStore-exception-order.htm
idbdatabase_createObjectStore.htm
idbdatabase_deleteObjectStore2.htm
idbdatabase_deleteObjectStore3.htm
idbdatabase_deleteObjectStore4-not_reused.htm
idbdatabase-deleteObjectStore-exception-order.htm
idbdatabase_deleteObjectStore.htm
idbdatabase_transaction2.htm
idbdatabase_transaction3.htm
idbdatabase_transaction4.htm
idbdatabase_transaction5.htm
idbdatabase-transaction-exception-order.html
idbdatabase_transaction.htm
idb-explicit-commit.any.js
idb-explicit-commit-throw.any.js
idbfactory-databases-opaque-origin.html
idbfactory_deleteDatabase2.htm
idbfactory_deleteDatabase3.htm
idbfactory_deleteDatabase4.htm
idbfactory_deleteDatabase.htm
idbfactory-deleteDatabase-opaque-origin.html
idbfactory-deleteDatabase-request-success.html
idbfactory-open-error-properties.html
idbfactory-open-opaque-origin.html
idbfactory-open-request-error.html
idbfactory-open-request-success.html
idbfactory-origin-isolation.html
idbindex_count2.htm
idbindex_count3.htm
idbindex_count4.htm
idbindex_count.htm
idbindex-getAll-enforcerange.html
idbindex_getAll.html
idbindex-getAllKeys-enforcerange.html
idbindex_getAllKeys.html
idbindex_get.htm
idbindex_getKey2.htm
idbindex_getKey3.htm
idbindex_getKey4.htm
idbindex_getKey5.htm
idbindex_getKey6.htm
idbindex_getKey7.htm
idbindex_getKey8.htm
idbindex_getKey.htm
idbindex_indexNames.htm
idbindex_keyPath.any.js
idbindex-multientry-arraykeypath.htm
idbindex-multientry-big.htm
idbindex-multientry.htm
idbindex-objectStore-SameObject.html
idbindex_openKeyCursor2.htm
idbindex_openKeyCursor3.htm
idbindex_openKeyCursor4.htm
idbindex_openKeyCursor.htm
idbindex-query-exception-order.html
idbindex-rename-abort.html
idbindex-rename-errors.html
idbindex-rename.html
idbindex-request-source.html
idbindex_reverse_cursor.any.js
idbindex_tombstones.any.js
idbkeyrange.htm
idbkeyrange-includes.htm
idbkeyrange_incorrect.htm
idbobjectstore_clear2.htm
idbobjectstore_clear3.htm
idbobjectstore_clear4.htm
idbobjectstore-clear-exception-order.html
idbobjectstore_clear.htm
idbobjectstore_count2.htm
idbobjectstore_count3.htm
idbobjectstore_count4.htm
idbobjectstore_count.htm
idbobjectstore_createIndex10.htm
idbobjectstore_createIndex11.htm
idbobjectstore_createIndex12.htm
idbobjectstore_createIndex13.htm
idbobjectstore_createIndex14-exception_order.htm
idbobjectstore_createIndex15-autoincrement.htm
idbobjectstore_createIndex2.htm
idbobjectstore_createIndex3-usable-right-away.htm
idbobjectstore_createIndex4-deleteIndex-event_order.htm
idbobjectstore_createIndex5-emptykeypath.htm
idbobjectstore_createIndex6-event_order.htm
idbobjectstore_createIndex7-event_order.htm
idbobjectstore_createIndex8-valid_keys.htm
idbobjectstore_createIndex9-emptyname.htm
idbobjectstore_createIndex.htm
idbobjectstore_delete2.htm
idbobjectstore_delete3.htm
idbobjectstore_delete4.htm
idbobjectstore_delete5.htm
idbobjectstore_delete6.htm
idbobjectstore_delete7.htm
idbobjectstore_deleted.htm
idbobjectstore-delete-exception-order.html
idbobjectstore_delete.htm
idbobjectstore-deleteIndex-exception-order.html
idbobjectstore_deleteIndex.htm
idbobjectstore-getAll-enforcerange.html
idbobjectstore_getAll.html
idbobjectstore-getAllKeys-enforcerange.html
idbobjectstore_getAllKeys.html
idbobjectstore_getKey.html
idbobjectstore-index-finished.html
idbobjectstore_index.htm
idbobjectstore_keyPath.any.js
idbobjectstore_openCursor.htm
idbobjectstore_openCursor_invalid.htm
idbobjectstore_openKeyCursor.htm
idbobjectstore_putall.tentative.any.js
idbobjectstore-query-exception-order.html
idbobjectstore-rename-abort.html
idbobjectstore-rename-errors.html
idbobjectstore-request-source.html
idbobjectstore-transaction-SameObject.html
idbrequest_error.html
idbrequest-onupgradeneeded.htm
idbrequest_result.html
idbtransaction_abort.htm
idbtransaction-db-SameObject.html
idbtransaction.htm
idbtransaction-objectStore-exception-order.html
idbtransaction-objectStore-finished.html
idbtransaction_objectStoreNames.html
idbversionchangeevent.htm
idb_webworkers.htm
idbworker.js
idlharness.any.js
index_sort_order.htm
interleaved-cursors-common.js
interleaved-cursors-large.html
interleaved-cursors-small.html
key-conversion-exceptions.htm
keygenerator-constrainterror.htm
keygenerator-explicit.html
keygenerator.htm
keygenerator-inject.html
keygenerator-overflow.htm
key-generators
key_invalid.htm
keyorder.htm
keypath-exceptions.htm
keypath_invalid.htm
keypath_maxsize.htm
keypath-special-identifiers.htm
key_valid.html
large-requests-abort.html
list_ordering.htm
META.yml
name-scopes.html
nested-cloning-common.js
nested-cloning-large.html
nested-cloning-large-multiple.html
nested-cloning-small.html
objectstore_keyorder.htm
open-request-queue.html
parallel-cursors-upgrade.html
request-abort-ordering.html
request-event-ordering.html
resources
string-list-ordering.htm
structured-clone.any.js
structured-clone-transaction-state.any.js
transaction-abort-generator-revert.html
transaction-abort-index-metadata-revert.html
transaction-abort-multiple-metadata-revert.html
transaction-abort-object-store-metadata-revert.html
transaction-abort-request-error.html
transaction_bubble-and-capture.htm
transaction-create_in_versionchange.htm
transaction-deactivation-timing.html
transaction-lifetime-blocked.htm
transaction-lifetime-empty.html
transaction-lifetime.htm
transaction-relaxed-durability.tentative.any.js
transaction-scheduling-across-connections.any.js
transaction-scheduling-across-databases.any.js
transaction-scheduling-mixed-scopes.any.js
transaction-scheduling-ordering.any.js
transaction-scheduling-ro-waits-for-rw.any.js
transaction-scheduling-rw-scopes.any.js
transaction-scheduling-within-database.any.js
upgrade-transaction-deactivation-timing.html
upgrade-transaction-lifecycle-backend-aborted.html
upgrade-transaction-lifecycle-committed.html
upgrade-transaction-lifecycle-user-aborted.html
value_recursive.htm
writer-starvation.htm
