Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IndexedDB: Add tests for request properties during/after open/delete #5899

Merged
merged 3 commits into from May 17, 2017
Merged

IndexedDB: Add tests for request properties during/after open/delete #5899

merged 3 commits into from May 17, 2017

Conversation

inexorabletash
Copy link
Contributor

@inexorabletash inexorabletash commented May 12, 2017

Tests for cases in w3c/IndexedDB#202 that weren't obviously covered already - the properties of the request (readyState, result, error) during upgradeneeded, after transaction complete/abort, and after success/error.

The tests pass locally in Firefox and Chrome.

@inexorabletash
Copy link
Contributor Author

@pwnall - can you review?

@w3c-bots
Copy link

w3c-bots commented May 12, 2017

*This report has been truncated because the total content is 225661 characters in length, which is in excess of GitHub.com's limit for comments (65536 characters).

View the complete job log.

Firefox (nightly)

Testing web-platform-tests at revision fb5efa4
Using browser at version BuildID 20170517100341; SourceStamp 6e3ca5b38f7173b214b10de49e58cb01890bf39d
Starting 10 test iterations
All results were stable

All results

308 tests ran
/IndexedDB/abort-in-initial-upgradeneeded.html
Subtest Results Messages
OK
Test that an abort in the initial upgradeneeded sets version back to 0 PASS
/IndexedDB/bindings-inject-key.html
Subtest Results Messages
OK
Returning keys to script should bypass prototype setters PASS
Returning values to script should bypass prototype setters PASS
Returning values to script should bypass prototype chain PASS
/IndexedDB/clone-before-keypath-eval.html
Subtest Results Messages
OK
Key generator and key path validity check operates on a clone FAIL assert_equals: put() operation should access primary key property once expected 1 but got 2
Failing key path validity check operates on a clone FAIL assert_equals: put() operation should access primary key property once expected 1 but got 2
Index key path evaluations operate on a clone FAIL assert_equals: put() should access index key property once expected 1 but got 2
Store and index key path evaluations operate on the same clone FAIL assert_equals: put() should access primary key property once expected 1 but got 2
Cursor update checks and keypath evaluations operate on a clone FAIL assert_equals: put() should access primary key property once expected 1 but got 3
/IndexedDB/close-in-upgradeneeded.html
Subtest Results Messages
OK
When db.close is called in upgradeneeded, the db is cleaned up on refresh PASS
/IndexedDB/cursor-overloads.htm
Subtest Results Messages
OK
Validate the overloads of IDBObjectStore.openCursor(), IDBIndex.openCursor() and IDBIndex.openKeyCursor() PASS
/IndexedDB/delete-request-queue.html
Subtest Results Messages
OK
Deletes are processed in order PASS
/IndexedDB/error-attributes.html
Subtest Results Messages
OK
IDBRequest and IDBTransaction error properties should be DOMExceptions FAIL assert_true: expected true got false
/IndexedDB/event-dispatch-active-flag.html
Subtest Results Messages
OK
Transactions are active during success handlers FAIL assert_true: Transaction should be active in handler's microtasks expected true got false
Transactions are active during success listeners FAIL assert_true: Transaction should be active in listener's microtasks expected true got false
Transactions are active during error handlers FAIL assert_true: Transaction should be active in handler's microtasks expected true got false
Transactions are active during error listeners FAIL assert_true: Transaction should be active in listener's microtasks expected true got false
/IndexedDB/fire-error-event-exception.html
Subtest Results Messages
OK
Exception in error event handler on request PASS
Exception in error event handler on request, with preventDefault PASS
Exception in error event listener on request PASS
Exception in second error event listener on request PASS
Exception in first error event listener on request, transaction active in second PASS
Exception in error event handler on transaction PASS
Exception in error event handler on transaction, with preventDefault PASS
Exception in error event listener on transaction PASS
Exception in second error event listener on transaction PASS
Exception in first error event listener on transaction, transaction active in second PASS
Exception in error event handler on connection PASS
Exception in error event handler on connection, with preventDefault PASS
Exception in error event listener on connection PASS
Exception in second error event listener on connection PASS
Exception in first error event listener on connection, transaction active in second PASS
/IndexedDB/fire-success-event-exception.html
Subtest Results Messages
OK
Exception in success event handler on request PASS
Exception in success event listener on request PASS
Exception in second success event listener on request PASS
Exception in first success event listener, tx active in second PASS
/IndexedDB/fire-upgradeneeded-event-exception.html
Subtest Results Messages
OK
Exception in upgradeneeded handler PASS
Exception in upgradeneeded listener PASS
Exception in second upgradeneeded listener PASS
Exception in first upgradeneeded listener, tx active in second PASS
/IndexedDB/idb-binary-key-detached.htm
Subtest Results Messages
OK
Detached ArrayBuffer FAIL assert_throws: function "() => { store.put('', buffer); }" did not throw
Detached TypedArray FAIL assert_throws: function "() => { store.put('', array); }" did not throw
/IndexedDB/idb-binary-key-roundtrip.htm
Subtest Results Messages
OK
Binary keys can be supplied using the view type Uint8Array FAIL Data provided to an operation does not meet requirements.
Binary keys can be supplied using the view type Uint8ClampedArray FAIL Data provided to an operation does not meet requirements.
Binary keys can be supplied using the view type Int8Array FAIL Data provided to an operation does not meet requirements.
Binary keys can be supplied using the view type Uint16Array FAIL Data provided to an operation does not meet requirements.
Binary keys can be supplied using the view type Int16Array FAIL Data provided to an operation does not meet requirements.
Binary keys can be supplied using the view type Uint32Array FAIL Data provided to an operation does not meet requirements.
Binary keys can be supplied using the view type Int32Array FAIL Data provided to an operation does not meet requirements.
Binary keys can be supplied using the view type Float32Array FAIL Data provided to an operation does not meet requirements.
Binary keys can be supplied using the view type Float64Array FAIL Data provided to an operation does not meet requirements.
ArrayBuffer can be used to supply a binary key FAIL Data provided to an operation does not meet requirements.
DataView can be used to supply a binary key FAIL Data provided to an operation does not meet requirements.
DataView with explicit offset can be used to supply a binary key FAIL Data provided to an operation does not meet requirements.
DataView with explicit offset and length can be used to supply a binary key FAIL Data provided to an operation does not meet requirements.
Uint8Array with explicit offset can be used to supply a binary key FAIL Data provided to an operation does not meet requirements.
Uint8Array with explicit offset and length can be used to supply a binary key FAIL Data provided to an operation does not meet requirements.
/IndexedDB/idb_webworkers.htm
Subtest Results Messages
OK
IndexedDB inside of a WebWorker PASS
/IndexedDB/idbcursor-advance-continue-async.htm
Subtest Results Messages
OK
IDBCursor asyncness - advance PASS
IDBCursor asyncness - continue PASS
IDBCursor asyncness - fresh advance still async PASS
IDBCursor asyncness - fresh continue still async PASS
/IndexedDB/idbcursor-advance-exception-order.html
Subtest Results Messages
OK
IDBCursor.advance exception order: TypeError vs. TransactionInactiveError PASS
IDBCursor.advance exception order: TransactionInactiveError vs. InvalidStateError #1 PASS
IDBCursor.advance exception order: TransactionInactiveError vs. InvalidStateError #2 PASS
/IndexedDB/idbcursor-advance-invalid.htm
Subtest Results Messages
OK
IDBCursor.advance() - invalid - attempt to call advance twice PASS
IDBCursor.advance() - invalid - pass something other than number PASS
IDBCursor.advance() - invalid - pass null/undefined PASS
IDBCursor.advance() - invalid - missing argument PASS
IDBCursor.advance() - invalid - pass negative numbers PASS
IDBCursor.advance() - invalid - got value not set on exception PASS
/IndexedDB/idbcursor-advance.htm
Subtest Results Messages
OK
IDBCursor.advance() - advances PASS
IDBCursor.advance() - advances backwards PASS
IDBCursor.advance() - skip far forward PASS
IDBCursor.advance() - within range PASS
IDBCursor.advance() - within single key range PASS
IDBCursor.advance() - within single key range, with several results PASS
/IndexedDB/idbcursor-continue-exception-order.htm
Subtest Results Messages
OK
IDBCursor.continue exception order: TransactionInactiveError vs. DataError PASS
IDBCursor.continue exception order: TransactionInactiveError vs. InvalidStateError PASS
IDBCursor.continue exception order: InvalidStateError vs. DataError PASS
/IndexedDB/idbcursor-continue.htm
Subtest Results Messages
OK
IDBCursor.continue() - continues PASS
IDBCursor.continue() - with given key PASS
IDBCursor.continue() - skip far forward PASS
IDBCursor.continue() - within range PASS
IDBCursor.continue() - within single key range PASS
IDBCursor.continue() - within single key range, with several results PASS
/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm
Subtest Results Messages
OK
TransactionInactiveError v.s. InvalidStateError(deleted index) PASS
InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect source) PASS
InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect direction) PASS
InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration complete) PASS
InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration ongoing) PASS
InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration ongoing) PASS
InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration complete) PASS
InvalidStateError(iteration ongoing) v.s. DataError(unset key) PASS
InvalidStateError(iteration complete) v.s. DataError(unset key) PASS
DataError(unset key) PASS
DataError(unset primary key) PASS
DataError(keys are lower then current one) in 'next' direction PASS
DataError(keys are larger then current one) in 'prev' direction PASS
/IndexedDB/idbcursor-continuePrimaryKey.htm
Subtest Results Messages
OK
IndexedDB: IDBCursor method continuePrimaryKey() FAIL assert_equals: cursor => { cursor.continuePrimaryKey('a', 4); } - result primary key expected 1 but got 4
/IndexedDB/idbcursor-delete-exception-order.htm
Subtest Results Messages
OK
IDBCursor.delete exception order: TransactionInactiveError vs. ReadOnlyError PASS
IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #1 PASS
IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #2 PASS
/IndexedDB/idbcursor-direction-index-keyrange.htm
Subtest Results Messages
OK
IDBCursor direction - index with keyrange - next PASS
IDBCursor direction - index with keyrange - prev PASS
IDBCursor direction - index with keyrange - nextunique PASS
IDBCursor direction - index with keyrange - prevunique PASS
/IndexedDB/idbcursor-direction-index.htm
Subtest Results Messages
OK
IDBCursor direction - index - next PASS
IDBCursor direction - index - prev PASS
IDBCursor direction - index - nextunique PASS
IDBCursor direction - index - prevunique PASS
/IndexedDB/idbcursor-direction-objectstore-keyrange.htm
Subtest Results Messages
OK
IDBCursor direction - object store with keyrange - next PASS
IDBCursor direction - object store with keyrange - prev PASS
IDBCursor direction - object store with keyrange - nextunique PASS
IDBCursor direction - object store with keyrange - prevunique PASS
/IndexedDB/idbcursor-direction-objectstore.htm
Subtest Results Messages
OK
IDBCursor direction - object store - next PASS
IDBCursor direction - object store - prev PASS
IDBCursor direction - object store - nextunique PASS
IDBCursor direction - object store - prevunique PASS
/IndexedDB/idbcursor-direction.htm
Subtest Results Messages
OK
IDBCursor.direction - undefined PASS
IDBCursor.direction - next PASS
IDBCursor.direction - prev PASS
IDBCursor.direction - nextunique PASS
IDBCursor.direction - prevunique PASS
/IndexedDB/idbcursor-key.htm
Subtest Results Messages
OK
IDBCursor.key - 1 PASS
IDBCursor.key - key PASS
IDBCursor.key - my,key PASS
/IndexedDB/idbcursor-primarykey.htm
Subtest Results Messages
OK
IDBCursor.primaryKey - 1 PASS
IDBCursor.primaryKey - key PASS
IDBCursor.primaryKey - my,key PASS
/IndexedDB/idbcursor-reused.htm
Subtest Results Messages
OK
IDBCursor is reused PASS
/IndexedDB/idbcursor-source.htm
Subtest Results Messages
OK
IDBCursor.source - IDBObjectStore PASS
IDBCursor.source - IDBIndex PASS
/IndexedDB/idbcursor-update-exception-order.htm
Subtest Results Messages
OK
IDBCursor.update exception order: TransactionInactiveError vs. ReadOnlyError PASS
IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #1 PASS
IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #2 PASS
IDBCursor.update exception order: InvalidStateError vs. DataError PASS
/IndexedDB/idbcursor_advance_index.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - iterate cursor number of times specified by count PASS
/IndexedDB/idbcursor_advance_index2.htm
Subtest Results Messages
OK
IDBCursor.advance() - attempt to pass a count parameter that is not a number PASS
/IndexedDB/idbcursor_advance_index3.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - attempt to advance backwards PASS
/IndexedDB/idbcursor_advance_index5.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - iterate to the next record PASS
/IndexedDB/idbcursor_advance_index6.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw TypeError PASS
/IndexedDB/idbcursor_advance_index7.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_advance_index8.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw InvalidStateError PASS
/IndexedDB/idbcursor_advance_index9.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_advance_objectstore.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - iterate cursor number of times specified by count PASS
/IndexedDB/idbcursor_advance_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw TypeError PASS
/IndexedDB/idbcursor_advance_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_advance_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw InvalidStateError PASS
/IndexedDB/idbcursor_advance_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_continue_index.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - iterate to the next record PASS
/IndexedDB/idbcursor_continue_index2.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - attempt to pass a key parameter that is not a valid key PASS
/IndexedDB/idbcursor_continue_index3.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - attempt to iterate to the previous record when the direction is set for the next record PASS
/IndexedDB/idbcursor_continue_index4.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - attempt to iterate to the next record when the direction is set for the previous record PASS
/IndexedDB/idbcursor_continue_index5.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - iterate using 'prevunique' PASS
/IndexedDB/idbcursor_continue_index6.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - iterate using nextunique PASS
/IndexedDB/idbcursor_continue_index7.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_continue_index8.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_continue_invalid.htm
Subtest Results Messages
OK
IDBCursor.continue() - attempt to call continue two times PASS
/IndexedDB/idbcursor_continue_objectstore.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - iterate to the next record PASS
/IndexedDB/idbcursor_continue_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - attempt to pass a key parameter is not a valid key PASS
/IndexedDB/idbcursor_continue_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - attempt to iterate to the previous record when the direction is set for the next record PASS
/IndexedDB/idbcursor_continue_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - attempt to iterate to the next record when the direction is set for the previous record PASS
/IndexedDB/idbcursor_continue_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_continue_objectstore6.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_delete_index.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - remove a record from the object store PASS
/IndexedDB/idbcursor_delete_index2.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - attempt to remove a record in a read-only transaction PASS
/IndexedDB/idbcursor_delete_index3.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - attempt to remove a record in an inactive transaction PASS
/IndexedDB/idbcursor_delete_index4.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_delete_index5.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - throw InvalidStateError when the cursor is being iterated PASS
/IndexedDB/idbcursor_delete_objectstore.htm
Subtest Results Messages
OK
IDBCursor.delete() - object store - remove a record from the object store PASS
/IndexedDB/idbcursor_delete_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.delete() - object store - attempt to remove a record in a read-only transaction PASS
/IndexedDB/idbcursor_delete_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - attempt to remove a record in an inactive transaction PASS
/IndexedDB/idbcursor_delete_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.delete() - object store - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_delete_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.delete() - object store - throw InvalidStateError when the cursor is being iterated PASS
/IndexedDB/idbcursor_iterating.htm
Subtest Results Messages
OK
IDBCursor.continue() - objectstore - delete next element, and iterate to it PASS
/IndexedDB/idbcursor_iterating_index.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - delete next element, and iterate to it PASS
/IndexedDB/idbcursor_iterating_index2.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - add next element, and iterate to it PASS
/IndexedDB/idbcursor_iterating_objectstore.htm
Subtest Results Messages
OK
IDBCursor.continue() - objectstore - delete next element, and iterate to it PASS
/IndexedDB/idbcursor_iterating_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.continue() - objectstore - add next element, and iterate to it PASS
/IndexedDB/idbcursor_update_index.htm
Subtest Results Messages
OK
IDBCursor.update() - index - modify a record in the object store PASS
/IndexedDB/idbcursor_update_index2.htm
Subtest Results Messages
OK
IDBCursor.update() - index - attempt to modify a record in a read-only transaction PASS
/IndexedDB/idbcursor_update_index3.htm
Subtest Results Messages
OK
IDBCursor.update() - index - attempt to modify a record in an inactive transaction PASS
/IndexedDB/idbcursor_update_index4.htm
Subtest Results Messages
OK
IDBCursor.update() - index - attempt to modify a record when object store been deleted PASS
/IndexedDB/idbcursor_update_index5.htm
Subtest Results Messages
OK
IDBCursor.update() - index - throw DataCloneError PASS
/IndexedDB/idbcursor_update_index6.htm
Subtest Results Messages
OK
IDBCursor.update() - index - no argument PASS
/IndexedDB/idbcursor_update_index7.htm
Subtest Results Messages
OK
IDBCursor.update() - index - throw DataError PASS
/IndexedDB/idbcursor_update_index8.htm
Subtest Results Messages
OK
IDBCursor.update() - index - throw InvalidStateError when the cursor is being iterated PASS
/IndexedDB/idbcursor_update_objectstore.htm
Subtest Results Messages
OK
IDBCursor.update() - objectstore - modify a record in the object store PASS
/IndexedDB/idbcursor_update_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - attempt to modify a record in a read-only transaction PASS
/IndexedDB/idbcursor_update_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - attempt to modify a record in an inactive transaction PASS
/IndexedDB/idbcursor_update_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.update() - index - modify a record in the object store PASS
/IndexedDB/idbcursor_update_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - attempt to modify a record when object store been deleted PASS
/IndexedDB/idbcursor_update_objectstore6.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - throw DataCloneError PASS
/IndexedDB/idbcursor_update_objectstore7.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - no argument PASS
/IndexedDB/idbcursor_update_objectstore8.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - throw DataError PASS
/IndexedDB/idbcursor_update_objectstore9.htm

| Subtest

@w3c-bots
Copy link

w3c-bots commented May 12, 2017

*This report has been truncated because the total content is 214623 characters in length, which is in excess of GitHub.com's limit for comments (65536 characters).

View the complete job log.

Chrome (unstable)

Testing web-platform-tests at revision fb5efa4
Using browser at version 60.0.3100.0 dev
Starting 10 test iterations
All results were stable

All results

308 tests ran
/IndexedDB/abort-in-initial-upgradeneeded.html
Subtest Results Messages
OK
Test that an abort in the initial upgradeneeded sets version back to 0 PASS
/IndexedDB/bindings-inject-key.html
Subtest Results Messages
OK
Returning keys to script should bypass prototype setters PASS
Returning values to script should bypass prototype setters PASS
Returning values to script should bypass prototype chain PASS
/IndexedDB/clone-before-keypath-eval.html
Subtest Results Messages
OK
Key generator and key path validity check operates on a clone PASS
Failing key path validity check operates on a clone PASS
Index key path evaluations operate on a clone PASS
Store and index key path evaluations operate on the same clone PASS
Cursor update checks and keypath evaluations operate on a clone PASS
/IndexedDB/close-in-upgradeneeded.html
Subtest Results Messages
OK
When db.close is called in upgradeneeded, the db is cleaned up on refresh PASS
/IndexedDB/cursor-overloads.htm
Subtest Results Messages
OK
Validate the overloads of IDBObjectStore.openCursor(), IDBIndex.openCursor() and IDBIndex.openKeyCursor() PASS
/IndexedDB/delete-request-queue.html
Subtest Results Messages
OK
Deletes are processed in order PASS
/IndexedDB/error-attributes.html
Subtest Results Messages
OK
IDBRequest and IDBTransaction error properties should be DOMExceptions PASS
/IndexedDB/event-dispatch-active-flag.html
Subtest Results Messages
OK
Transactions are active during success handlers PASS
Transactions are active during success listeners PASS
Transactions are active during error handlers PASS
Transactions are active during error listeners PASS
/IndexedDB/fire-error-event-exception.html
Subtest Results Messages
OK
Exception in error event handler on request PASS
Exception in error event handler on request, with preventDefault PASS
Exception in error event listener on request PASS
Exception in second error event listener on request PASS
Exception in first error event listener on request, transaction active in second PASS
Exception in error event handler on transaction PASS
Exception in error event handler on transaction, with preventDefault PASS
Exception in error event listener on transaction PASS
Exception in second error event listener on transaction PASS
Exception in first error event listener on transaction, transaction active in second PASS
Exception in error event handler on connection PASS
Exception in error event handler on connection, with preventDefault PASS
Exception in error event listener on connection PASS
Exception in second error event listener on connection PASS
Exception in first error event listener on connection, transaction active in second PASS
/IndexedDB/fire-success-event-exception.html
Subtest Results Messages
OK
Exception in success event handler on request PASS
Exception in success event listener on request PASS
Exception in second success event listener on request PASS
Exception in first success event listener, tx active in second PASS
/IndexedDB/fire-upgradeneeded-event-exception.html
Subtest Results Messages
OK
Exception in upgradeneeded handler PASS
Exception in upgradeneeded listener PASS
Exception in second upgradeneeded listener PASS
Exception in first upgradeneeded listener, tx active in second PASS
/IndexedDB/idb-binary-key-detached.htm
Subtest Results Messages
OK
Detached ArrayBuffer PASS
Detached TypedArray PASS
/IndexedDB/idb-binary-key-roundtrip.htm
Subtest Results Messages
OK
Binary keys can be supplied using the view type Uint8Array PASS
Binary keys can be supplied using the view type Uint8ClampedArray PASS
Binary keys can be supplied using the view type Int8Array PASS
Binary keys can be supplied using the view type Uint16Array PASS
Binary keys can be supplied using the view type Int16Array PASS
Binary keys can be supplied using the view type Uint32Array PASS
Binary keys can be supplied using the view type Int32Array PASS
Binary keys can be supplied using the view type Float32Array PASS
Binary keys can be supplied using the view type Float64Array PASS
ArrayBuffer can be used to supply a binary key PASS
DataView can be used to supply a binary key PASS
DataView with explicit offset can be used to supply a binary key PASS
DataView with explicit offset and length can be used to supply a binary key PASS
Uint8Array with explicit offset can be used to supply a binary key PASS
Uint8Array with explicit offset and length can be used to supply a binary key PASS
/IndexedDB/idb_webworkers.htm
Subtest Results Messages
OK
IndexedDB inside of a WebWorker PASS
/IndexedDB/idbcursor-advance-continue-async.htm
Subtest Results Messages
OK
IDBCursor asyncness - advance PASS
IDBCursor asyncness - continue PASS
IDBCursor asyncness - fresh advance still async PASS
IDBCursor asyncness - fresh continue still async PASS
/IndexedDB/idbcursor-advance-exception-order.html
Subtest Results Messages
OK
IDBCursor.advance exception order: TypeError vs. TransactionInactiveError PASS
IDBCursor.advance exception order: TransactionInactiveError vs. InvalidStateError #1 PASS
IDBCursor.advance exception order: TransactionInactiveError vs. InvalidStateError #2 PASS
/IndexedDB/idbcursor-advance-invalid.htm
Subtest Results Messages
OK
IDBCursor.advance() - invalid - attempt to call advance twice PASS
IDBCursor.advance() - invalid - pass something other than number PASS
IDBCursor.advance() - invalid - pass null/undefined PASS
IDBCursor.advance() - invalid - missing argument PASS
IDBCursor.advance() - invalid - pass negative numbers PASS
IDBCursor.advance() - invalid - got value not set on exception PASS
/IndexedDB/idbcursor-advance.htm
Subtest Results Messages
OK
IDBCursor.advance() - advances PASS
IDBCursor.advance() - advances backwards PASS
IDBCursor.advance() - skip far forward PASS
IDBCursor.advance() - within range PASS
IDBCursor.advance() - within single key range PASS
IDBCursor.advance() - within single key range, with several results PASS
/IndexedDB/idbcursor-continue-exception-order.htm
Subtest Results Messages
OK
IDBCursor.continue exception order: TransactionInactiveError vs. DataError PASS
IDBCursor.continue exception order: TransactionInactiveError vs. InvalidStateError PASS
IDBCursor.continue exception order: InvalidStateError vs. DataError PASS
/IndexedDB/idbcursor-continue.htm
Subtest Results Messages
OK
IDBCursor.continue() - continues PASS
IDBCursor.continue() - with given key PASS
IDBCursor.continue() - skip far forward PASS
IDBCursor.continue() - within range PASS
IDBCursor.continue() - within single key range PASS
IDBCursor.continue() - within single key range, with several results PASS
/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm
Subtest Results Messages
OK
TransactionInactiveError v.s. InvalidStateError(deleted index) PASS
InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect source) PASS
InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect direction) PASS
InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration complete) PASS
InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration ongoing) PASS
InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration ongoing) PASS
InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration complete) PASS
InvalidStateError(iteration ongoing) v.s. DataError(unset key) PASS
InvalidStateError(iteration complete) v.s. DataError(unset key) PASS
DataError(unset key) PASS
DataError(unset primary key) PASS
DataError(keys are lower then current one) in 'next' direction PASS
DataError(keys are larger then current one) in 'prev' direction PASS
/IndexedDB/idbcursor-continuePrimaryKey.htm
Subtest Results Messages
OK
IndexedDB: IDBCursor method continuePrimaryKey() PASS
/IndexedDB/idbcursor-delete-exception-order.htm
Subtest Results Messages
OK
IDBCursor.delete exception order: TransactionInactiveError vs. ReadOnlyError PASS
IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #1 PASS
IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #2 PASS
/IndexedDB/idbcursor-direction-index-keyrange.htm
Subtest Results Messages
OK
IDBCursor direction - index with keyrange - next PASS
IDBCursor direction - index with keyrange - prev PASS
IDBCursor direction - index with keyrange - nextunique PASS
IDBCursor direction - index with keyrange - prevunique PASS
/IndexedDB/idbcursor-direction-index.htm
Subtest Results Messages
OK
IDBCursor direction - index - next PASS
IDBCursor direction - index - prev PASS
IDBCursor direction - index - nextunique PASS
IDBCursor direction - index - prevunique PASS
/IndexedDB/idbcursor-direction-objectstore-keyrange.htm
Subtest Results Messages
OK
IDBCursor direction - object store with keyrange - next PASS
IDBCursor direction - object store with keyrange - prev PASS
IDBCursor direction - object store with keyrange - nextunique PASS
IDBCursor direction - object store with keyrange - prevunique PASS
/IndexedDB/idbcursor-direction-objectstore.htm
Subtest Results Messages
OK
IDBCursor direction - object store - next PASS
IDBCursor direction - object store - prev PASS
IDBCursor direction - object store - nextunique PASS
IDBCursor direction - object store - prevunique PASS
/IndexedDB/idbcursor-direction.htm
Subtest Results Messages
OK
IDBCursor.direction - undefined PASS
IDBCursor.direction - next PASS
IDBCursor.direction - prev PASS
IDBCursor.direction - nextunique PASS
IDBCursor.direction - prevunique PASS
/IndexedDB/idbcursor-key.htm
Subtest Results Messages
OK
IDBCursor.key - 1 PASS
IDBCursor.key - key PASS
IDBCursor.key - my,key PASS
/IndexedDB/idbcursor-primarykey.htm
Subtest Results Messages
OK
IDBCursor.primaryKey - 1 PASS
IDBCursor.primaryKey - key PASS
IDBCursor.primaryKey - my,key PASS
/IndexedDB/idbcursor-reused.htm
Subtest Results Messages
OK
IDBCursor is reused PASS
/IndexedDB/idbcursor-source.htm
Subtest Results Messages
OK
IDBCursor.source - IDBObjectStore PASS
IDBCursor.source - IDBIndex PASS
/IndexedDB/idbcursor-update-exception-order.htm
Subtest Results Messages
OK
IDBCursor.update exception order: TransactionInactiveError vs. ReadOnlyError PASS
IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #1 PASS
IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #2 PASS
IDBCursor.update exception order: InvalidStateError vs. DataError PASS
/IndexedDB/idbcursor_advance_index.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - iterate cursor number of times specified by count PASS
/IndexedDB/idbcursor_advance_index2.htm
Subtest Results Messages
OK
IDBCursor.advance() - attempt to pass a count parameter that is not a number PASS
/IndexedDB/idbcursor_advance_index3.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - attempt to advance backwards PASS
/IndexedDB/idbcursor_advance_index5.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - iterate to the next record PASS
/IndexedDB/idbcursor_advance_index6.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw TypeError PASS
/IndexedDB/idbcursor_advance_index7.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_advance_index8.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw InvalidStateError PASS
/IndexedDB/idbcursor_advance_index9.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_advance_objectstore.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - iterate cursor number of times specified by count PASS
/IndexedDB/idbcursor_advance_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw TypeError PASS
/IndexedDB/idbcursor_advance_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_advance_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw InvalidStateError PASS
/IndexedDB/idbcursor_advance_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_continue_index.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - iterate to the next record PASS
/IndexedDB/idbcursor_continue_index2.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - attempt to pass a key parameter that is not a valid key PASS
/IndexedDB/idbcursor_continue_index3.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - attempt to iterate to the previous record when the direction is set for the next record PASS
/IndexedDB/idbcursor_continue_index4.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - attempt to iterate to the next record when the direction is set for the previous record PASS
/IndexedDB/idbcursor_continue_index5.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - iterate using 'prevunique' PASS
/IndexedDB/idbcursor_continue_index6.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - iterate using nextunique PASS
/IndexedDB/idbcursor_continue_index7.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_continue_index8.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_continue_invalid.htm
Subtest Results Messages
OK
IDBCursor.continue() - attempt to call continue two times PASS
/IndexedDB/idbcursor_continue_objectstore.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - iterate to the next record PASS
/IndexedDB/idbcursor_continue_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - attempt to pass a key parameter is not a valid key PASS
/IndexedDB/idbcursor_continue_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - attempt to iterate to the previous record when the direction is set for the next record PASS
/IndexedDB/idbcursor_continue_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - attempt to iterate to the next record when the direction is set for the previous record PASS
/IndexedDB/idbcursor_continue_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_continue_objectstore6.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_delete_index.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - remove a record from the object store PASS
/IndexedDB/idbcursor_delete_index2.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - attempt to remove a record in a read-only transaction PASS
/IndexedDB/idbcursor_delete_index3.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - attempt to remove a record in an inactive transaction PASS
/IndexedDB/idbcursor_delete_index4.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_delete_index5.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - throw InvalidStateError when the cursor is being iterated PASS
/IndexedDB/idbcursor_delete_objectstore.htm
Subtest Results Messages
OK
IDBCursor.delete() - object store - remove a record from the object store PASS
/IndexedDB/idbcursor_delete_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.delete() - object store - attempt to remove a record in a read-only transaction PASS
/IndexedDB/idbcursor_delete_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - attempt to remove a record in an inactive transaction PASS
/IndexedDB/idbcursor_delete_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.delete() - object store - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_delete_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.delete() - object store - throw InvalidStateError when the cursor is being iterated PASS
/IndexedDB/idbcursor_iterating.htm
Subtest Results Messages
OK
IDBCursor.continue() - objectstore - delete next element, and iterate to it PASS
/IndexedDB/idbcursor_iterating_index.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - delete next element, and iterate to it PASS
/IndexedDB/idbcursor_iterating_index2.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - add next element, and iterate to it PASS
/IndexedDB/idbcursor_iterating_objectstore.htm
Subtest Results Messages
OK
IDBCursor.continue() - objectstore - delete next element, and iterate to it PASS
/IndexedDB/idbcursor_iterating_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.continue() - objectstore - add next element, and iterate to it PASS
/IndexedDB/idbcursor_update_index.htm
Subtest Results Messages
OK
IDBCursor.update() - index - modify a record in the object store PASS
/IndexedDB/idbcursor_update_index2.htm
Subtest Results Messages
OK
IDBCursor.update() - index - attempt to modify a record in a read-only transaction PASS
/IndexedDB/idbcursor_update_index3.htm
Subtest Results Messages
OK
IDBCursor.update() - index - attempt to modify a record in an inactive transaction PASS
/IndexedDB/idbcursor_update_index4.htm
Subtest Results Messages
OK
IDBCursor.update() - index - attempt to modify a record when object store been deleted PASS
/IndexedDB/idbcursor_update_index5.htm
Subtest Results Messages
OK
IDBCursor.update() - index - throw DataCloneError PASS
/IndexedDB/idbcursor_update_index6.htm
Subtest Results Messages
OK
IDBCursor.update() - index - no argument PASS
/IndexedDB/idbcursor_update_index7.htm
Subtest Results Messages
OK
IDBCursor.update() - index - throw DataError PASS
/IndexedDB/idbcursor_update_index8.htm
Subtest Results Messages
OK
IDBCursor.update() - index - throw InvalidStateError when the cursor is being iterated PASS
/IndexedDB/idbcursor_update_objectstore.htm
Subtest Results Messages
OK
IDBCursor.update() - objectstore - modify a record in the object store PASS
/IndexedDB/idbcursor_update_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - attempt to modify a record in a read-only transaction PASS
/IndexedDB/idbcursor_update_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - attempt to modify a record in an inactive transaction PASS
/IndexedDB/idbcursor_update_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.update() - index - modify a record in the object store PASS
/IndexedDB/idbcursor_update_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - attempt to modify a record when object store been deleted PASS
/IndexedDB/idbcursor_update_objectstore6.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - throw DataCloneError PASS
/IndexedDB/idbcursor_update_objectstore7.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - no argument PASS
/IndexedDB/idbcursor_update_objectstore8.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - throw DataError PASS
/IndexedDB/idbcursor_update_objectstore9.htm
Subtest Results Messages
OK
IDBCursor.update() - object store - throw InvalidStateError when the cursor is being iterated PASS
/IndexedDB/idbdatabase-createObjectStore-exception-order.htm
Subtest Results Messages
OK
IDBDatabase.createObjectStore exception order: InvalidStateError vs. TransactionInactiveError PASS
IDBDatabase.createObjectStore exception order: TransactionInactiveError vs. SyntaxError PASS
IDBDatabase.createObjectStore exception order: SyntaxError vs. ConstraintError PASS
IDBDatabase.createObjectStore exception order: ConstraintError vs. InvalidAccessError PASS
/IndexedDB/idbdatabase-deleteObjectStore-exception-order.htm
Subtest Results Messages
OK
IDBDatabase.deleteObjectStore exception order: InvalidStateError vs. TransactionInactiveError PASS
IDBDatabase.deleteObjectStore exception order: TransactionInactiveError vs. NotFoundError PASS
/IndexedDB/idbdatabase-transaction-exception-order.html
Subtest Results Messages
OK
IDBDatabase.transaction exception order: InvalidStateError vs. NotFoundError PASS
IDBDatabase.transaction exception order: InvalidStateError vs. InvalidAccessError PASS
`IDBDatabase.transaction exception order: NotFoundError vs. Type

Copy link
Contributor

@pwnall pwnall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM w/ nits. Thank you for adding more test coverage!


assert_equals(
rq.readyState, 'done',
'request done flag should still be set during complete');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is during complete intended, or should this be during abort?

'request result should still be set (to connection) during complete');
assert_equals(
rq.error, null,
'request result should still be null during upgradeneeded');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

abort instead of upgradeneeded here?

assert_true(saw_abort, 'abort event should fire before error');
assert_equals(
rq.readyState, 'done',
'request done flag should be set following error');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is following correct? It seems to me that the test is asserting that readyState is done before error is fired.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I waffled on that terminology. I was thinking "the error happened which caused us to enqueue an event to go out..." but since it's confusing I'll change it to 'on' or something.

@w3c-bots
Copy link

w3c-bots commented May 16, 2017

*This report has been truncated because the total content is 295569 characters in length, which is in excess of GitHub.com's limit for comments (65536 characters).

View the complete job log.

Sauce (safari)

Testing web-platform-tests at revision fb5efa4
Using browser at version 10.0
Starting 10 test iterations
All results were stable

All results

308 tests ran
/IndexedDB/abort-in-initial-upgradeneeded.html
Subtest Results Messages
OK
Test that an abort in the initial upgradeneeded sets version back to 0 PASS
/IndexedDB/bindings-inject-key.html
Subtest Results Messages
OK
Returning keys to script should bypass prototype setters PASS
Returning values to script should bypass prototype setters PASS
Returning values to script should bypass prototype chain PASS
/IndexedDB/clone-before-keypath-eval.html
Subtest Results Messages
OK
Key generator and key path validity check operates on a clone FAIL assert_equals: put() operation should access primary key property once expected 1 but got 2
Failing key path validity check operates on a clone FAIL assert_equals: put() operation should access primary key property once expected 1 but got 2
Index key path evaluations operate on a clone PASS
Store and index key path evaluations operate on the same clone FAIL assert_equals: put() should access primary key property once expected 1 but got 2
Cursor update checks and keypath evaluations operate on a clone FAIL Failed to execute 'update' on 'IDBCursor': The effective object store of this cursor uses in-line keys and evaluating the key path of the value parameter results in a different value than the cursor's effective key.
/IndexedDB/close-in-upgradeneeded.html
Subtest Results Messages
OK
When db.close is called in upgradeneeded, the db is cleaned up on refresh PASS
/IndexedDB/cursor-overloads.htm
Subtest Results Messages
OK
Validate the overloads of IDBObjectStore.openCursor(), IDBIndex.openCursor() and IDBIndex.openKeyCursor() PASS
/IndexedDB/delete-request-queue.html
Subtest Results Messages
OK
Deletes are processed in order PASS
/IndexedDB/error-attributes.html
Subtest Results Messages
OK
IDBRequest and IDBTransaction error properties should be DOMExceptions FAIL assert_true: expected true got false
/IndexedDB/event-dispatch-active-flag.html
Subtest Results Messages
OK
Transactions are active during success handlers PASS
Transactions are active during success listeners PASS
Transactions are active during error handlers PASS
Transactions are active during error listeners PASS
/IndexedDB/fire-error-event-exception.html
Subtest Results Messages
OK
Exception in error event handler on request PASS
Exception in error event handler on request, with preventDefault PASS
Exception in error event listener on request PASS
Exception in second error event listener on request PASS
Exception in first error event listener on request, transaction active in second FAIL assert_equals: Active check should either not throw anything, or throw TransactionInactiveError expected "TransactionInactiveError" but got "InvalidStateError"
Exception in error event handler on transaction PASS
Exception in error event handler on transaction, with preventDefault PASS
Exception in error event listener on transaction PASS
Exception in second error event listener on transaction PASS
Exception in first error event listener on transaction, transaction active in second FAIL assert_equals: Active check should either not throw anything, or throw TransactionInactiveError expected "TransactionInactiveError" but got "InvalidStateError"
Exception in error event handler on connection PASS
Exception in error event handler on connection, with preventDefault PASS
Exception in error event listener on connection PASS
Exception in second error event listener on connection PASS
Exception in first error event listener on connection, transaction active in second FAIL assert_equals: Active check should either not throw anything, or throw TransactionInactiveError expected "TransactionInactiveError" but got "InvalidStateError"
/IndexedDB/fire-success-event-exception.html
Subtest Results Messages
OK
Exception in success event handler on request PASS
Exception in success event listener on request PASS
Exception in second success event listener on request PASS
Exception in first success event listener, tx active in second FAIL assert_equals: Active check should either not throw anything, or throw TransactionInactiveError expected "TransactionInactiveError" but got "InvalidStateError"
/IndexedDB/fire-upgradeneeded-event-exception.html
Subtest Results Messages
OK
Exception in upgradeneeded handler PASS
Exception in upgradeneeded listener PASS
Exception in second upgradeneeded listener PASS
Exception in first upgradeneeded listener, tx active in second FAIL assert_equals: Active check should either not throw anything, or throw TransactionInactiveError expected "TransactionInactiveError" but got "InvalidStateError"
/IndexedDB/idb-binary-key-detached.htm
Subtest Results Messages
OK
Detached ArrayBuffer FAIL assert_throws: function "() => { store.put('', buffer); }" threw object "DataError (DOM IDBDatabase Exception): Failed to store record in an IDBObjectStore: The parameter is not a valid key." ("DataError") expected object "TypeError" ("TypeError")
Detached TypedArray FAIL assert_throws: function "() => { store.put('', array); }" threw object "DataError (DOM IDBDatabase Exception): Failed to store record in an IDBObjectStore: The parameter is not a valid key." ("DataError") expected object "TypeError" ("TypeError")
/IndexedDB/idb-binary-key-roundtrip.htm
Subtest Results Messages
OK
Binary keys can be supplied using the view type Uint8Array FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Binary keys can be supplied using the view type Uint8ClampedArray FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Binary keys can be supplied using the view type Int8Array FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Binary keys can be supplied using the view type Uint16Array FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Binary keys can be supplied using the view type Int16Array FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Binary keys can be supplied using the view type Uint32Array FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Binary keys can be supplied using the view type Int32Array FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Binary keys can be supplied using the view type Float32Array FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Binary keys can be supplied using the view type Float64Array FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
ArrayBuffer can be used to supply a binary key FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
DataView can be used to supply a binary key FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
DataView with explicit offset can be used to supply a binary key FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
DataView with explicit offset and length can be used to supply a binary key FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Uint8Array with explicit offset can be used to supply a binary key FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
Uint8Array with explicit offset and length can be used to supply a binary key FAIL Failed to execute 'cmp' on 'IDBFactory': The parameter is not a valid key.
/IndexedDB/idb_webworkers.htm
Subtest Results Messages
OK
IndexedDB inside of a WebWorker PASS
/IndexedDB/idbcursor-advance-continue-async.htm
Subtest Results Messages
OK
IDBCursor asyncness - advance PASS
IDBCursor asyncness - continue PASS
IDBCursor asyncness - fresh advance still async PASS
IDBCursor asyncness - fresh continue still async PASS
/IndexedDB/idbcursor-advance-exception-order.html
Subtest Results Messages
OK
IDBCursor.advance exception order: TypeError vs. TransactionInactiveError FAIL store.openKeyCursor is not a function. (In 'store.openKeyCursor()', 'store.openKeyCursor' is undefined)
IDBCursor.advance exception order: TransactionInactiveError vs. InvalidStateError #1 FAIL s.openKeyCursor is not a function. (In 's.openKeyCursor()', 's.openKeyCursor' is undefined)
IDBCursor.advance exception order: TransactionInactiveError vs. InvalidStateError #2 FAIL store.openKeyCursor is not a function. (In 'store.openKeyCursor()', 'store.openKeyCursor' is undefined)
/IndexedDB/idbcursor-advance-invalid.htm
Subtest Results Messages
OK
IDBCursor.advance() - invalid - attempt to call advance twice PASS
IDBCursor.advance() - invalid - pass something other than number PASS
IDBCursor.advance() - invalid - pass null/undefined PASS
IDBCursor.advance() - invalid - missing argument PASS
IDBCursor.advance() - invalid - pass negative numbers PASS
IDBCursor.advance() - invalid - got value not set on exception PASS
/IndexedDB/idbcursor-advance.htm
Subtest Results Messages
OK
IDBCursor.advance() - advances PASS
IDBCursor.advance() - advances backwards PASS
IDBCursor.advance() - skip far forward PASS
IDBCursor.advance() - within range PASS
IDBCursor.advance() - within single key range PASS
IDBCursor.advance() - within single key range, with several results PASS
/IndexedDB/idbcursor-continue-exception-order.htm
Subtest Results Messages
OK
IDBCursor.continue exception order: TransactionInactiveError vs. DataError FAIL s.openKeyCursor is not a function. (In 's.openKeyCursor()', 's.openKeyCursor' is undefined)
IDBCursor.continue exception order: TransactionInactiveError vs. InvalidStateError FAIL s.openKeyCursor is not a function. (In 's.openKeyCursor()', 's.openKeyCursor' is undefined)
IDBCursor.continue exception order: InvalidStateError vs. DataError FAIL s.openKeyCursor is not a function. (In 's.openKeyCursor()', 's.openKeyCursor' is undefined)
/IndexedDB/idbcursor-continue.htm
Subtest Results Messages
OK
IDBCursor.continue() - continues PASS
IDBCursor.continue() - with given key PASS
IDBCursor.continue() - skip far forward PASS
IDBCursor.continue() - within range PASS
IDBCursor.continue() - within single key range PASS
IDBCursor.continue() - within single key range, with several results PASS
/IndexedDB/idbcursor-continuePrimaryKey-exception-order.htm
Subtest Results Messages
OK
TransactionInactiveError v.s. InvalidStateError(deleted index) FAIL assert_throws: transaction-state check should precede deletion check function "function () {\n cursor.continuePrimaryKey("A", 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("A", 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException TransactionInactiveError: property "code" is equal to undefined, expected 0
InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect source) FAIL assert_throws: deletion check should precede index source check function "function () {\n cursor.continuePrimaryKey("A", 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("A", 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
InvalidStateError(deleted source) v.s. InvalidAccessError(incorrect direction) FAIL assert_throws: deletion check should precede cursor direction check function "function () {\n cursor.continuePrimaryKey("A", 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("A", 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration complete) FAIL assert_throws: direction check should precede got_value_flag check function "function () {\n cursor.continuePrimaryKey("A", 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("A", 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
InvalidAccessError(incorrect direction) v.s. InvalidStateError(iteration ongoing) FAIL assert_throws: direction check should precede iteration ongoing check function "function () {\n cursor.continuePrimaryKey("A", 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("A", 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration ongoing) FAIL assert_throws: index source check should precede iteration ongoing check function "function () {\n cursor.continuePrimaryKey("A", 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("A", 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
InvalidAccessError(incorrect source) v.s. InvalidStateError(iteration complete) FAIL assert_throws: index source check should precede got_value_flag check function "function () {\n cursor.continuePrimaryKey("A", 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("A", 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException InvalidAccessError: property "code" is equal to undefined, expected 15
InvalidStateError(iteration ongoing) v.s. DataError(unset key) FAIL assert_throws: iteration ongoing check should precede unset key check function "function () {\n cursor.continuePrimaryKey(null, 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey(null, 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
InvalidStateError(iteration complete) v.s. DataError(unset key) FAIL assert_throws: got_value_flag check should precede unset key check function "function () {\n cursor.continuePrimaryKey(null, 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey(null, 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
DataError(unset key) FAIL assert_throws: DataError is expected if key is unset. function "function () {\n cursor.continuePrimaryKey(null, 4);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey(null, 4)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException DataError: property "code" is equal to undefined, expected 0
DataError(unset primary key) FAIL assert_throws: DataError is expected if primary key is unset. function "function () {\n cursor.continuePrimaryKey("A", null);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("A", null)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException DataError: property "code" is equal to undefined, expected 0
DataError(keys are lower then current one) in 'next' direction FAIL assert_throws: DataError is expected if key is lower then current one. function "function () {\n cursor.continuePrimaryKey("A", 6);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("A", 6)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException DataError: property "code" is equal to undefined, expected 0
DataError(keys are larger then current one) in 'prev' direction FAIL assert_throws: DataError is expected if key is larger then current one. function "function () {\n cursor.continuePrimaryKey("C", 6);\n }" threw object "TypeError: cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey("C", 6)', 'cursor.continuePrimaryKey' is undefined)" that is not a DOMException DataError: property "code" is equal to undefined, expected 0
/IndexedDB/idbcursor-continuePrimaryKey.htm
Subtest Results Messages
OK
IndexedDB: IDBCursor method continuePrimaryKey() FAIL cursor.continuePrimaryKey is not a function. (In 'cursor.continuePrimaryKey('a', 3)', 'cursor.continuePrimaryKey' is undefined)
/IndexedDB/idbcursor-delete-exception-order.htm
Subtest Results Messages
OK
IDBCursor.delete exception order: TransactionInactiveError vs. ReadOnlyError PASS
IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #1 PASS
IDBCursor.delete exception order: ReadOnlyError vs. InvalidStateError #2 FAIL s.openKeyCursor is not a function. (In 's.openKeyCursor()', 's.openKeyCursor' is undefined)
/IndexedDB/idbcursor-direction-index-keyrange.htm
Subtest Results Messages
OK
IDBCursor direction - index with keyrange - next PASS
IDBCursor direction - index with keyrange - prev PASS
IDBCursor direction - index with keyrange - nextunique PASS
IDBCursor direction - index with keyrange - prevunique PASS
/IndexedDB/idbcursor-direction-index.htm
Subtest Results Messages
OK
IDBCursor direction - index - next PASS
IDBCursor direction - index - prev PASS
IDBCursor direction - index - nextunique PASS
IDBCursor direction - index - prevunique PASS
/IndexedDB/idbcursor-direction-objectstore-keyrange.htm
Subtest Results Messages
OK
IDBCursor direction - object store with keyrange - next PASS
IDBCursor direction - object store with keyrange - prev PASS
IDBCursor direction - object store with keyrange - nextunique PASS
IDBCursor direction - object store with keyrange - prevunique PASS
/IndexedDB/idbcursor-direction-objectstore.htm
Subtest Results Messages
OK
IDBCursor direction - object store - next PASS
IDBCursor direction - object store - prev PASS
IDBCursor direction - object store - nextunique PASS
IDBCursor direction - object store - prevunique PASS
/IndexedDB/idbcursor-direction.htm
Subtest Results Messages
OK
IDBCursor.direction - undefined PASS
IDBCursor.direction - next PASS
IDBCursor.direction - prev PASS
IDBCursor.direction - nextunique PASS
IDBCursor.direction - prevunique PASS
/IndexedDB/idbcursor-key.htm
Subtest Results Messages
OK
IDBCursor.key - 1 PASS
IDBCursor.key - key PASS
IDBCursor.key - my,key PASS
/IndexedDB/idbcursor-primarykey.htm
Subtest Results Messages
OK
IDBCursor.primaryKey - 1 PASS
IDBCursor.primaryKey - key PASS
IDBCursor.primaryKey - my,key PASS
/IndexedDB/idbcursor-reused.htm
Subtest Results Messages
OK
IDBCursor is reused PASS
/IndexedDB/idbcursor-source.htm
Subtest Results Messages
OK
IDBCursor.source - IDBObjectStore PASS
IDBCursor.source - IDBIndex PASS
/IndexedDB/idbcursor-update-exception-order.htm
Subtest Results Messages
OK
IDBCursor.update exception order: TransactionInactiveError vs. ReadOnlyError PASS
IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #1 PASS
IDBCursor.update exception order: ReadOnlyError vs. InvalidStateError #2 FAIL s.openKeyCursor is not a function. (In 's.openKeyCursor()', 's.openKeyCursor' is undefined)
IDBCursor.update exception order: InvalidStateError vs. DataError PASS
/IndexedDB/idbcursor_advance_index.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - iterate cursor number of times specified by count PASS
/IndexedDB/idbcursor_advance_index2.htm
Subtest Results Messages
OK
IDBCursor.advance() - attempt to pass a count parameter that is not a number PASS
/IndexedDB/idbcursor_advance_index3.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - attempt to advance backwards PASS
/IndexedDB/idbcursor_advance_index5.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - iterate to the next record PASS
/IndexedDB/idbcursor_advance_index6.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw TypeError PASS
/IndexedDB/idbcursor_advance_index7.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_advance_index8.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw InvalidStateError PASS
/IndexedDB/idbcursor_advance_index9.htm
Subtest Results Messages
OK
IDBCursor.advance() - index - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_advance_objectstore.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - iterate cursor number of times specified by count PASS
/IndexedDB/idbcursor_advance_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw TypeError PASS
/IndexedDB/idbcursor_advance_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_advance_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw InvalidStateError PASS
/IndexedDB/idbcursor_advance_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.advance() - object store - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_continue_index.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - iterate to the next record PASS
/IndexedDB/idbcursor_continue_index2.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - attempt to pass a key parameter that is not a valid key PASS
/IndexedDB/idbcursor_continue_index3.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - attempt to iterate to the previous record when the direction is set for the next record PASS
/IndexedDB/idbcursor_continue_index4.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - attempt to iterate to the next record when the direction is set for the previous record PASS
/IndexedDB/idbcursor_continue_index5.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - iterate using 'prevunique' PASS
/IndexedDB/idbcursor_continue_index6.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - iterate using nextunique PASS
/IndexedDB/idbcursor_continue_index7.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_continue_index8.htm
Subtest Results Messages
OK
IDBCursor.continue() - index - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_continue_invalid.htm
Subtest Results Messages
OK
IDBCursor.continue() - attempt to call continue two times PASS
/IndexedDB/idbcursor_continue_objectstore.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - iterate to the next record PASS
/IndexedDB/idbcursor_continue_objectstore2.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - attempt to pass a key parameter is not a valid key PASS
/IndexedDB/idbcursor_continue_objectstore3.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - attempt to iterate to the previous record when the direction is set for the next record PASS
/IndexedDB/idbcursor_continue_objectstore4.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - attempt to iterate to the next record when the direction is set for the previous record PASS
/IndexedDB/idbcursor_continue_objectstore5.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - throw TransactionInactiveError PASS
/IndexedDB/idbcursor_continue_objectstore6.htm
Subtest Results Messages
OK
IDBCursor.continue() - object store - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_delete_index.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - remove a record from the object store PASS
/IndexedDB/idbcursor_delete_index2.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - attempt to remove a record in a read-only transaction PASS
/IndexedDB/idbcursor_delete_index3.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - attempt to remove a record in an inactive transaction PASS
/IndexedDB/idbcursor_delete_index4.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - throw InvalidStateError caused by object store been deleted PASS
/IndexedDB/idbcursor_delete_index5.htm
Subtest Results Messages
OK
IDBCursor.delete() - index - throw InvalidStateError when the cursor is being iterated

@w3c-bots
Copy link

w3c-bots commented May 16, 2017

View the complete job log.

Sauce (MicrosoftEdge)

Testing web-platform-tests at revision fb5efa4
Using browser at version 14.14393
Starting 10 test iterations

@inexorabletash
Copy link
Contributor Author

Oooh, good catch, bots - Chrome is actually flaky for IndexedDB/idbfactory-open-request-error.html:

request result should still be set (to connection) during abort expected (object) object "[object IDBDatabase]" but got (undefined) undefined

@inexorabletash
Copy link
Contributor Author

Disabling the flaky assertions for now.

@inexorabletash inexorabletash merged commit f911991 into web-platform-tests:master May 17, 2017
@inexorabletash inexorabletash deleted the indexeddb-open-del-request branch October 5, 2017 19:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants