Test files: 340; Total subtests: 1239
Test | Ch63 | Ed15 | Ff58 | Sf11 |
---|---|---|---|---|
/IndexedDB/abort-in-initial-upgradeneeded.html | OK | OK | OK | OK |
Test that an abort in the initial upgradeneeded sets version back to 0 | PASS | PASS | PASS | PASS |
/IndexedDB/bindings-inject-key.html | OK | OK | OK | OK |
Returning keys to script should bypass prototype setters | PASS | FAIL | PASS | PASS |
Returning values to script should bypass prototype setters | PASS | PASS | PASS | PASS |
Returning values to script should bypass prototype chain | PASS | FAIL | PASS | PASS |
/IndexedDB/clone-before-keypath-eval.html | OK | ERROR | OK | OK |
Key generator and key path validity check operates on a clone | PASS | PASS | FAIL | FAIL |
Failing key path validity check operates on a clone | PASS | PASS | FAIL | FAIL |
Index key path evaluations operate on a clone | PASS | FAIL | FAIL | PASS |
Store and index key path evaluations operate on the same clone | PASS | FAIL | FAIL | FAIL |
Cursor update checks and keypath evaluations operate on a clone | PASS | FAIL | FAIL | FAIL |
/IndexedDB/close-in-upgradeneeded.html | OK | OK | OK | OK |
When db.close is called in upgradeneeded, the db is cleaned up on refresh | PASS | FAIL | PASS | PASS |
/IndexedDB/cursor-overloads.htm | OK | OK | OK | OK |
Validate the overloads of IDBObjectStore.openCursor(), IDBIndex.openCursor() and IDBIndex.openKeyCursor() | PASS | PASS | PASS | PASS |
/IndexedDB/delete-request-queue.html | OK | OK | OK | OK |
Deletes are processed in order | PASS | PASS | PASS | PASS |
/IndexedDB/error-attributes.html | OK | OK | OK | OK |
IDBRequest and IDBTransaction error properties should be DOMExceptions | PASS | FAIL | FAIL | FAIL |
/IndexedDB/event-dispatch-active-flag.html | OK | TIMEOUT | OK | OK |
Transactions are active during success handlers | PASS | FAIL | FAIL | PASS |
Transactions are active during success listeners | PASS | FAIL | FAIL | PASS |
Transactions are active during error handlers | PASS | FAIL | FAIL | PASS |
Transactions are active during error listeners | PASS | TIMEOUT | FAIL | PASS |
/IndexedDB/fire-error-event-exception.html | OK | ERROR | OK | OK |
Exception in error event handler on request | PASS | FAIL | PASS | PASS |
Exception in error event handler on request, with preventDefault | PASS | PASS | PASS | PASS |
Exception in error event listener on request | PASS | FAIL | PASS | PASS |
Exception in second error event listener on request | PASS | FAIL | PASS | PASS |
Exception in first error event listener on request, transaction active in second | PASS | FAIL | PASS | FAIL |
Exception in error event handler on transaction | PASS | FAIL | PASS | PASS |
Exception in error event handler on transaction, with preventDefault | PASS | PASS | PASS | PASS |
Exception in error event listener on transaction | PASS | FAIL | PASS | PASS |
Exception in second error event listener on transaction | PASS | FAIL | PASS | PASS |
Exception in first error event listener on transaction, transaction active in second | PASS | FAIL | PASS | FAIL |
Exception in error event handler on connection | PASS | FAIL | PASS | PASS |
Exception in error event handler on connection, with preventDefault | PASS | TIMEOUT | PASS | PASS |
Exception in error event listener on connection | PASS | FAIL | PASS | PASS |
Exception in second error event listener on connection | PASS | FAIL | PASS | PASS |
Exception in first error event listener on connection, transaction active in second | PASS | FAIL | PASS | FAIL |
/IndexedDB/fire-success-event-exception.html | OK | OK | OK | OK |
Exception in success event handler on request | PASS | PASS | PASS | PASS |
Exception in success event listener on request | PASS | PASS | PASS | PASS |
Exception in second success event listener on request | PASS | PASS | PASS | PASS |
Exception in first success event listener, tx active in second | PASS | FAIL | PASS | FAIL |
/IndexedDB/fire-upgradeneeded-event-exception.html | OK | OK | OK | OK |
Exception in upgradeneeded handler | PASS | PASS | PASS | PASS |
Exception in upgradeneeded listener | PASS | PASS | PASS | PASS |
Exception in second upgradeneeded listener | PASS | PASS | PASS | PASS |
Exception in first upgradeneeded listener, tx active in second | PASS | PASS | PASS | FAIL |
/IndexedDB/historical.html | OK | OK | OK | OK |
"errorCode" should not be supported on IDBRequest. | PASS | PASS | PASS | PASS |
"LOADING" should not be supported on IDBRequest. | PASS | PASS | PASS | PASS |
"DONE" should not be supported on IDBRequest. | PASS | PASS | PASS | PASS |
"version" should not be supported on IDBVersionChangeEvent. | PASS | PASS | PASS | PASS |
"setVersion" should not be supported on IDBDatabase. | PASS | PASS | PASS | PASS |
"NEXT" should not be supported on IDBCursor. | PASS | FAIL | PASS | PASS |
"NEXT_NO_DUPLICATE" should not be supported on IDBCursor. | PASS | FAIL | PASS | PASS |
"PREV" should not be supported on IDBCursor. | PASS | FAIL | PASS | PASS |
"PREV_NO_DUPLICATE" should not be supported on IDBCursor. | PASS | FAIL | PASS | PASS |
"READ_ONLY" should not be supported on IDBTransaction. | PASS | FAIL | PASS | PASS |
"READ_WRITE" should not be supported on IDBTransaction. | PASS | FAIL | PASS | PASS |
"VERSION_CHANGE" should not be supported on IDBTransaction. | PASS | FAIL | PASS | PASS |
/IndexedDB/idb-binary-key-detached.htm | OK | OK | OK | OK |
Detached ArrayBuffer | PASS | FAIL | FAIL | FAIL |
Detached TypedArray | PASS | FAIL | FAIL | FAIL |
/IndexedDB/idb-binary-key-roundtrip.htm | OK | OK | OK | OK |
Binary keys can be supplied using the view type Uint8Array | PASS | FAIL | PASS | PASS |
Binary keys can be supplied using the view type Uint8ClampedArray | PASS | FAIL | PASS | PASS |
Binary keys can be supplied using the view type Int8Array | PASS | FAIL | PASS | PASS |
Binary keys can be supplied using the view type Uint16Array | PASS | FAIL | PASS | PASS |
Binary keys can be supplied using the view type Int16Array | PASS | FAIL | PASS | PASS |
Binary keys can be supplied using the view type Uint32Array | PASS | FAIL | PASS | PASS |
Binary keys can be supplied using the view type Int32Array | PASS | FAIL | PASS | PASS |
Binary keys can be supplied using the view type Float32Array | PASS | FAIL | PASS | PASS |
Binary keys can be supplied using the view type Float64Array | PASS | FAIL | PASS | PASS |
ArrayBuffer can be used to supply a binary key | PASS | FAIL | PASS | PASS |
DataView can be used to supply a binary key | PASS | FAIL | PASS | PASS |
DataView with explicit offset can be used to supply a binary key | PASS | FAIL | PASS | PASS |
DataView with explicit offset and length can be used to supply a binary key | PASS | FAIL | PASS | PASS |
Uint8Array with explicit offset can be used to supply a binary key | PASS | FAIL | PASS | PASS |
Uint8Array with explicit offset and length can be used to supply a binary key | PASS | FAIL | PASS | PASS |
/IndexedDB/idb_binary_key_conversion.htm | OK | OK | OK | OK |
Empty ArrayBuffer | PASS | FAIL | PASS | PASS |
ArrayBuffer | PASS | FAIL | PASS | PASS |
DataView | PASS | FAIL | PASS | PASS |
TypedArray(Int8Array) | PASS | FAIL | PASS | PASS |
Array of TypedArray(Int8Array) | PASS | FAIL | PASS | PASS |
/IndexedDB/idb_webworkers.htm | OK | OK | OK | OK |
IndexedDB inside of a WebWorker | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor-advance-continue-async.htm | OK | ERROR | OK | OK |
IDBCursor asyncness - advance | PASS | FAIL | PASS | PASS |
IDBCursor asyncness - continue | PASS | FAIL | PASS | PASS |
IDBCursor asyncness - fresh advance still async | PASS | FAIL | PASS | PASS |
IDBCursor asyncness - fresh continue still async | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-advance-exception-order.html | OK | OK | OK | OK |
IDBCursor.advance exception order: TypeError vs. TransactionInactiveError | PASS | FAIL | PASS | PASS |
IDBCursor.advance exception order: TransactionInactiveError vs. InvalidStateError #1 | PASS | FAIL | PASS | PASS |
IDBCursor.advance exception order: TransactionInactiveError vs. InvalidStateError #2 | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-advance-invalid.htm | OK | OK | OK | OK |
IDBCursor.advance() - invalid - attempt to call advance twice | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - invalid - pass something other than number | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - invalid - pass null/undefined | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - invalid - missing argument | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - invalid - pass negative numbers | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - invalid - got value not set on exception | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-advance.htm | OK | ERROR | OK | OK |
IDBCursor.advance() - advances | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - advances backwards | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - skip far forward | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - within range | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - within single key range | PASS | FAIL | PASS | PASS |
IDBCursor.advance() - within single key range, with several results | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-continue-exception-order.htm | OK | OK | OK | OK |
IDBCursor.continue exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | PASS |
IDBCursor.continue exception order: TransactionInactiveError vs. InvalidStateError | PASS | FAIL | PASS | PASS |
IDBCursor.continue exception order: InvalidStateError vs. DataError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-continue.htm | OK | ERROR | OK | OK |
IDBCursor.continue() - continues | PASS | FAIL | PASS | PASS |
IDBCursor.continue() - with given key | PASS | FAIL | PASS | PASS |
IDBCursor.continue() - skip far forward | PASS | FAIL | PASS | PASS |
IDBCursor.continue() - within range | PASS | FAIL | PASS | PASS |
IDBCursor.continue() - within single key range | PASS | FAIL | PASS | PASS |
IDBCursor.continue() - within single key range, with several results | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm | OK | OK | OK | OK |
TransactionInactiveError v.s. InvalidStateError(deleted index) | PASS | FAIL | PASS | PASS |
InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect source) | PASS | FAIL | PASS | PASS |
InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect direction) | PASS | FAIL | PASS | PASS |
InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration complete) | PASS | FAIL | PASS | PASS |
InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration ongoing) | PASS | FAIL | PASS | PASS |
InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration ongoing) | PASS | FAIL | PASS | PASS |
InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration complete) | PASS | FAIL | PASS | PASS |
InvalidStateError(iteration ongoing) v.s. DataError(unset key) | PASS | FAIL | PASS | PASS |
InvalidStateError(iteration complete) v.s. DataError(unset key) | PASS | FAIL | PASS | PASS |
DataError(unset key) | PASS | FAIL | PASS | PASS |
DataError(unset primary key) | PASS | FAIL | PASS | PASS |
DataError(keys are lower then current one) in 'next' direction | PASS | FAIL | PASS | PASS |
DataError(keys are larger then current one) in 'prev' direction | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-continuePrimaryKey-exceptions.htm | OK | OK | OK | OK |
IDBCursor continuePrimaryKey() on object store cursor | PASS | FAIL | PASS | PASS |
IDBCursor continuePrimaryKey() on "nextunique" cursor | PASS | FAIL | PASS | PASS |
IDBCursor continuePrimaryKey() on "prevunique" cursor | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-continuePrimaryKey.htm | OK | OK | OK | OK |
IndexedDB: IDBCursor method continuePrimaryKey() | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-delete-exception-order.htm | OK | OK | OK | OK |
IDBCursor.delete exception order: TransactionInactiveError vs. ReadOnlyError | PASS | PASS | PASS | PASS |
IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #1 | PASS | PASS | PASS | PASS |
IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #2 | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-direction-index-keyrange.htm | OK | OK | OK | OK |
IDBCursor direction - index with keyrange - next | PASS | PASS | PASS | PASS |
IDBCursor direction - index with keyrange - prev | PASS | PASS | PASS | PASS |
IDBCursor direction - index with keyrange - nextunique | PASS | PASS | PASS | PASS |
IDBCursor direction - index with keyrange - prevunique | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-direction-index.htm | OK | OK | OK | OK |
IDBCursor direction - index - next | PASS | FAIL | PASS | PASS |
IDBCursor direction - index - prev | PASS | FAIL | PASS | PASS |
IDBCursor direction - index - nextunique | PASS | FAIL | PASS | PASS |
IDBCursor direction - index - prevunique | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-direction-objectstore-keyrange.htm | OK | OK | OK | OK |
IDBCursor direction - object store with keyrange - next | PASS | FAIL | PASS | PASS |
IDBCursor direction - object store with keyrange - prev | PASS | FAIL | PASS | PASS |
IDBCursor direction - object store with keyrange - nextunique | PASS | FAIL | PASS | PASS |
IDBCursor direction - object store with keyrange - prevunique | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-direction-objectstore.htm | OK | OK | OK | OK |
IDBCursor direction - object store - next | PASS | FAIL | PASS | PASS |
IDBCursor direction - object store - prev | PASS | FAIL | PASS | PASS |
IDBCursor direction - object store - nextunique | PASS | FAIL | PASS | PASS |
IDBCursor direction - object store - prevunique | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-direction.htm | OK | OK | OK | OK |
IDBCursor.direction - undefined | PASS | FAIL | PASS | PASS |
IDBCursor.direction - next | PASS | FAIL | PASS | PASS |
IDBCursor.direction - prev | PASS | FAIL | PASS | PASS |
IDBCursor.direction - nextunique | PASS | FAIL | PASS | PASS |
IDBCursor.direction - prevunique | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-key.htm | OK | OK | OK | OK |
IDBCursor.key - 1 | PASS | PASS | PASS | PASS |
IDBCursor.key - key | PASS | PASS | PASS | PASS |
IDBCursor.key - my,key | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-primarykey.htm | OK | OK | OK | OK |
IDBCursor.primaryKey - 1 | PASS | FAIL | PASS | PASS |
IDBCursor.primaryKey - key | PASS | FAIL | PASS | PASS |
IDBCursor.primaryKey - my,key | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-reused.htm | OK | OK | OK | OK |
IDBCursor is reused | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor-source.htm | OK | OK | OK | OK |
IDBCursor.source - IDBObjectStore | PASS | PASS | PASS | PASS |
IDBCursor.source - IDBIndex | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor-update-exception-order.htm | OK | ERROR | OK | OK |
IDBCursor.update exception order: TransactionInactiveError vs. ReadOnlyError | PASS | PASS | PASS | PASS |
IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #1 | PASS | PASS | PASS | PASS |
IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #2 | PASS | FAIL | PASS | PASS |
IDBCursor.update exception order: InvalidStateError vs. DataError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_advance_index.htm | OK | OK | OK | OK |
IDBCursor.advance() - index - iterate cursor number of times specified by count | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_advance_index2.htm | OK | OK | OK | OK |
IDBCursor.advance() - attempt to pass a count parameter that is not a number | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_advance_index3.htm | OK | OK | OK | OK |
IDBCursor.advance() - index - attempt to advance backwards | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_advance_index5.htm | OK | OK | OK | OK |
IDBCursor.advance() - index - iterate to the next record | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_advance_index6.htm | OK | OK | OK | OK |
IDBCursor.advance() - index - throw TypeError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_advance_index7.htm | OK | OK | OK | OK |
IDBCursor.advance() - index - throw TransactionInactiveError | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_advance_index8.htm | OK | OK | OK | OK |
IDBCursor.advance() - index - throw InvalidStateError | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_advance_index9.htm | OK | OK | OK | OK |
IDBCursor.advance() - index - throw InvalidStateError caused by object store been deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_advance_objectstore.htm | OK | OK | OK | OK |
IDBCursor.advance() - object store - iterate cursor number of times specified by count | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_advance_objectstore2.htm | OK | OK | OK | OK |
IDBCursor.advance() - object store - throw TypeError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_advance_objectstore3.htm | OK | OK | OK | OK |
IDBCursor.advance() - object store - throw TransactionInactiveError | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_advance_objectstore4.htm | OK | OK | OK | OK |
IDBCursor.advance() - object store - throw InvalidStateError | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_advance_objectstore5.htm | OK | OK | OK | OK |
IDBCursor.advance() - object store - throw InvalidStateError caused by object store been deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_continue_index.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - iterate to the next record | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_continue_index2.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - attempt to pass a key parameter that is not a valid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_continue_index3.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - attempt to iterate to the previous record when the direction is set for the next record | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_continue_index4.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - attempt to iterate to the next record when the direction is set for the previous record | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_continue_index5.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - iterate using 'prevunique' | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_continue_index6.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - iterate using nextunique | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_continue_index7.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - throw TransactionInactiveError | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_continue_index8.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - throw InvalidStateError caused by object store been deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_continue_invalid.htm | OK | OK | OK | OK |
IDBCursor.continue() - attempt to call continue two times | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_continue_objectstore.htm | OK | OK | OK | OK |
IDBCursor.continue() - object store - iterate to the next record | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_continue_objectstore2.htm | OK | OK | OK | OK |
IDBCursor.continue() - object store - attempt to pass a key parameter is not a valid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_continue_objectstore3.htm | OK | OK | OK | OK |
IDBCursor.continue() - object store - attempt to iterate to the previous record when the direction is set for the next record | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_continue_objectstore4.htm | OK | OK | OK | OK |
IDBCursor.continue() - object store - attempt to iterate to the next record when the direction is set for the previous record | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_continue_objectstore5.htm | OK | OK | OK | OK |
IDBCursor.continue() - object store - throw TransactionInactiveError | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_continue_objectstore6.htm | OK | OK | OK | OK |
IDBCursor.continue() - object store - throw InvalidStateError caused by object store been deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_delete_index.htm | OK | OK | OK | OK |
IDBCursor.delete() - index - remove a record from the object store | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_delete_index2.htm | OK | OK | OK | OK |
IDBCursor.delete() - index - attempt to remove a record in a read-only transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_delete_index3.htm | OK | OK | OK | OK |
IDBCursor.delete() - index - attempt to remove a record in an inactive transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_delete_index4.htm | OK | OK | OK | OK |
IDBCursor.delete() - index - throw InvalidStateError caused by object store been deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_delete_index5.htm | OK | OK | OK | OK |
IDBCursor.delete() - index - throw InvalidStateError when the cursor is being iterated | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_delete_objectstore.htm | OK | OK | OK | OK |
IDBCursor.delete() - object store - remove a record from the object store | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_delete_objectstore2.htm | OK | OK | OK | OK |
IDBCursor.delete() - object store - attempt to remove a record in a read-only transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_delete_objectstore3.htm | OK | OK | OK | OK |
IDBCursor.delete() - index - attempt to remove a record in an inactive transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_delete_objectstore4.htm | OK | OK | OK | OK |
IDBCursor.delete() - object store - throw InvalidStateError caused by object store been deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_delete_objectstore5.htm | OK | OK | OK | OK |
IDBCursor.delete() - object store - throw InvalidStateError when the cursor is being iterated | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_iterating.htm | OK | OK | OK | OK |
IDBCursor.continue() - objectstore - delete next element, and iterate to it | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_iterating_index.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - delete next element, and iterate to it | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_iterating_index2.htm | OK | OK | OK | OK |
IDBCursor.continue() - index - add next element, and iterate to it | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_iterating_objectstore.htm | OK | OK | OK | OK |
IDBCursor.continue() - objectstore - delete next element, and iterate to it | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_iterating_objectstore2.htm | OK | OK | OK | OK |
IDBCursor.continue() - objectstore - add next element, and iterate to it | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_index.htm | OK | OK | OK | OK |
IDBCursor.update() - index - modify a record in the object store | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_index2.htm | OK | OK | OK | OK |
IDBCursor.update() - index - attempt to modify a record in a read-only transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_index3.htm | OK | OK | OK | OK |
IDBCursor.update() - index - attempt to modify a record in an inactive transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_index4.htm | OK | OK | OK | OK |
IDBCursor.update() - index - attempt to modify a record when object store been deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_index5.htm | OK | OK | OK | OK |
IDBCursor.update() - index - throw DataCloneError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_update_index6.htm | OK | OK | OK | OK |
IDBCursor.update() - index - no argument | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_index7.htm | OK | OK | OK | OK |
IDBCursor.update() - index - throw DataError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_update_index8.htm | OK | OK | OK | OK |
IDBCursor.update() - index - throw InvalidStateError when the cursor is being iterated | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_update_objectstore.htm | OK | OK | OK | OK |
IDBCursor.update() - objectstore - modify a record in the object store | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_objectstore2.htm | OK | OK | OK | OK |
IDBCursor.update() - object store - attempt to modify a record in a read-only transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_objectstore3.htm | OK | OK | OK | OK |
IDBCursor.update() - object store - attempt to modify a record in an inactive transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_objectstore4.htm | OK | OK | OK | OK |
IDBCursor.update() - index - modify a record in the object store | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_objectstore5.htm | OK | OK | OK | OK |
IDBCursor.update() - object store - attempt to modify a record when object store been deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_objectstore6.htm | OK | OK | OK | OK |
IDBCursor.update() - object store - throw DataCloneError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_update_objectstore7.htm | OK | OK | OK | OK |
IDBCursor.update() - object store - no argument | PASS | PASS | PASS | PASS |
/IndexedDB/idbcursor_update_objectstore8.htm | OK | OK | OK | OK |
IDBCursor.update() - object store - throw DataError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbcursor_update_objectstore9.htm | OK | OK | OK | OK |
IDBCursor.update() - object store - throw InvalidStateError when the cursor is being iterated | PASS | FAIL | PASS | PASS |
/IndexedDB/idbdatabase-createObjectStore-exception-order.htm | OK | OK | ERROR | OK |
IDBDatabase.createObjectStore exception order: InvalidStateError vs. TransactionInactiveError | PASS | FAIL | PASS | PASS |
IDBDatabase.createObjectStore exception order: TransactionInactiveError vs. SyntaxError | PASS | FAIL | PASS | PASS |
IDBDatabase.createObjectStore exception order: SyntaxError vs. ConstraintError | PASS | PASS | PASS | FAIL |
IDBDatabase.createObjectStore exception order: ConstraintError vs. InvalidAccessError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm | OK | OK | ERROR | OK |
IDBDatabase.deleteObjectStore exception order: InvalidStateError vs. TransactionInactiveError | PASS | FAIL | PASS | PASS |
IDBDatabase.deleteObjectStore exception order: TransactionInactiveError vs. NotFoundError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbdatabase-transaction-exception-order.html | OK | OK | OK | OK |
IDBDatabase.transaction exception order: InvalidStateError vs. NotFoundError | PASS | PASS | PASS | PASS |
IDBDatabase.transaction exception order: InvalidStateError vs. InvalidAccessError | PASS | PASS | PASS | PASS |
IDBDatabase.transaction exception order: NotFoundError vs. TypeError | PASS | FAIL | PASS | FAIL |
/IndexedDB/idbdatabase_close.htm | OK | OK | OK | OK |
IDBDatabase.close() - unblock the version change transaction created by an open database request | PASS | FAIL | PASS | PASS |
/IndexedDB/idbdatabase_close2.htm | OK | OK | OK | OK |
IDBDatabase.close() - unblock the delete database request | PASS | FAIL | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore-createIndex-emptyname.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() and IDBObjectStore.createIndex() - both with empty name | PASS | FAIL | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - returns an instance of IDBObjectStore | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore10-1000ends.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - create 1000 object stores, add one item and delete | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore10-emptyname.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - empty name | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore11.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - attempting to create an existing object store with a different keyPath throw ConstraintError | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore2.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - object store 'name' and 'keyPath' properties are correctly set | PASS | FAIL | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore3.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - attempt to create an object store outside of a version change transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore4.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - attempt to create an object store that already exists | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore5.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - object store's name appears in database's list | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore6.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - attempt to create an object store with an invalid key path | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore7.htm | OK | OK | OK | OK |
IDBDatabase.createObjectStore() - create an object store with an unknown optional parameter | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore8-parameters.htm | OK | OK | OK | OK |
IDBObjectStoreParameters - autoInc true | PASS | PASS | PASS | PASS |
IDBObjectStoreParameters - autoInc true, keyPath null | PASS | FAIL | PASS | PASS |
IDBObjectStoreParameters - autoInc true, keyPath undefined | PASS | PASS | PASS | PASS |
IDBObjectStoreParameters - autoInc true, keyPath string | PASS | PASS | PASS | PASS |
IDBObjectStoreParameters - autoInc false, keyPath empty | PASS | FAIL | PASS | PASS |
IDBObjectStoreParameters - autoInc false, keyPath array | PASS | PASS | PASS | PASS |
IDBObjectStoreParameters - autoInc false, keyPath string | PASS | PASS | PASS | PASS |
IDBObjectStoreParameters - keyPath empty | PASS | FAIL | PASS | PASS |
IDBObjectStoreParameters - keyPath array | PASS | PASS | PASS | PASS |
IDBObjectStoreParameters - keyPath string | PASS | PASS | PASS | PASS |
IDBObjectStoreParameters - keyPath null | PASS | FAIL | PASS | PASS |
IDBObjectStoreParameters - keyPath undefined | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_createObjectStore9-invalidparameters.htm | OK | OK | OK | OK |
createObjectStore: Invalid optionalParameters - autoInc and empty keyPath | PASS | PASS | PASS | PASS |
createObjectStore: Invalid optionalParameters - autoInc and keyPath array | PASS | FAIL | PASS | PASS |
createObjectStore: Invalid optionalParameters - autoInc and keyPath array 2 | PASS | FAIL | PASS | PASS |
createObjectStore: Invalid optionalParameters - autoInc and keyPath object | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_deleteObjectStore.htm | OK | OK | OK | OK |
IDBDatabase.deleteObjectStore() - object store's name is removed from database's list | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_deleteObjectStore2.htm | OK | OK | OK | OK |
IDBDatabase.deleteObjectStore() - attempt to remove an object store outside of a version change transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_deleteObjectStore3.htm | OK | OK | OK | OK |
IDBDatabase.deleteObjectStore() - attempt to remove an object store that does not exist | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_deleteObjectStore4-not_reused.htm | OK | OK | OK | OK |
IDBDatabase.deleteObjectStore() - the object store is not reused | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_transaction.htm | OK | OK | OK | OK |
IDBDatabase.transaction() - attempt to open a transaction with invalid scope | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_transaction2.htm | OK | OK | OK | OK |
IDBDatabase.transaction() - opening a transaction defaults to a read-only mode | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_transaction3.htm | OK | OK | OK | OK |
IDBDatabase.transaction() - attempt to open a transaction from closed database connection | PASS | PASS | PASS | PASS |
/IndexedDB/idbdatabase_transaction4.htm | OK | OK | OK | OK |
IDBDatabase.transaction() - attempt to open a transaction with invalid mode | PASS | FAIL | PASS | PASS |
/IndexedDB/idbdatabase_transaction5.htm | OK | OK | OK | OK |
IDBDatabase.transaction() - If storeNames is an empty list, the implementation must throw a DOMException of type InvalidAccessError | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory-deleteDatabase-opaque-origin.html | OK | TIMEOUT | OK | OK |
IDBFactory.deleteDatabase() in non-sandboxed iframe should not throw | PASS | TIMEOUT | PASS | PASS |
IDBFactory.deleteDatabase() in sandboxed iframe should throw SecurityError | PASS | NOTRUN | PASS | PASS |
/IndexedDB/idbfactory-deleteDatabase-request-success.html | OK | OK | OK | OK |
Properties of IDBOpenDBRequest during IDBFactory deleteDatabase() | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory-open-error-properties.html | OK | OK | OK | OK |
Properties of error event from failed open() | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory-open-opaque-origin.html | OK | TIMEOUT | OK | OK |
IDBFactory.open() in non-sandboxed iframe should not throw | PASS | TIMEOUT | PASS | PASS |
IDBFactory.open() in sandboxed iframe should throw SecurityError | PASS | NOTRUN | PASS | PASS |
/IndexedDB/idbfactory-open-request-error.html | OK | OK | OK | OK |
Properties of IDBOpenDBRequest during failed IDBFactory open() | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory-open-request-success.html | OK | OK | OK | OK |
Properties of IDBOpenDBRequest during successful IDBFactory open() | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_cmp.htm | OK | OK | OK | OK |
IDBFactory.cmp() | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_cmp2.htm | OK | OK | OK | OK |
IDBFactory.cmp() - no argument | PASS | PASS | PASS | PASS |
IDBFactory.cmp() - null | PASS | FAIL | PASS | PASS |
IDBFactory.cmp() - NaN | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_cmp3.htm | OK | OK | OK | OK |
Array v.s. Binary | PASS | FAIL | PASS | PASS |
Binary v.s. String | PASS | FAIL | PASS | PASS |
String v.s. Date | PASS | PASS | PASS | PASS |
Date v.s. Number | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_cmp4.htm | OK | OK | OK | OK |
Compare in unsigned octet values (in the range [0, 255]) | PASS | FAIL | PASS | PASS |
Compare values in then same length | PASS | FAIL | PASS | PASS |
Compare values in different lengths | PASS | FAIL | PASS | PASS |
Compare when the values in the range of their minimal length are the same | PASS | FAIL | PASS | PASS |
/IndexedDB/idbfactory_deleteDatabase.htm | OK | OK | OK | OK |
IDBFactory.deleteDatabase() - request has no source | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_deleteDatabase2.htm | OK | OK | OK | OK |
IDBFactory.deleteDatabase() - result of the request is set to undefined | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_deleteDatabase3.htm | OK | OK | OK | OK |
IDBFactory.deleteDatabase() - success event | PASS | FAIL | PASS | PASS |
/IndexedDB/idbfactory_deleteDatabase4.htm | OK | OK | OK | OK |
Delete an existing database | PASS | PASS | PASS | PASS |
Delete a nonexistent database | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open.htm | OK | OK | OK | OK |
IDBFactory.open() - request has no source | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open10.htm | OK | OK | ERROR | OK |
IDBFactory.open() - error in upgradeneeded resets db | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open11.htm | OK | OK | OK | OK |
IDBFactory.open() - second open's transaction is available to get objectStores | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open12.htm | OK | OK | OK | OK |
IDBFactory.open() - upgradeneeded gets VersionChangeEvent | PASS | PASS | PASS | PASS |
IDBFactory.open() - upgradeneeded gets VersionChangeEvent - second upgrade | PASS | FAIL | PASS | PASS |
/IndexedDB/idbfactory_open2.htm | OK | OK | OK | OK |
IDBFactory.open() - database 'name' and 'version' are correctly set | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open3.htm | OK | OK | OK | OK |
IDBFactory.open() - no version opens current database | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open4.htm | OK | OK | OK | OK |
IDBFactory.open() - new database has default version | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open5.htm | OK | OK | OK | OK |
IDBFactory.open() - new database is empty | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open6.htm | OK | OK | OK | OK |
IDBFactory.open() - open database with a lower version than current | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open7.htm | OK | OK | OK | OK |
IDBFactory.open() - open database with a higher version than current | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open8.htm | OK | OK | OK | OK |
IDBFactory.open() - error in version change transaction aborts open | PASS | PASS | PASS | PASS |
/IndexedDB/idbfactory_open9.htm | OK | OK | ERROR | OK |
Calling open() with version argument -1 should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument -0.5 should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument 0 should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument 0.5 should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument 0.8 should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument 9007199254740992 should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument NaN should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument Infinity should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument -Infinity should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument "foo" should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument null should throw TypeError. | PASS | FAIL | FAIL | PASS |
Calling open() with version argument false should throw TypeError. | PASS | FAIL | PASS | PASS |
Calling open() with version argument object should throw TypeError. | PASS | FAIL | FAIL | PASS |
Calling open() with version argument object (second) should throw TypeError. | PASS | FAIL | FAIL | PASS |
Calling open() with version argument object (third) should throw TypeError. | PASS | FAIL | FAIL | PASS |
Calling open() with version argument 1.5 should not throw. | PASS | PASS | PASS | PASS |
Calling open() with version argument 9007199254740991 should not throw. | PASS | PASS | PASS | PASS |
Calling open() with version argument undefined should not throw. | PASS | FAIL | PASS | PASS |
/IndexedDB/idbindex-getAll-enforcerange.html | OK | OK | OK | OK |
IDBIndex.getAll() uses [EnforceRange] | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex-getAllKeys-enforcerange.html | OK | OK | OK | OK |
IDBIndex.getAllKeys() uses [EnforceRange] | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex-multientry-arraykeypath.htm | OK | OK | OK | OK |
IDBIndex.multiEntry: array keyPath with multiEntry | PASS | FAIL | PASS | PASS |
/IndexedDB/idbindex-multientry-big.htm | OK | OK | OK | OK |
Adding one item with 1000 multiEntry keys | PASS | PASS | PASS | PASS |
Getting the one item by 1000 indeced keys | PASS | FAIL | PASS | PASS |
/IndexedDB/idbindex-multientry.htm | OK | OK | OK | OK |
IDBIndex.multiEntry - adding keys | PASS | FAIL | PASS | PASS |
/IndexedDB/idbindex-query-exception-order.html | OK | OK | OK | OK |
IDBIndex.get exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBIndex.get exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
IDBIndex.getAll exception order: InvalidStateError vs. TransactionInactiveError | PASS | FAIL | PASS | PASS |
IDBIndex.getAll exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
IDBIndex.getAllKeys exception order: InvalidStateError vs. TransactionInactiveError | PASS | FAIL | PASS | PASS |
IDBIndex.getAllKeys exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
IDBIndex.count exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBIndex.count exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
IDBIndex.openCursor exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBIndex.openCursor exception order: TransactionInactiveError vs. DataError | PASS | PASS | PASS | FAIL |
IDBIndex.openKeyCursor exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBIndex.openKeyCursor exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
/IndexedDB/idbindex-rename-abort.html | OK | TIMEOUT | OK | OK |
IndexedDB index rename in aborted transaction | PASS | FAIL | PASS | PASS |
IndexedDB index creation and rename in an aborted transaction | PASS | TIMEOUT | PASS | PASS |
/IndexedDB/idbindex-rename-errors.html | OK | TIMEOUT | OK | OK |
IndexedDB deleted index rename throws | PASS | FAIL | PASS | PASS |
IndexedDB index rename throws in a readonly transaction | PASS | TIMEOUT | PASS | PASS |
IndexedDB index rename throws in a readwrite transaction | PASS | NOTRUN | PASS | PASS |
IndexedDB index rename throws in an inactive transaction | PASS | NOTRUN | PASS | PASS |
IndexedDB index rename to the name of another index throws | PASS | NOTRUN | PASS | PASS |
IndexedDB index rename handles exceptions when stringifying names | PASS | NOTRUN | PASS | PASS |
/IndexedDB/idbindex-rename.html | OK | TIMEOUT | OK | OK |
IndexedDB index rename in new transaction | PASS | - | PASS | PASS |
IndexedDB index rename in the transaction where it is created | PASS | - | PASS | PASS |
IndexedDB index rename to the same name succeeds | PASS | - | PASS | PASS |
IndexedDB index rename to the name of a deleted index succeeds | PASS | - | PASS | PASS |
IndexedDB index swapping via renames succeeds | PASS | - | PASS | PASS |
IndexedDB index rename stringifies non-string names | PASS | - | PASS | PASS |
IndexedDB index can be renamed to "" | PASS | - | PASS | PASS |
IndexedDB index can be renamed to "\u0000" | PASS | - | PASS | PASS |
IndexedDB index can be renamed to "\uDC00\uD800" | PASS | - | PASS | PASS |
/IndexedDB/idbindex_count.htm | OK | OK | OK | OK |
IDBIndex.count() - returns the number of records in the index | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_count2.htm | OK | OK | OK | OK |
IDBIndex.count() - returns the number of records that have keys within the range | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_count3.htm | OK | OK | OK | OK |
IDBIndex.count() - returns the number of records that have keys with the key | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_count4.htm | OK | OK | OK | OK |
IDBIndex.count() - throw DataError when using invalid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_get.htm | OK | OK | OK | OK |
IDBIndex.get() - returns the record | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_get2.htm | OK | OK | OK | OK |
IDBIndex.get() - returns the record where the index contains duplicate values | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_get3.htm | OK | OK | OK | OK |
IDBIndex.get() - attempt to retrieve a record that doesn't exist | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_get4.htm | OK | OK | OK | OK |
IDBIndex.get() - returns the record with the first key in the range | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_get5.htm | OK | OK | OK | OK |
IDBIndex.get() - throw DataError when using invalid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_get6.htm | OK | OK | OK | OK |
IDBIndex.get() - throw InvalidStateError when the index is deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_get7.htm | OK | OK | OK | OK |
IDBIndex.get() - throw TransactionInactiveError on aborted transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_get8.htm | OK | OK | OK | OK |
IDBIndex.get() - throw InvalidStateError on index deleted by aborted upgrade | PASS | FAIL | PASS | PASS |
/IndexedDB/idbindex_getAll.html | OK | OK | OK | OK |
Single item get | PASS | FAIL | PASS | PASS |
Empty object store | PASS | FAIL | PASS | PASS |
Get all keys | PASS | FAIL | PASS | PASS |
maxCount=10 | PASS | FAIL | PASS | PASS |
Get bound range | PASS | FAIL | PASS | PASS |
Get bound range with maxCount | PASS | FAIL | PASS | PASS |
Get upper excluded | PASS | FAIL | PASS | PASS |
Get lower excluded | PASS | FAIL | PASS | PASS |
Get bound range (generated) with maxCount | PASS | FAIL | PASS | PASS |
Non existent key | PASS | FAIL | PASS | PASS |
maxCount=0 | PASS | FAIL | PASS | PASS |
Retrieve multiEntry key | PASS | FAIL | PASS | PASS |
Retrieve one key multiple values | PASS | FAIL | PASS | PASS |
/IndexedDB/idbindex_getAllKeys.html | OK | OK | OK | OK |
Single item get | PASS | FAIL | PASS | PASS |
Empty object store | PASS | FAIL | PASS | PASS |
Get all keys | PASS | FAIL | PASS | PASS |
Get all generated keys | PASS | FAIL | PASS | PASS |
maxCount=10 | PASS | FAIL | PASS | PASS |
Get bound range | PASS | FAIL | PASS | PASS |
Get bound range with maxCount | PASS | FAIL | PASS | PASS |
Get upper excluded | PASS | FAIL | PASS | PASS |
Get lower excluded | PASS | FAIL | PASS | PASS |
Get bound range (generated) with maxCount | PASS | FAIL | PASS | PASS |
Non existent key | PASS | FAIL | PASS | PASS |
maxCount=0 | PASS | FAIL | PASS | PASS |
Retrieve multiEntry keys | PASS | FAIL | PASS | PASS |
/IndexedDB/idbindex_getKey.htm | OK | OK | OK | OK |
IDBIndex.getKey() - returns the record's primary key | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_getKey2.htm | OK | OK | OK | OK |
IDBIndex.getKey() - returns the record's primary key where the index contains duplicate values | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_getKey3.htm | OK | OK | OK | OK |
IDBIndex.getKey() - attempt to retrieve the primary key of a record that doesn't exist | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_getKey4.htm | OK | OK | OK | OK |
IDBIndex.getKey() - returns the key of the first record within the range | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_getKey5.htm | OK | OK | OK | OK |
IDBIndex.getKey() - throw DataError when using invalid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_getKey6.htm | OK | OK | OK | OK |
IDBIndex.getKey() - throw InvalidStateError when the index is deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_getKey7.htm | OK | OK | OK | OK |
IDBIndex.getKey() - throw TransactionInactiveError on aborted transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_getKey8.htm | OK | OK | OK | OK |
IDBIndex.getKey() - throw InvalidStateError on index deleted by aborted upgrade | PASS | FAIL | PASS | PASS |
/IndexedDB/idbindex_indexNames.htm | OK | OK | OK | OK |
IDBIndex.getKey() - returns the record's primary key | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_openCursor.htm | OK | OK | OK | OK |
IDBIndex.openCursor() - throw InvalidStateError when the index is deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_openCursor2.htm | OK | OK | OK | OK |
IDBIndex.openCursor() - throw TransactionInactiveError on aborted transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_openCursor3.htm | OK | OK | OK | OK |
IDBIndex.openCursor() - throw InvalidStateError on index deleted by aborted upgrade | PASS | FAIL | PASS | PASS |
/IndexedDB/idbindex_openKeyCursor.htm | OK | OK | OK | OK |
IDBIndex.openKeyCursor() - throw DataError when using a invalid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_openKeyCursor2.htm | OK | OK | OK | OK |
IDBIndex.openKeyCursor() - throw InvalidStateError when the index is deleted | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_openKeyCursor3.htm | OK | OK | OK | OK |
IDBIndex.openKeyCursor() - throw TransactionInactiveError on aborted transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbindex_openKeyCursor4.htm | OK | OK | OK | OK |
IDBIndex.openKeyCursor() - throw InvalidStateError on index deleted by aborted upgrade | PASS | FAIL | PASS | PASS |
/IndexedDB/idbkeyrange-includes.htm | OK | OK | OK | OK |
IDBKeyRange.includes() with invalid input | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with a closed range | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with an open range | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with a lower-open upper-closed range | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with a lower-closed upper-open range | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with an only range | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with an closed lower-bounded range | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with an open lower-bounded range | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with an closed upper-bounded range | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with an open upper-bounded range | PASS | FAIL | PASS | PASS |
IDBKeyRange.includes() with non-numeric keys | PASS | FAIL | PASS | PASS |
/IndexedDB/idbkeyrange.htm | OK | OK | OK | OK |
IDBKeyRange.only() - returns an IDBKeyRange and the properties are set correctly | PASS | PASS | PASS | PASS |
IDBKeyRange.only() - throws on invalid keys | PASS | FAIL | PASS | PASS |
IDBKeyRange.lowerBound() - returns an IDBKeyRange and the properties are set correctly | PASS | PASS | PASS | PASS |
IDBKeyRange.lowerBound() - 'open' parameter has correct default set | PASS | PASS | PASS | PASS |
IDBKeyRange.lowerBound() - throws on invalid keys | PASS | FAIL | PASS | PASS |
IDBKeyRange.upperBound() - returns an IDBKeyRange and the properties are set correctly | PASS | PASS | PASS | PASS |
IDBKeyRange.upperBound() - 'open' parameter has correct default set | PASS | PASS | PASS | PASS |
IDBKeyRange.upperBound() - throws on invalid keys | PASS | FAIL | PASS | PASS |
IDBKeyRange.bound() - returns an IDBKeyRange and the properties are set correctly | PASS | PASS | PASS | PASS |
IDBKeyRange.bound() - 'lowerOpen' and 'upperOpen' parameters have correct defaults set | PASS | PASS | PASS | PASS |
/IndexedDB/idbkeyrange_incorrect.htm | OK | OK | OK | OK |
IDBKeyRange.bound() - bound requires more than 0 arguments. | PASS | PASS | PASS | PASS |
IDBKeyRange.bound(null, null) - null parameters are incorrect. | PASS | FAIL | PASS | PASS |
IDBKeyRange.bound(1, null / null, 1) - null parameter is incorrect. | PASS | FAIL | PASS | PASS |
IDBKeyRange.bound(lower, upper / lower > upper) - 'lower' is greater than 'upper'. | PASS | PASS | PASS | PASS |
IDBKeyRange.bound(DOMString/Date/Array, 1) - A DOMString, Date and Array are greater than a float. | PASS | PASS | PASS | PASS |
IDBKeyRange.bound(noExistingVariable, 1 / goodVariable, noExistingVariable) - noExistingVariable is not defined. | PASS | PASS | PASS | PASS |
IDBKeyRange.bound(true, 1) - boolean is not a valid key type. | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore-add-put-exception-order.html | OK | ERROR | OK | OK |
IDBObjectStore.put exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBObjectStore.put exception order: TransactionInactiveError vs. ReadOnlyError | PASS | FAIL | PASS | PASS |
IDBObjectStore.put exception order: ReadOnlyError vs. DataError | PASS | PASS | PASS | PASS |
IDBObjectStore.add exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBObjectStore.add exception order: TransactionInactiveError vs. ReadOnlyError | PASS | FAIL | PASS | PASS |
IDBObjectStore.add exception order: ReadOnlyError vs. DataError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore-clear-exception-order.html | OK | OK | OK | OK |
IDBObjectStore.clear exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBObjectStore.clear exception order: TransactionInactiveError vs. ReadOnlyError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore-delete-exception-order.html | OK | ERROR | OK | OK |
IDBObjectStore.delete exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBObjectStore.delete exception order: TransactionInactiveError vs. ReadOnlyError | PASS | PASS | PASS | PASS |
IDBObjectStore.delete exception order: ReadOnlyError vs. DataError | PASS | FAIL | PASS | FAIL |
/IndexedDB/idbobjectstore-deleteIndex-exception-order.html | OK | OK | OK | OK |
IDBObjectStore.deleteIndex exception order: InvalidStateError #1 vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBObjectStore.deleteIndex exception order: InvalidStateError #2 vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBObjectStore.deleteIndex exception order: TransactionInactiveError vs. NotFoundError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore-getAll-enforcerange.html | OK | OK | OK | OK |
IDBObjectStore.getAll() uses [EnforceRange] | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore-getAllKeys-enforcerange.html | OK | OK | OK | OK |
IDBObjectStore.getAllKeys() uses [EnforceRange] | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore-index-finished.html | OK | OK | OK | OK |
IDBObjectStore index() behavior when transaction is finished | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore-query-exception-order.html | OK | OK | OK | OK |
IDBObjectStore.get exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBObjectStore.get exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | PASS |
IDBObjectStore.getAll exception order: InvalidStateError vs. TransactionInactiveError | PASS | FAIL | PASS | PASS |
IDBObjectStore.getAll exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
IDBObjectStore.getAllKeys exception order: InvalidStateError vs. TransactionInactiveError | PASS | FAIL | PASS | PASS |
IDBObjectStore.getAllKeys exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
IDBObjectStore.count exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBObjectStore.count exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
IDBObjectStore.openCursor exception order: InvalidStateError vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
IDBObjectStore.openCursor exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
IDBObjectStore.openKeyCursor exception order: InvalidStateError vs. TransactionInactiveError | PASS | FAIL | PASS | PASS |
IDBObjectStore.openKeyCursor exception order: TransactionInactiveError vs. DataError | PASS | FAIL | PASS | FAIL |
/IndexedDB/idbobjectstore-rename-abort.html | OK | TIMEOUT | OK | OK |
IndexedDB object store rename in aborted transaction | PASS | FAIL | PASS | PASS |
IndexedDB object store creation and rename in an aborted transaction | PASS | TIMEOUT | PASS | PASS |
/IndexedDB/idbobjectstore-rename-errors.html | OK | TIMEOUT | OK | OK |
IndexedDB deleted object store rename throws | PASS | FAIL | PASS | PASS |
IndexedDB object store rename throws in a readonly transaction | PASS | TIMEOUT | PASS | PASS |
IndexedDB object store rename throws in a readwrite transaction | PASS | NOTRUN | PASS | PASS |
IndexedDB object store rename throws in an inactive transaction | PASS | NOTRUN | PASS | PASS |
IndexedDB object store rename to the name of another store throws | PASS | NOTRUN | PASS | PASS |
IndexedDB object store rename handles exceptions when stringifying names | PASS | NOTRUN | PASS | PASS |
/IndexedDB/idbobjectstore-rename-store.html | OK | TIMEOUT | OK | OK |
IndexedDB object store rename in new transaction | PASS | - | PASS | PASS |
IndexedDB object store rename in the transaction where it is created | PASS | - | PASS | PASS |
IndexedDB object store rename covers index | PASS | - | PASS | PASS |
IndexedDB object store rename covers key generator | PASS | - | PASS | PASS |
IndexedDB object store rename to the same name succeeds | PASS | - | PASS | PASS |
IndexedDB object store rename to the name of a deleted store succeeds | PASS | - | PASS | PASS |
IndexedDB object store swapping via renames succeeds | PASS | - | PASS | PASS |
IndexedDB object store rename stringifies non-string names | PASS | - | PASS | PASS |
IndexedDB object store can be renamed to "" | PASS | - | PASS | PASS |
IndexedDB object store can be renamed to "\u0000" | PASS | - | PASS | PASS |
IndexedDB object store can be renamed to "\uDC00\uD800" | PASS | - | PASS | PASS |
/IndexedDB/idbobjectstore_add.htm | OK | OK | OK | OK |
IDBObjectStore.add() - add with an inline key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add10.htm | OK | OK | OK | OK |
IDBObjectStore.add() - Attempt to call 'add' without an key parameter when the object store uses out-of-line keys | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add11.htm | OK | OK | OK | OK |
IDBObjectStore.add() - Attempt to add a record where the record's key does not meet the constraints of a valid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add12.htm | OK | OK | OK | OK |
IDBObjectStore.add() - Attempt to add a record where the record's in-line key is not defined | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add13.htm | OK | OK | OK | OK |
IDBObjectStore.add() - Attempt to add a record where the out of line key provided does not meet the constraints of a valid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add14.htm | OK | OK | OK | OK |
IDBObjectStore.add() - Add a record where a value being indexed does not meet the constraints of a valid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add15.htm | OK | OK | OK | OK |
IDBObjectStore.add() - If the transaction this IDBObjectStore belongs to has its mode set to readonly, throw ReadOnlyError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add16.htm | OK | OK | OK | OK |
IDBObjectStore.add() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add2.htm | OK | OK | OK | OK |
IDBObjectStore.add() - add with an out-of-line key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add3.htm | OK | OK | OK | OK |
IDBObjectStore.add() - record with same key already exists | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add4.htm | OK | OK | OK | OK |
IDBObjectStore.add() - add where an index has unique:true specified | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add5.htm | OK | OK | OK | OK |
IDBObjectStore.add() - object store's key path is an object attribute | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add6.htm | OK | OK | OK | OK |
IDBObjectStore.add() - autoIncrement and inline keys | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add7.htm | OK | OK | OK | OK |
IDBObjectStore.add() - autoIncrement and out-of-line keys | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add8.htm | OK | OK | OK | OK |
IDBObjectStore.add() - object store has autoIncrement:true and the key path is an object attribute | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_add9.htm | OK | OK | OK | OK |
IDBObjectStore.add() - Attempt to add a record that does not meet the constraints of an object store's inline key requirements | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_clear.htm | OK | OK | OK | OK |
IDBObjectStore.clear() - Verify clear removes all records | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_clear2.htm | OK | OK | OK | OK |
IDBObjectStore.clear() - clear removes all records from an index | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_clear3.htm | OK | OK | OK | OK |
IDBObjectStore.clear() - If the transaction this IDBObjectStore belongs to has its mode set to readonly, throw ReadOnlyError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_clear4.htm | OK | OK | OK | OK |
IDBObjectStore.clear() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_count.htm | OK | OK | OK | OK |
IDBObjectStore.count() - returns the number of records in the object store | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_count2.htm | OK | OK | OK | OK |
IDBObjectStore.count() - returns the number of records that have keys within the range | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_count3.htm | OK | OK | OK | OK |
IDBObjectStore.count() - returns the number of records that have keys with the key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_count4.htm | OK | OK | OK | OK |
IDBObjectStore.count() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex.htm | OK | OK | OK | OK |
IDBObjectStore.createIndex() - returns an IDBIndex and the properties are set correctly | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex10.htm | OK | OK | OK | OK |
IDBDatabase.createIndex() - If an index with the name name already exists in this object store, the implementation must throw a DOMException of type ConstraintError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex11.htm | OK | OK | OK | OK |
IDBDatabase.createIndex() - If keyPath is not a valid key path, the implementation must throw a DOMException of type SyntaxError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex12.htm | OK | OK | OK | OK |
IDBDatabase.createIndex() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex13.htm | OK | OK | OK | OK |
IDBDatabase.createIndex() - Operate out versionchange throw InvalidStateError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex14-exception_order.htm | OK | ERROR | OK | OK |
InvalidStateError(Incorrect mode) vs. TransactionInactiveError | PASS | TIMEOUT | PASS | PASS |
InvalidStateError(Deleted ObjectStore) vs. TransactionInactiveError | PASS | PASS | PASS | PASS |
TransactionInactiveError vs. ConstraintError | PASS | PASS | PASS | PASS |
ConstraintError vs. SyntaxError | PASS | PASS | PASS | PASS |
SyntaxError vs. InvalidAccessError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex15-autoincrement.htm | OK | OK | OK | OK |
Explicit Primary Key | PASS | FAIL | PASS | PASS |
Auto-Increment Primary Key | FAIL | FAIL | FAIL | PASS |
/IndexedDB/idbobjectstore_createIndex2.htm | OK | OK | OK | OK |
IDBObjectStore.createIndex() - attempt to create an index that requires unique values on an object store already contains duplicates | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex3-usable-right-away.htm | OK | OK | OK | OK |
IDBObjectStore.createIndex() - the index is usable right after being made | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex4-deleteIndex-event_order.htm | OK | OK | OK | OK |
IDBObjectStore.createIndex() - Event ordering for a later deleted index | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex5-emptykeypath.htm | OK | OK | OK | OK |
IDBObjectStore.createIndex() - empty keyPath | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex6-event_order.htm | OK | OK | OK | OK |
IDBObjectStore.createIndex() - event order when unique constraint is triggered | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex7-event_order.htm | OK | OK | OK | OK |
IDBObjectStore.createIndex() - Event ordering for ConstraintError on request | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex8-valid_keys.htm | OK | OK | OK | OK |
IDBObjectStore.createIndex() - index can be valid keys | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore_createIndex9-emptyname.htm | OK | OK | OK | OK |
IDBObjectStore.createIndex() - empty name | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore_delete.htm | OK | OK | OK | OK |
IDBObjectStore.delete() - delete removes record (inline keys) | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_delete2.htm | OK | OK | OK | OK |
IDBObjectStore.delete() - key doesn't match any records | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_delete3.htm | OK | OK | OK | OK |
IDBObjectStore.delete() - object store's key path is an object attribute | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_delete4.htm | OK | OK | OK | OK |
IDBObjectStore.delete() - delete removes record (out-of-line keys) | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_delete5.htm | OK | OK | OK | OK |
IDBObjectStore.delete() - removes all of the records in the range | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_delete6.htm | OK | OK | OK | OK |
IDBObjectStore.delete() - If the transaction this IDBObjectStore belongs to has its mode set to readonly, throw ReadOnlyError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_delete7.htm | OK | OK | OK | OK |
IDBObjectStore.delete() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_deleteIndex.htm | OK | OK | OK | OK |
IDBObjectStore.deleteIndex() - removes the index | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_deleted.htm | OK | OK | OK | OK |
Attempting to use deleted IDBObjectStore | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_get.htm | OK | OK | OK | OK |
IDBObjectStore.get() - key is a number | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_get2.htm | OK | OK | OK | OK |
IDBObjectStore.get() - key is a string | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_get3.htm | OK | OK | OK | OK |
IDBObjectStore.get() - key is a Date | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_get4.htm | OK | OK | OK | OK |
IDBObjectStore.get() - attempt to retrieve a record that doesn't exist | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_get5.htm | OK | OK | OK | OK |
IDBObjectStore.get() - returns the record with the first key in the range | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_get6.htm | OK | OK | OK | OK |
IDBObjectStore.get() - throw TransactionInactiveError on aborted transaction | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_get7.htm | OK | OK | OK | OK |
IDBObjectStore.get() - throw DataError when using invalid key | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore_getAll.html | OK | OK | OK | OK |
Single item get | PASS | FAIL | PASS | PASS |
Single item get (generated key) | PASS | FAIL | PASS | PASS |
getAll on empty object store | PASS | FAIL | PASS | PASS |
Get all values | PASS | FAIL | PASS | PASS |
Test maxCount | PASS | FAIL | PASS | PASS |
Get bound range | PASS | FAIL | PASS | PASS |
Get bound range with maxCount | PASS | FAIL | PASS | PASS |
Get upper excluded | PASS | FAIL | PASS | PASS |
Get lower excluded | PASS | FAIL | PASS | PASS |
Get bound range (generated) with maxCount | PASS | FAIL | PASS | PASS |
Non existent key | PASS | FAIL | PASS | PASS |
zero maxCount | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore_getAllKeys.html | OK | OK | OK | OK |
Single item get | PASS | FAIL | PASS | PASS |
Single item get (generated key) | PASS | FAIL | PASS | PASS |
getAllKeys on empty object store | PASS | FAIL | PASS | PASS |
Get all values | PASS | FAIL | PASS | PASS |
Test maxCount | PASS | FAIL | PASS | PASS |
Get bound range | PASS | FAIL | PASS | PASS |
Get bound range with maxCount | PASS | FAIL | PASS | PASS |
Get upper excluded | PASS | FAIL | PASS | PASS |
Get lower excluded | PASS | FAIL | PASS | PASS |
Get bound range (generated) with maxCount | PASS | FAIL | PASS | PASS |
Non existent key | PASS | FAIL | PASS | PASS |
zero maxCount | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore_getKey.html | OK | TIMEOUT | OK | OK |
IDBObjectStore.getKey() - invalid parameters | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - basic - key | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - basic - range | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - basic - key - no match | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - basic - range - no match | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key path - key | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key path - range | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key path - key - no match | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key path - range - no match | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key generator - key | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key generator - range | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key generator - key - no match | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key generator - range - no match | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key generator and key path - key | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key generator and key path - range | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key generator and key path - key - no match | PASS | - | PASS | PASS |
IDBObjectStore.getKey() - key generator and key path - range - no match | PASS | - | PASS | PASS |
/IndexedDB/idbobjectstore_index.htm | OK | OK | OK | OK |
IDBObjectStore.index() - returns an index | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_openCursor.htm | OK | OK | OK | OK |
IDBObjectStore.openCursor() - iterate through 100 objects | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_openCursor_invalid.htm | OK | OK | OK | OK |
IDBObjectStore.openCursor() - invalid - pass something other than number | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_openKeyCursor.htm | OK | ERROR | OK | OK |
IDBObjectStore.openKeyCursor() - forward iteration | PASS | FAIL | PASS | PASS |
IDBObjectStore.openKeyCursor() - reverse iteration | PASS | FAIL | PASS | PASS |
IDBObjectStore.openKeyCursor() - forward iteration with range | PASS | FAIL | PASS | PASS |
IDBObjectStore.openKeyCursor() - reverse iteration with range | PASS | FAIL | PASS | PASS |
IDBObjectStore.openKeyCursor() - invalid inputs | PASS | FAIL | PASS | PASS |
/IndexedDB/idbobjectstore_put.htm | OK | OK | OK | OK |
IDBObjectStore.put() - put with an inline key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put10.htm | OK | OK | OK | OK |
IDBObjectStore.put() - Attempt to call 'put' without an key parameter when the object store uses out-of-line keys | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put11.htm | OK | OK | OK | OK |
IDBObjectStore.put() - Attempt to put a record where the record's key does not meet the constraints of a valid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put12.htm | OK | OK | OK | OK |
IDBObjectStore.put() - Attempt to put a record where the record's in-line key is not defined | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put13.htm | OK | OK | OK | OK |
IDBObjectStore.put() - Attempt to put a record where the out of line key provided does not meet the constraints of a valid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put14.htm | OK | OK | OK | OK |
IDBObjectStore.put() - Put a record where a value being indexed does not meet the constraints of a valid key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put15.htm | OK | OK | OK | OK |
IDBObjectStore.put() - If the transaction this IDBObjectStore belongs to has its mode set to readonly, throw ReadOnlyError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put16.htm | OK | OK | OK | OK |
IDBObjectStore.put() - If the object store has been deleted, the implementation must throw a DOMException of type InvalidStateError | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put2.htm | OK | OK | OK | OK |
IDBObjectStore.put() - put with an out-of-line key | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put3.htm | OK | OK | OK | OK |
IDBObjectStore.put() - record with same key already exists | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put4.htm | OK | OK | OK | OK |
IDBObjectStore.put() - put where an index has unique:true specified | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put5.htm | OK | OK | OK | OK |
IDBObjectStore.put() - object store's key path is an object attribute | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put6.htm | OK | OK | OK | OK |
IDBObjectStore.put() - autoIncrement and inline keys | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put7.htm | OK | OK | OK | OK |
IDBObjectStore.put() - autoIncrement and out-of-line keys | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put8.htm | OK | OK | OK | OK |
IDBObjectStore.put() - object store has autoIncrement:true and the key path is an object attribute | PASS | PASS | PASS | PASS |
/IndexedDB/idbobjectstore_put9.htm | OK | OK | OK | OK |
IDBObjectStore.put() - Attempt to put a record that does not meet the constraints of an object store's inline key requirements | PASS | PASS | PASS | PASS |
/IndexedDB/idbrequest-onupgradeneeded.htm | OK | OK | ERROR | OK |
indexedDB.delete called from upgradeneeded handler | PASS | PASS | PASS | PASS |
Abort transaction before deleting database in upgradeneeded handler | PASS | PASS | PASS | PASS |
Abort transaction after deleting database in upgradeneeded event handler | PASS | PASS | PASS | PASS |
transaction oncomplete ordering relative to open request onsuccess | PASS | PASS | PASS | PASS |
/IndexedDB/idbrequest_error.html | OK | OK | OK | OK |
IDBRequest.error throws if ready state is pending | PASS | PASS | PASS | PASS |
/IndexedDB/idbrequest_result.html | OK | OK | OK | OK |
IDBRequest.result throws if ready state is pending | PASS | PASS | PASS | PASS |
/IndexedDB/idbtransaction-objectStore-exception-order.html | OK | OK | OK | OK |
IDBTransaction.objectStore exception order: InvalidStateError vs. NotFoundError | PASS | FAIL | PASS | PASS |
/IndexedDB/idbtransaction-objectStore-finished.html | OK | OK | OK | OK |
IDBTransaction objectStore() behavior when transaction is finished | PASS | FAIL | PASS | PASS |
/IndexedDB/idbtransaction-oncomplete.htm | OK | OK | OK | OK |
IDBTransaction - complete event | PASS | PASS | PASS | PASS |
/IndexedDB/idbtransaction.htm | OK | OK | OK | OK |
IDBTransaction - request gotten by the handler | PASS | PASS | PASS | PASS |
IDBTransaction - request returned by open() | PASS | PASS | PASS | PASS |
/IndexedDB/idbtransaction_abort.htm | OK | OK | OK | OK |
IDBTransaction - abort | PASS | PASS | PASS | PASS |
/IndexedDB/idbtransaction_objectStoreNames.html | OK | OK | ERROR | OK |
IDBTransaction.objectStoreNames - during upgrade transaction | PASS | FAIL | PASS | PASS |
IDBTransaction.objectStoreNames - value after close | PASS | FAIL | PASS | PASS |
IDBTransaction.objectStoreNames - transaction scope | PASS | FAIL | PASS | PASS |
IDBTransaction.objectStoreNames - value after commit | PASS | FAIL | PASS | PASS |
IDBTransaction.objectStoreNames - value after abort | PASS | FAIL | PASS | PASS |
IDBTransaction.objectStoreNames - sorting | PASS | FAIL | PASS | PASS |
IDBTransaction.objectStoreNames - no duplicates | PASS | FAIL | PASS | PASS |
IDBTransaction.objectStoreNames - unusual names | PASS | FAIL | PASS | PASS |
/IndexedDB/idbversionchangeevent.htm | OK | OK | OK | OK |
IDBVersionChangeEvent fired in upgradeneeded, versionchange and deleteDatabase | PASS | FAIL | PASS | PASS |
/IndexedDB/index_sort_order.htm | OK | OK | OK | OK |
Verify key sort order in an index is 'number < Date < DOMString' | PASS | PASS | PASS | PASS |
/IndexedDB/interfaces.html | OK | OK | OK | OK |
IndexedDB IDL tests | PASS | PASS | PASS | PASS |
Window interface: attribute indexedDB | PASS | PASS | PASS | PASS |
IDBRequest interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBRequest interface object length | PASS | FAIL | PASS | PASS |
IDBRequest interface object name | PASS | PASS | PASS | PASS |
IDBRequest interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBRequest interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute result | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute error | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute source | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute transaction | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute readyState | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute onsuccess | PASS | FAIL | PASS | PASS |
IDBRequest interface: attribute onerror | PASS | FAIL | PASS | PASS |
IDBOpenDBRequest interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBOpenDBRequest interface object length | PASS | FAIL | PASS | PASS |
IDBOpenDBRequest interface object name | PASS | PASS | PASS | PASS |
IDBOpenDBRequest interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBOpenDBRequest interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBOpenDBRequest interface: attribute onblocked | PASS | FAIL | PASS | PASS |
IDBOpenDBRequest interface: attribute onupgradeneeded | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface object length | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface object name | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent interface: attribute oldVersion | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent interface: attribute newVersion | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent must be primary interface of new IDBVersionChangeEvent('foo') | PASS | FAIL | PASS | PASS |
Stringification of new IDBVersionChangeEvent('foo') | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface: new IDBVersionChangeEvent('foo') must inherit property "oldVersion" with the proper type | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface: new IDBVersionChangeEvent('foo') must inherit property "newVersion" with the proper type | PASS | FAIL | PASS | PASS |
IDBFactory interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBFactory interface object length | PASS | FAIL | PASS | PASS |
IDBFactory interface object name | PASS | PASS | PASS | PASS |
IDBFactory interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBFactory interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBFactory interface: operation open(DOMString, unsigned long long) | PASS | FAIL | PASS | PASS |
IDBFactory interface: operation deleteDatabase(DOMString) | PASS | FAIL | PASS | PASS |
IDBFactory interface: operation cmp(any, any) | PASS | FAIL | PASS | PASS |
IDBFactory must be primary interface of window.indexedDB | PASS | PASS | PASS | PASS |
Stringification of window.indexedDB | PASS | PASS | PASS | PASS |
IDBFactory interface: window.indexedDB must inherit property "open(DOMString, unsigned long long)" with the proper type | PASS | PASS | PASS | PASS |
IDBFactory interface: calling open(DOMString, unsigned long long) on window.indexedDB with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBFactory interface: window.indexedDB must inherit property "deleteDatabase(DOMString)" with the proper type | PASS | PASS | PASS | PASS |
IDBFactory interface: calling deleteDatabase(DOMString) on window.indexedDB with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBFactory interface: window.indexedDB must inherit property "cmp(any, any)" with the proper type | PASS | PASS | PASS | PASS |
IDBFactory interface: calling cmp(any, any) on window.indexedDB with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBDatabase interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBDatabase interface object length | PASS | FAIL | PASS | PASS |
IDBDatabase interface object name | PASS | PASS | PASS | PASS |
IDBDatabase interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBDatabase interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBDatabase interface: attribute name | PASS | PASS | PASS | PASS |
IDBDatabase interface: attribute version | PASS | PASS | PASS | PASS |
IDBDatabase interface: attribute objectStoreNames | PASS | PASS | PASS | PASS |
IDBDatabase interface: operation transaction([object Object],[object Object], IDBTransactionMode) | PASS | FAIL | PASS | PASS |
IDBDatabase interface: operation close() | PASS | PASS | PASS | PASS |
IDBDatabase interface: operation createObjectStore(DOMString, IDBObjectStoreParameters) | PASS | FAIL | PASS | PASS |
IDBDatabase interface: operation deleteObjectStore(DOMString) | PASS | FAIL | PASS | PASS |
IDBDatabase interface: attribute onabort | PASS | FAIL | PASS | PASS |
IDBDatabase interface: attribute onclose | PASS | FAIL | PASS | PASS |
IDBDatabase interface: attribute onerror | PASS | FAIL | PASS | PASS |
IDBDatabase interface: attribute onversionchange | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBObjectStore interface object length | PASS | FAIL | PASS | PASS |
IDBObjectStore interface object name | PASS | PASS | PASS | PASS |
IDBObjectStore interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBObjectStore interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBObjectStore interface: attribute name | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: attribute keyPath | PASS | PASS | PASS | PASS |
IDBObjectStore interface: attribute indexNames | PASS | PASS | PASS | PASS |
IDBObjectStore interface: attribute transaction | PASS | PASS | PASS | PASS |
IDBObjectStore interface: attribute autoIncrement | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation put(any, any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation add(any, any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation delete(any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation clear() | PASS | PASS | PASS | PASS |
IDBObjectStore interface: operation get(any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation getKey(any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation getAll(any, unsigned long) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation getAllKeys(any, unsigned long) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation count(any) | PASS | PASS | PASS | PASS |
IDBObjectStore interface: operation openCursor(any, IDBCursorDirection) | PASS | PASS | PASS | PASS |
IDBObjectStore interface: operation openKeyCursor(any, IDBCursorDirection) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation index(DOMString) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation createIndex(DOMString, [object Object],[object Object], IDBIndexParameters) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation deleteIndex(DOMString) | PASS | FAIL | PASS | PASS |
IDBIndex interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBIndex interface object length | PASS | FAIL | PASS | PASS |
IDBIndex interface object name | PASS | PASS | PASS | PASS |
IDBIndex interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBIndex interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBIndex interface: attribute name | PASS | FAIL | PASS | PASS |
IDBIndex interface: attribute objectStore | PASS | PASS | PASS | PASS |
IDBIndex interface: attribute keyPath | PASS | PASS | PASS | PASS |
IDBIndex interface: attribute multiEntry | PASS | FAIL | PASS | PASS |
IDBIndex interface: attribute unique | PASS | PASS | PASS | PASS |
IDBIndex interface: operation get(any) | PASS | FAIL | PASS | PASS |
IDBIndex interface: operation getKey(any) | PASS | FAIL | PASS | PASS |
IDBIndex interface: operation getAll(any, unsigned long) | PASS | FAIL | PASS | PASS |
IDBIndex interface: operation getAllKeys(any, unsigned long) | PASS | FAIL | PASS | PASS |
IDBIndex interface: operation count(any) | PASS | PASS | PASS | PASS |
IDBIndex interface: operation openCursor(any, IDBCursorDirection) | PASS | PASS | PASS | PASS |
IDBIndex interface: operation openKeyCursor(any, IDBCursorDirection) | PASS | PASS | PASS | PASS |
IDBKeyRange interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBKeyRange interface object length | PASS | FAIL | PASS | PASS |
IDBKeyRange interface object name | PASS | PASS | PASS | PASS |
IDBKeyRange interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBKeyRange interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBKeyRange interface: attribute lower | PASS | PASS | PASS | PASS |
IDBKeyRange interface: attribute upper | PASS | PASS | PASS | PASS |
IDBKeyRange interface: attribute lowerOpen | PASS | PASS | PASS | PASS |
IDBKeyRange interface: attribute upperOpen | PASS | PASS | PASS | PASS |
IDBKeyRange interface: operation only(any) | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: operation lowerBound(any, boolean) | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: operation upperBound(any, boolean) | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: operation bound(any, any, boolean, boolean) | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: operation includes(any) | PASS | FAIL | PASS | PASS |
IDBKeyRange must be primary interface of IDBKeyRange.only(0) | PASS | PASS | PASS | PASS |
Stringification of IDBKeyRange.only(0) | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "lower" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "upper" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "lowerOpen" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "upperOpen" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "only(any)" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: calling only(any) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "lowerBound(any, boolean)" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: calling lowerBound(any, boolean) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "upperBound(any, boolean)" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: calling upperBound(any, boolean) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "bound(any, any, boolean, boolean)" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: calling bound(any, any, boolean, boolean) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "includes(any)" with the proper type | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: calling includes(any) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | FAIL | PASS | PASS |
IDBCursor interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBCursor interface object length | PASS | FAIL | PASS | PASS |
IDBCursor interface object name | PASS | PASS | PASS | PASS |
IDBCursor interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBCursor interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBCursor interface: attribute source | PASS | PASS | PASS | PASS |
IDBCursor interface: attribute direction | PASS | PASS | PASS | PASS |
IDBCursor interface: attribute key | PASS | PASS | PASS | PASS |
IDBCursor interface: attribute primaryKey | PASS | PASS | PASS | PASS |
IDBCursor interface: operation advance(unsigned long) | PASS | FAIL | PASS | PASS |
IDBCursor interface: operation continue(any) | PASS | PASS | PASS | PASS |
IDBCursor interface: operation continuePrimaryKey(any, any) | PASS | FAIL | PASS | PASS |
IDBCursor interface: operation update(any) | PASS | FAIL | PASS | PASS |
IDBCursor interface: operation delete() | PASS | PASS | PASS | PASS |
IDBCursorWithValue interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBCursorWithValue interface object length | PASS | FAIL | PASS | PASS |
IDBCursorWithValue interface object name | PASS | PASS | PASS | PASS |
IDBCursorWithValue interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBCursorWithValue interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBCursorWithValue interface: attribute value | PASS | PASS | PASS | PASS |
IDBTransaction interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBTransaction interface object length | PASS | FAIL | PASS | PASS |
IDBTransaction interface object name | PASS | PASS | PASS | PASS |
IDBTransaction interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBTransaction interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBTransaction interface: attribute objectStoreNames | PASS | FAIL | PASS | PASS |
IDBTransaction interface: attribute mode | PASS | PASS | PASS | PASS |
IDBTransaction interface: attribute db | PASS | PASS | PASS | PASS |
IDBTransaction interface: attribute error | PASS | PASS | PASS | PASS |
IDBTransaction interface: operation objectStore(DOMString) | PASS | FAIL | PASS | PASS |
IDBTransaction interface: operation abort() | PASS | PASS | PASS | PASS |
IDBTransaction interface: attribute onabort | PASS | FAIL | PASS | PASS |
IDBTransaction interface: attribute oncomplete | PASS | FAIL | PASS | PASS |
IDBTransaction interface: attribute onerror | PASS | FAIL | PASS | PASS |
/IndexedDB/interfaces.worker.html | OK | OK | OK | OK |
Untitled | PASS | PASS | PASS | PASS |
WorkerGlobalScope interface: attribute indexedDB | PASS | PASS | PASS | PASS |
IDBRequest interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBRequest interface object length | PASS | FAIL | PASS | PASS |
IDBRequest interface object name | PASS | PASS | PASS | PASS |
IDBRequest interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBRequest interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute result | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute error | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute source | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute transaction | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute readyState | PASS | PASS | PASS | PASS |
IDBRequest interface: attribute onsuccess | PASS | FAIL | PASS | PASS |
IDBRequest interface: attribute onerror | PASS | FAIL | PASS | PASS |
IDBOpenDBRequest interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBOpenDBRequest interface object length | PASS | FAIL | PASS | PASS |
IDBOpenDBRequest interface object name | PASS | PASS | PASS | PASS |
IDBOpenDBRequest interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBOpenDBRequest interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBOpenDBRequest interface: attribute onblocked | PASS | FAIL | PASS | PASS |
IDBOpenDBRequest interface: attribute onupgradeneeded | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface object length | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface object name | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent interface: attribute oldVersion | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent interface: attribute newVersion | PASS | PASS | PASS | PASS |
IDBVersionChangeEvent must be primary interface of new IDBVersionChangeEvent('foo') | PASS | FAIL | PASS | PASS |
Stringification of new IDBVersionChangeEvent('foo') | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface: new IDBVersionChangeEvent('foo') must inherit property "oldVersion" with the proper type | PASS | FAIL | PASS | PASS |
IDBVersionChangeEvent interface: new IDBVersionChangeEvent('foo') must inherit property "newVersion" with the proper type | PASS | FAIL | PASS | PASS |
IDBFactory interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBFactory interface object length | PASS | FAIL | PASS | PASS |
IDBFactory interface object name | PASS | PASS | PASS | PASS |
IDBFactory interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBFactory interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBFactory interface: operation open(DOMString, unsigned long long) | PASS | FAIL | PASS | PASS |
IDBFactory interface: operation deleteDatabase(DOMString) | PASS | FAIL | PASS | PASS |
IDBFactory interface: operation cmp(any, any) | PASS | FAIL | PASS | PASS |
IDBFactory must be primary interface of self.indexedDB | PASS | PASS | PASS | PASS |
Stringification of self.indexedDB | PASS | PASS | PASS | PASS |
IDBFactory interface: self.indexedDB must inherit property "open(DOMString, unsigned long long)" with the proper type | PASS | PASS | PASS | PASS |
IDBFactory interface: calling open(DOMString, unsigned long long) on self.indexedDB with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBFactory interface: self.indexedDB must inherit property "deleteDatabase(DOMString)" with the proper type | PASS | PASS | PASS | PASS |
IDBFactory interface: calling deleteDatabase(DOMString) on self.indexedDB with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBFactory interface: self.indexedDB must inherit property "cmp(any, any)" with the proper type | PASS | PASS | PASS | PASS |
IDBFactory interface: calling cmp(any, any) on self.indexedDB with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBDatabase interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBDatabase interface object length | PASS | FAIL | PASS | PASS |
IDBDatabase interface object name | PASS | PASS | PASS | PASS |
IDBDatabase interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBDatabase interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBDatabase interface: attribute name | PASS | PASS | PASS | PASS |
IDBDatabase interface: attribute version | PASS | PASS | PASS | PASS |
IDBDatabase interface: attribute objectStoreNames | PASS | PASS | PASS | PASS |
IDBDatabase interface: operation transaction([object Object],[object Object], IDBTransactionMode) | PASS | FAIL | PASS | PASS |
IDBDatabase interface: operation close() | PASS | PASS | PASS | PASS |
IDBDatabase interface: operation createObjectStore(DOMString, IDBObjectStoreParameters) | PASS | FAIL | PASS | PASS |
IDBDatabase interface: operation deleteObjectStore(DOMString) | PASS | FAIL | PASS | PASS |
IDBDatabase interface: attribute onabort | PASS | FAIL | PASS | PASS |
IDBDatabase interface: attribute onclose | PASS | FAIL | PASS | PASS |
IDBDatabase interface: attribute onerror | PASS | FAIL | PASS | PASS |
IDBDatabase interface: attribute onversionchange | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBObjectStore interface object length | PASS | FAIL | PASS | PASS |
IDBObjectStore interface object name | PASS | PASS | PASS | PASS |
IDBObjectStore interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBObjectStore interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBObjectStore interface: attribute name | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: attribute keyPath | PASS | PASS | PASS | PASS |
IDBObjectStore interface: attribute indexNames | PASS | PASS | PASS | PASS |
IDBObjectStore interface: attribute transaction | PASS | PASS | PASS | PASS |
IDBObjectStore interface: attribute autoIncrement | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation put(any, any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation add(any, any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation delete(any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation clear() | PASS | PASS | PASS | PASS |
IDBObjectStore interface: operation get(any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation getKey(any) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation getAll(any, unsigned long) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation getAllKeys(any, unsigned long) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation count(any) | PASS | PASS | PASS | PASS |
IDBObjectStore interface: operation openCursor(any, IDBCursorDirection) | PASS | PASS | PASS | PASS |
IDBObjectStore interface: operation openKeyCursor(any, IDBCursorDirection) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation index(DOMString) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation createIndex(DOMString, [object Object],[object Object], IDBIndexParameters) | PASS | FAIL | PASS | PASS |
IDBObjectStore interface: operation deleteIndex(DOMString) | PASS | FAIL | PASS | PASS |
IDBIndex interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBIndex interface object length | PASS | FAIL | PASS | PASS |
IDBIndex interface object name | PASS | PASS | PASS | PASS |
IDBIndex interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBIndex interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBIndex interface: attribute name | PASS | FAIL | PASS | PASS |
IDBIndex interface: attribute objectStore | PASS | PASS | PASS | PASS |
IDBIndex interface: attribute keyPath | PASS | PASS | PASS | PASS |
IDBIndex interface: attribute multiEntry | PASS | FAIL | PASS | PASS |
IDBIndex interface: attribute unique | PASS | PASS | PASS | PASS |
IDBIndex interface: operation get(any) | PASS | FAIL | PASS | PASS |
IDBIndex interface: operation getKey(any) | PASS | FAIL | PASS | PASS |
IDBIndex interface: operation getAll(any, unsigned long) | PASS | FAIL | PASS | PASS |
IDBIndex interface: operation getAllKeys(any, unsigned long) | PASS | FAIL | PASS | PASS |
IDBIndex interface: operation count(any) | PASS | PASS | PASS | PASS |
IDBIndex interface: operation openCursor(any, IDBCursorDirection) | PASS | PASS | PASS | PASS |
IDBIndex interface: operation openKeyCursor(any, IDBCursorDirection) | PASS | PASS | PASS | PASS |
IDBKeyRange interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBKeyRange interface object length | PASS | FAIL | PASS | PASS |
IDBKeyRange interface object name | PASS | PASS | PASS | PASS |
IDBKeyRange interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBKeyRange interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBKeyRange interface: attribute lower | PASS | PASS | PASS | PASS |
IDBKeyRange interface: attribute upper | PASS | PASS | PASS | PASS |
IDBKeyRange interface: attribute lowerOpen | PASS | PASS | PASS | PASS |
IDBKeyRange interface: attribute upperOpen | PASS | PASS | PASS | PASS |
IDBKeyRange interface: operation only(any) | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: operation lowerBound(any, boolean) | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: operation upperBound(any, boolean) | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: operation bound(any, any, boolean, boolean) | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: operation includes(any) | PASS | FAIL | PASS | PASS |
IDBKeyRange must be primary interface of IDBKeyRange.only(0) | PASS | PASS | PASS | PASS |
Stringification of IDBKeyRange.only(0) | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "lower" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "upper" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "lowerOpen" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "upperOpen" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "only(any)" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: calling only(any) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "lowerBound(any, boolean)" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: calling lowerBound(any, boolean) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "upperBound(any, boolean)" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: calling upperBound(any, boolean) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "bound(any, any, boolean, boolean)" with the proper type | PASS | PASS | PASS | PASS |
IDBKeyRange interface: calling bound(any, any, boolean, boolean) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | PASS | PASS | PASS |
IDBKeyRange interface: IDBKeyRange.only(0) must inherit property "includes(any)" with the proper type | PASS | FAIL | PASS | PASS |
IDBKeyRange interface: calling includes(any) on IDBKeyRange.only(0) with too few arguments must throw TypeError | PASS | FAIL | PASS | PASS |
IDBCursor interface: existence and properties of interface object | PASS | PASS | PASS | PASS |
IDBCursor interface object length | PASS | FAIL | PASS | PASS |
IDBCursor interface object name | PASS | PASS | PASS | PASS |
IDBCursor interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBCursor interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBCursor interface: attribute source | PASS | PASS | PASS | PASS |
IDBCursor interface: attribute direction | PASS | PASS | PASS | PASS |
IDBCursor interface: attribute key | PASS | PASS | PASS | PASS |
IDBCursor interface: attribute primaryKey | PASS | PASS | PASS | PASS |
IDBCursor interface: operation advance(unsigned long) | PASS | FAIL | PASS | PASS |
IDBCursor interface: operation continue(any) | PASS | PASS | PASS | PASS |
IDBCursor interface: operation continuePrimaryKey(any, any) | PASS | FAIL | PASS | PASS |
IDBCursor interface: operation update(any) | PASS | FAIL | PASS | PASS |
IDBCursor interface: operation delete() | PASS | PASS | PASS | PASS |
IDBCursorWithValue interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBCursorWithValue interface object length | PASS | FAIL | PASS | PASS |
IDBCursorWithValue interface object name | PASS | PASS | PASS | PASS |
IDBCursorWithValue interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBCursorWithValue interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBCursorWithValue interface: attribute value | PASS | PASS | PASS | PASS |
IDBTransaction interface: existence and properties of interface object | PASS | FAIL | PASS | PASS |
IDBTransaction interface object length | PASS | FAIL | PASS | PASS |
IDBTransaction interface object name | PASS | PASS | PASS | PASS |
IDBTransaction interface: existence and properties of interface prototype object | PASS | PASS | PASS | PASS |
IDBTransaction interface: existence and properties of interface prototype object's "constructor" property | PASS | PASS | PASS | PASS |
IDBTransaction interface: attribute objectStoreNames | PASS | FAIL | PASS | PASS |
IDBTransaction interface: attribute mode | PASS | PASS | PASS | PASS |
IDBTransaction interface: attribute db | PASS | PASS | PASS | PASS |
IDBTransaction interface: attribute error | PASS | PASS | PASS | PASS |
IDBTransaction interface: operation objectStore(DOMString) | PASS | FAIL | PASS | PASS |
IDBTransaction interface: operation abort() | PASS | PASS | PASS | PASS |
IDBTransaction interface: attribute onabort | PASS | FAIL | PASS | PASS |
IDBTransaction interface: attribute oncomplete | PASS | FAIL | PASS | PASS |
IDBTransaction interface: attribute onerror | PASS | FAIL | PASS | PASS |
/IndexedDB/interleaved-cursors.html | OK | OK | OK | OK |
1 cursors | PASS | FAIL | PASS | PASS |
10 cursors | PASS | FAIL | PASS | PASS |
100 cursors | PASS | FAIL | PASS | PASS |
500 cursors | PASS | FAIL | PASS | PASS |
/IndexedDB/key-conversion-exceptions.htm | OK | OK | OK | OK |
IDBFactory cmp() static with throwing/invalid keys | PASS | FAIL | PASS | FAIL |
IDBCursor continue() method with throwing/invalid keys | PASS | FAIL | PASS | FAIL |
IndexedDB: Exceptions thrown during key conversion | PASS | FAIL | PASS | PASS |
IDBCursor update() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBKeyRange only() static with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBKeyRange lowerBound() static with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBKeyRange upperBound() static with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBKeyRange bound() static with throwing/invalid keys | PASS | FAIL | PASS | FAIL |
IDBObjectStore add() method with throwing/invalid keys | PASS | FAIL | PASS | FAIL |
IDBObjectStore put() method with throwing/invalid keys | PASS | FAIL | PASS | FAIL |
IDBObjectStore delete() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBObjectStore get() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBObjectStore getKey() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBObjectStore getAll() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBObjectStore getAllKeys() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBObjectStore count() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBObjectStore openCursor() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBObjectStore openKeyCursor() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBIndex get() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBIndex getKey() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBIndex getAll() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBIndex getAllKeys() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBIndex count() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBIndex openCursor() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
IDBIndex openKeyCursor() method with throwing/invalid keys | PASS | FAIL | PASS | PASS |
/IndexedDB/key_invalid.htm | OK | OK | OK | OK |
Invalid key - true | PASS | PASS | PASS | PASS |
Invalid key - false | PASS | PASS | PASS | PASS |
Invalid key - null | PASS | FAIL | PASS | PASS |
Invalid key - NaN | PASS | PASS | PASS | PASS |
Invalid key - undefined | PASS | PASS | PASS | PASS |
Invalid key - undefined2 | PASS | PASS | PASS | PASS |
Invalid key - function() {} | PASS | PASS | PASS | PASS |
Invalid key - {} | PASS | PASS | PASS | PASS |
Invalid key - { obj: 1 } | PASS | PASS | PASS | PASS |
Invalid key - Math | PASS | PASS | PASS | PASS |
Invalid key - window | PASS | PASS | PASS | PASS |
Invalid key - {length:0,constructor:Array} | PASS | PASS | PASS | PASS |
Invalid key - Array clone’s instance | PASS | PASS | PASS | PASS |
Invalid key - Array (object) | PASS | PASS | PASS | PASS |
Invalid key - String (object) | PASS | PASS | PASS | PASS |
Invalid key - new String() | PASS | FAIL | PASS | PASS |
Invalid key - new Number() | PASS | FAIL | PASS | PASS |
Invalid key - new Boolean() | PASS | PASS | PASS | PASS |
Invalid key - [{}] | PASS | PASS | PASS | PASS |
Invalid key - [[], [], [], [[ Date ]]] | PASS | PASS | PASS | PASS |
Invalid key - [undefined] | PASS | PASS | PASS | PASS |
Invalid key - [,1] | PASS | PASS | PASS | PASS |
Invalid key - document.getElementsByTagName("script") | PASS | PASS | PASS | PASS |
Invalid key - new Date(NaN) | PASS | FAIL | PASS | PASS |
Invalid key - new Date(Infinity) | PASS | FAIL | PASS | PASS |
Invalid key - /foo/ | PASS | FAIL | PASS | PASS |
Invalid key - new RegExp() | PASS | FAIL | PASS | PASS |
Invalid key - sparse array | PASS | PASS | PASS | PASS |
Invalid key - sparse array 2 | PASS | PASS | PASS | PASS |
Invalid key - [[1], [3], [7], [[ sparse array ]]] | PASS | PASS | PASS | PASS |
Invalid key - [1,2,3,,] | PASS | PASS | PASS | PASS |
Invalid key - array directly contains self | PASS | PASS | PASS | PASS |
Invalid key - array indirectly contains self | PASS | PASS | PASS | PASS |
Invalid key - array member contains self | PASS | PASS | PASS | PASS |
/IndexedDB/key_valid.html | OK | OK | OK | OK |
Valid key - new Date() | PASS | FAIL | PASS | PASS |
Valid key - new Date(0) | PASS | FAIL | PASS | PASS |
Valid key - [] | PASS | FAIL | PASS | PASS |
Valid key - new Array() | PASS | FAIL | PASS | PASS |
Valid key - ["undefined"] | PASS | FAIL | PASS | PASS |
Valid key - Infinity | PASS | FAIL | PASS | PASS |
Valid key - -Infinity | PASS | FAIL | PASS | PASS |
Valid key - 0 | PASS | FAIL | PASS | PASS |
Valid key - 1.5 | PASS | FAIL | PASS | PASS |
Valid key - 3e38 | PASS | FAIL | PASS | PASS |
Valid key - 3e-38 | PASS | FAIL | PASS | PASS |
Valid key - "foo" | PASS | FAIL | PASS | PASS |
Valid key - "\n" | PASS | FAIL | PASS | PASS |
Valid key - "" | PASS | FAIL | PASS | PASS |
Valid key - "\"" | PASS | FAIL | PASS | PASS |
Valid key - "\u1234" | PASS | FAIL | PASS | PASS |
Valid key - "\u0000" | PASS | FAIL | PASS | PASS |
Valid key - "NaN" | PASS | FAIL | PASS | PASS |
/IndexedDB/keygenerator-constrainterror.htm | OK | OK | OK | OK |
Keygenerator ConstraintError when using same id as already generated | PASS | PASS | PASS | PASS |
/IndexedDB/keygenerator-explicit.html | OK | ERROR | OK | OK |
Key generator vs. explicit key 53 bits | PASS | FAIL | PASS | PASS |
Key generator vs. explicit key greater than 53 bits, less than 64 bits | PASS | FAIL | PASS | PASS |
Key generator vs. explicit key greater than 53 bits, less than 64 bits (negative) | PASS | PASS | PASS | PASS |
Key generator vs. explicit key 63 bits | PASS | FAIL | PASS | FAIL |
Key generator vs. explicit key 63 bits (negative) | PASS | PASS | PASS | PASS |
Key generator vs. explicit key 64 bits | PASS | FAIL | PASS | FAIL |
Key generator vs. explicit key 64 bits (negative) | PASS | FAIL | PASS | PASS |
Key generator vs. explicit key greater than 64 bits, but still finite | PASS | FAIL | PASS | FAIL |
Key generator vs. explicit key greater than 64 bits, but still finite (negative) | PASS | FAIL | PASS | PASS |
Key generator vs. explicit key equal to Infinity | PASS | FAIL | PASS | FAIL |
Key generator vs. explicit key equal to -Infinity | PASS | FAIL | PASS | PASS |
/IndexedDB/keygenerator-inject.html | OK | OK | OK | OK |
Key is injected into value - single segment path | PASS | PASS | PASS | PASS |
Key is injected into value - multi-segment path | PASS | PASS | PASS | PASS |
Key is injected into value - multi-segment path, partially populated | PASS | PASS | PASS | PASS |
put() throws if key cannot be injected - single segment path | PASS | PASS | PASS | PASS |
put() throws if key cannot be injected - multi-segment path | PASS | FAIL | PASS | FAIL |
/IndexedDB/keygenerator-overflow.htm | OK | OK | OK | OK |
Keygenerator overflow | PASS | FAIL | PASS | PASS |
/IndexedDB/keygenerator.htm | OK | OK | OK | OK |
Keygenerator - starts at one, and increments by one | PASS | FAIL | PASS | PASS |
Keygenerator - increments by one from last set key | PASS | FAIL | PASS | PASS |
Keygenerator - don't increment when new key is not bigger than current | PASS | FAIL | PASS | PASS |
/IndexedDB/keyorder.htm | OK | OK | OK | OK |
Database readback sort - String < Array | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - String < Array | PASS | FAIL | PASS | PASS |
Database readback sort - float < String | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - float < String | PASS | FAIL | PASS | PASS |
Database readback sort - float < Date | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - float < Date | PASS | FAIL | PASS | PASS |
Database readback sort - float < Date < String < Array | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - float < Date < String < Array | PASS | FAIL | PASS | PASS |
Database readback sort - Date(1 sec ago) < Date(now) < Date(1 minute in future) | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - Date(1 sec ago) < Date(now) < Date(1 minute in future) | PASS | FAIL | PASS | PASS |
Database readback sort - -1.1 < 1 < 1.01337 < 1.013373 < 2 | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - -1.1 < 1 < 1.01337 < 1.013373 < 2 | PASS | FAIL | PASS | PASS |
Database readback sort - -Infinity < -0.01 < 0 < Infinity | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - -Infinity < -0.01 < 0 < Infinity | PASS | FAIL | PASS | PASS |
Database readback sort - "" < "a" < "ab" < "b" < "ba" | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - "" < "a" < "ab" < "b" < "ba" | PASS | FAIL | PASS | PASS |
Database readback sort - Arrays | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - Arrays | PASS | FAIL | PASS | PASS |
Database readback sort - Array.length: 10,000 < Array.length: 10,001 | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - Array.length: 10,000 < Array.length: 10,001 | PASS | FAIL | PASS | PASS |
Database readback sort - Infinity inside arrays | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - Infinity inside arrays | PASS | FAIL | PASS | PASS |
Database readback sort - Test different stuff at once | PASS | FAIL | PASS | PASS |
IDBKey.cmp sorted - Test different stuff at once | PASS | FAIL | PASS | PASS |
/IndexedDB/keypath-exceptions.htm | OK | ERROR | OK | OK |
The last element of keypath is validated | PASS | PASS | PASS | FAIL |
Key path evaluation: Exceptions from non-enumerable getters | PASS | PASS | FAIL | FAIL |
Key path evaluation: Exceptions from enumerable getters | PASS | PASS | PASS | FAIL |
Key path evaluation: Exceptions from non-enumerable getters on prototype | PASS | FAIL | FAIL | FAIL |
Key path evaluation: Exceptions from enumerable getters on prototype | PASS | FAIL | FAIL | FAIL |
Array key conversion should not invoke prototype getters | PASS | FAIL | PASS | FAIL |
/IndexedDB/keypath-special-identifiers.htm | OK | OK | OK | OK |
Type: String, identifier: length | PASS | - | FAIL | PASS |
Type: Array, identifier: length | PASS | - | PASS | PASS |
Type: Blob, identifier: size | PASS | - | PASS | PASS |
Type: Blob, identifier: type | PASS | - | PASS | PASS |
Type: File, identifier: name | PASS | - | PASS | PASS |
Type: File, identifier: lastModified | PASS | - | PASS | FAIL |
Type: File, identifier: lastModifiedDate | PASS | - | PASS | FAIL |
/IndexedDB/keypath.htm | OK | OK | OK | OK |
Keypath - my.key | PASS | FAIL | PASS | PASS |
Keypath - my.køi | PASS | FAIL | PASS | PASS |
Keypath - my.key_ya | PASS | FAIL | PASS | PASS |
Keypath - public.key$ya | PASS | FAIL | PASS | PASS |
Keypath - true.$ | PASS | FAIL | PASS | PASS |
Keypath - my._ | PASS | FAIL | PASS | PASS |
Keypath - delete.a7 | PASS | FAIL | PASS | PASS |
Keypath - p.p.p.p.p.p.p.p.p.p.p.p.p.p | PASS | FAIL | PASS | PASS |
Keypath - str.length | PASS | FAIL | PASS | PASS |
Keypath - arr.length | PASS | FAIL | PASS | PASS |
Keypath - length | PASS | FAIL | PASS | PASS |
Keypath - '' uses value as key | PASS | FAIL | PASS | PASS |
Keypath - [''] uses value as [key] | PASS | FAIL | PASS | PASS |
Keypath - ['x', 'y'] | PASS | FAIL | PASS | PASS |
Keypath - [['x'], 'y'] (stringifies) | PASS | FAIL | PASS | PASS |
Keypath - ['x', {toString->'y'}] (stringifies) | PASS | FAIL | PASS | PASS |
Keypath - name,type | PASS | FAIL | PASS | PASS |
Keypath - name,type.name | PASS | FAIL | PASS | PASS |
Keypath - array loop -> stringify becomes [''] | PASS | FAIL | PASS | PASS |
/IndexedDB/keypath_invalid.htm | OK | OK | OK | OK |
Invalid keyPath - "j a" | PASS | PASS | PASS | PASS |
Invalid keyPath - ".yo" | PASS | PASS | PASS | PASS |
Invalid keyPath - "yo,lo" | PASS | FAIL | PASS | PASS |
Invalid keyPath - [] | PASS | FAIL | PASS | PASS |
Invalid keyPath - ["array with space"] | PASS | PASS | PASS | PASS |
Invalid keyPath - multidimensional array (invalid toString) | PASS | FAIL | PASS | PASS |
Invalid keyPath - "3m" | PASS | FAIL | PASS | PASS |
Invalid keyPath - {toString->3m} | PASS | FAIL | PASS | PASS |
Invalid keyPath - "my.1337" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "..yo" | PASS | PASS | PASS | PASS |
Invalid keyPath - "y..o" | PASS | PASS | PASS | PASS |
Invalid keyPath - "y.o." | PASS | PASS | PASS | PASS |
Invalid keyPath - "y.o.." | PASS | PASS | PASS | PASS |
Invalid keyPath - "m.*" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "\"m\"" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "m%" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "m/" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "m/a" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "m&" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "m!" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "*" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "*.*" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "^m" | PASS | FAIL | PASS | PASS |
Invalid keyPath - "/m/" | PASS | FAIL | PASS | PASS |
/IndexedDB/keypath_maxsize.htm | OK | OK | OK | OK |
Keypath - ~260 chars | PASS | PASS | PASS | PASS |
Keypath - ~530 chars | PASS | PASS | PASS | PASS |
Keypath - ~1050 chars | PASS | PASS | PASS | PASS |
/IndexedDB/large-requests-abort.html | OK | OK | OK | OK |
small values | PASS | PASS | PASS | PASS |
large values | PASS | FAIL | PASS | PASS |
large value followed by small values | PASS | FAIL | PASS | PASS |
large values mixed with small values | PASS | FAIL | PASS | PASS |
/IndexedDB/list_ordering.htm | OK | OK | OK | OK |
objectStoreNames and indexNames order - numbers | PASS | PASS | PASS | PASS |
objectStoreNames and indexNames order - numbers 'overflow' | PASS | PASS | PASS | PASS |
objectStoreNames and indexNames order - lexigraphical string sort | PASS | PASS | PASS | PASS |
/IndexedDB/name-scopes.html | OK | OK | OK | OK |
Non-unique index keys | PASS | PASS | PASS | PASS |
Unique index keys | PASS | PASS | PASS | PASS |
/IndexedDB/nested-cloning-large-multiple.html | OK | OK | OK | OK |
multiple requests of objects with blobs and large typed arrays | PASS | FAIL | PASS | PASS |
multiple requests of objects with blobs and large typed arrays with key generator | PASS | FAIL | PASS | FAIL |
/IndexedDB/nested-cloning-large.html | OK | OK | OK | OK |
large typed array | PASS | FAIL | PASS | PASS |
blob with large typed array | PASS | FAIL | PASS | PASS |
blob with large typed array with key generator | PASS | FAIL | PASS | FAIL |
array of blobs and large typed arrays | PASS | FAIL | PASS | PASS |
array of blobs and large typed arrays with key generator | PASS | FAIL | PASS | FAIL |
object with blobs and large typed arrays | PASS | FAIL | PASS | PASS |
object with blobs and large typed arrays with key generator | PASS | FAIL | PASS | FAIL |
/IndexedDB/nested-cloning-small.html | OK | OK | OK | OK |
small typed array | PASS | FAIL | PASS | PASS |
blob | PASS | FAIL | PASS | PASS |
blob with small typed array | PASS | FAIL | PASS | PASS |
blob with small typed array with key generator | PASS | FAIL | PASS | FAIL |
blob array | PASS | FAIL | PASS | PASS |
blob array with key generator | PASS | FAIL | PASS | FAIL |
array of blobs and small typed arrays | PASS | FAIL | PASS | PASS |
array of blobs and small typed arrays with key generator | PASS | FAIL | PASS | FAIL |
/IndexedDB/objectstore_keyorder.htm | OK | OK | OK | OK |
Verify key sort order in an object store is 'number < Date < DOMString' | PASS | PASS | PASS | PASS |
/IndexedDB/open-request-queue.html | OK | TIMEOUT | OK | TIMEOUT |
Opens and deletes are processed in order | PASS | TIMEOUT | PASS | TIMEOUT |
/IndexedDB/parallel-cursors-upgrade.html | OK | OK | OK | OK |
2 cursors | PASS | PASS | PASS | PASS |
10 cursors | PASS | PASS | PASS | PASS |
100 cursors | PASS | PASS | PASS | PASS |
1000 cursors | PASS | PASS | PASS | PASS |
10000 cursors | PASS | PASS | PASS | PASS |
/IndexedDB/request-abort-ordering.html | OK | OK | OK | OK |
IndexedDB: request abort events are delivered in order | PASS | FAIL | PASS | PASS |
/IndexedDB/request-event-ordering.html | OK | OK | OK | OK |
small values | PASS | PASS | PASS | PASS |
large values | PASS | FAIL | PASS | PASS |
large value followed by small values | PASS | FAIL | PASS | PASS |
large values mixed with small values | PASS | FAIL | PASS | PASS |
/IndexedDB/request_bubble-and-capture.htm | OK | OK | OK | OK |
Bubbling and capturing of request events | PASS | FAIL | PASS | PASS |
/IndexedDB/string-list-ordering.htm | OK | OK | OK | OK |
Test string list ordering in IndexedDB | PASS | PASS | PASS | PASS |
/IndexedDB/transaction-abort-generator-revert.html | OK | OK | OK | OK |
The current number of a key generator is reverted when a versionchange transaction aborts | PASS | PASS | PASS | PASS |
The current number of a key generator is reverted when a readwrite transaction aborts | PASS | PASS | PASS | PASS |
/IndexedDB/transaction-abort-index-metadata-revert.html | OK | TIMEOUT | OK | OK |
Created stores get their indexes marked as deleted after the transaction that created them aborts | PASS | FAIL | PASS | PASS |
Deleted stores get their indexes marked as not-deleted after the transaction that deleted them aborts | PASS | FAIL | PASS | PASS |
Created+deleted stores still have their indexes marked as deleted after the transaction aborts | PASS | TIMEOUT | PASS | PASS |
Created indexes get marked as deleted after their transaction aborts | PASS | NOTRUN | PASS | PASS |
Deleted indexes get marked as not-deleted after the transaction aborts | PASS | NOTRUN | PASS | PASS |
Created+deleted indexes are still marked as deleted after their transaction aborts | PASS | NOTRUN | PASS | PASS |
/IndexedDB/transaction-abort-multiple-metadata-revert.html | OK | TIMEOUT | OK | OK |
Deleted indexes in newly created stores are still marked as deleted after the transaction aborts | PASS | FAIL | PASS | PASS |
Deleted indexes in deleted stores are still marked as not-deleted after the transaction aborts | PASS | TIMEOUT | PASS | PASS |
Deleted indexes in created+deleted stores are still marked as deleted after their transaction aborts | PASS | NOTRUN | PASS | PASS |
/IndexedDB/transaction-abort-object-store-metadata-revert.html | OK | TIMEOUT | OK | OK |
Created stores get marked as deleted after their transaction aborts | PASS | FAIL | PASS | PASS |
Deleted stores get marked as not-deleted after the transaction aborts | PASS | TIMEOUT | PASS | PASS |
Created+deleted stores are still marked as deleted after their transaction aborts | PASS | NOTRUN | PASS | PASS |
Un-instantiated deleted stores get marked as not-deleted after the transaction aborts | PASS | NOTRUN | PASS | PASS |
/IndexedDB/transaction-abort-request-error.html | OK | OK | OK | OK |
Properties of error events fired at requests when aborting a transaction | PASS | PASS | PASS | FAIL |
/IndexedDB/transaction-create_in_versionchange.htm | OK | OK | OK | OK |
Attempt to create new transactions inside a versionchange transaction | PASS | PASS | PASS | PASS |
/IndexedDB/transaction-deactivation-timing.html | OK | OK | OK | OK |
New transactions are deactivated before next task | PASS | FAIL | PASS | PASS |
New transactions are not deactivated until after the microtask checkpoint | PASS | PASS | FAIL | PASS |
New transactions from microtask are deactivated before next task | PASS | FAIL | PASS | PASS |
New transactions from microtask are still active through the microtask checkpoint | PASS | PASS | FAIL | PASS |
Deactivation of new transactions happens at end of invocation | PASS | FAIL | FAIL | PASS |
/IndexedDB/transaction-lifetime-blocked.htm | OK | OK | OK | OK |
Blocked event | PASS | FAIL | PASS | PASS |
/IndexedDB/transaction-lifetime-empty.html | OK | OK | OK | OK |
Transactions without requests complete in the expected order | PASS | PASS | PASS | PASS |
Multiple transactions without requests complete in the expected order | PASS | PASS | PASS | PASS |
/IndexedDB/transaction-lifetime.htm | OK | OK | OK | OK |
Test events opening a second database when one connection is open already | PASS | FAIL | PASS | PASS |
/IndexedDB/transaction-requestqueue.htm | OK | OK | OK | OK |
Transactions have a request queue | PASS | PASS | PASS | PASS |
/IndexedDB/transaction_bubble-and-capture.htm | OK | OK | OK | OK |
Capture and bubble | PASS | FAIL | PASS | PASS |
/IndexedDB/upgrade-transaction-deactivation-timing.html | OK | OK | OK | OK |
Upgrade transactions are active in upgradeneeded callback | PASS | PASS | PASS | PASS |
Upgrade transactions are active in upgradeneeded callback and microtasks | PASS | PASS | FAIL | PASS |
Upgrade transactions are deactivated before next task | PASS | FAIL | PASS | PASS |
/IndexedDB/upgrade-transaction-lifecycle-backend-aborted.html | OK | OK | ERROR | OK |
in the abort event handler for a transaction aborted due to an unhandled request error | PASS | FAIL | PASS | PASS |
in a setTimeout(0) callback after the abort event is fired for a transaction aborted due to an unhandled request failure | PASS | FAIL | PASS | PASS |
/IndexedDB/upgrade-transaction-lifecycle-committed.html | OK | OK | OK | OK |
in the complete event handler for a committed transaction | PASS | PASS | PASS | PASS |
in a setTimeout(0) callback after the complete event is fired for a committed transaction | PASS | PASS | PASS | PASS |
/IndexedDB/upgrade-transaction-lifecycle-user-aborted.html | OK | OK | OK | OK |
synchronously after abort() is called | PASS | FAIL | PASS | PASS |
in a promise microtask after abort() is called, before the transaction abort event is fired | PASS | FAIL | FAIL | PASS |
in the abort event handler for a transaction aborted due to an abort() call | PASS | FAIL | PASS | PASS |
in a setTimeout(0) callback after the abort event is fired for a transaction aborted due to an abort() call | PASS | FAIL | PASS | PASS |
/IndexedDB/value.htm | OK | OK | OK | OK |
Values - Date | PASS | PASS | PASS | PASS |
Values - Array | PASS | PASS | PASS | PASS |
/IndexedDB/value_recursive.htm | OK | OK | OK | OK |
Recursive value - array directly contains self | PASS | PASS | PASS | PASS |
Recursive value - array indirectly contains self | PASS | PASS | PASS | PASS |
Recursive value - array member contains self | PASS | PASS | PASS | PASS |
/IndexedDB/writer-starvation.htm | OK | OK | OK | OK |
Writer starvation | PASS | PASS | PASS | PASS |