/streams/writable-streams/aborting.any.html| status | subtest | message |
|---|---|---|
| FAIL | Aborting a WritableStream before it starts should cause the writer's unsettled ready promise to reject | assert_unreached: write() should not be called Reached unreachable code |
| PASS | Aborting a WritableStream should cause the writer's fulfilled ready promise to reset to a rejected one | |
| PASS | abort() on a released writer rejects | |
| PASS | Aborting a WritableStream immediately prevents future writes | |
| PASS | Aborting a WritableStream prevents further writes after any that are in progress | |
| PASS | Fulfillment value of writer.abort() call must be undefined even if the underlying sink returns a non-undefined value | |
| PASS | WritableStream if sink's abort throws, the promise returned by writer.abort() rejects | |
| FAIL | WritableStream if sink's abort throws, the promise returned by multiple writer.abort()s is the same and rejects | assert_equals: the promises must be the same expected object "[object Promise]" but got object "[object Promise]" |
| PASS | WritableStream if sink's abort throws, the promise returned by ws.abort() rejects | |
| PASS | WritableStream if sink's abort throws, for an abort performed during a write, the promise returned by ws.abort() rejects | |
| PASS | Aborting a WritableStream passes through the given reason | |
| PASS | Aborting a WritableStream puts it in an errored state with the error passed to abort() | |
| FAIL | Aborting a WritableStream causes any outstanding write() promises to be rejected with the reason supplied | assert_unreached: Should have rejected: writing should reject with error1 Reached unreachable code |
| PASS | Closing but then immediately aborting a WritableStream causes the stream to error | |
| PASS | Closing a WritableStream and aborting it while it closes causes the stream to ignore the abort attempt | |
| PASS | Aborting a WritableStream after it is closed is a no-op | |
| PASS | WritableStream should NOT call underlying sink's close if no abort is supplied (historical) | |
| PASS | returning a thenable from abort() should work | |
| PASS | .closed should not resolve before fulfilled write() | |
| PASS | .closed should not resolve before rejected write(); write() error should not overwrite abort() error | |
| PASS | writes should be satisfied in order when aborting | |
| PASS | writes should be satisfied in order after rejected write when aborting | |
| PASS | close() should reject with abort reason why abort() is first error | |
| PASS | underlying abort() should not be called until underlying write() completes | |
| PASS | underlying abort() should not be called if underlying close() has started | |
| PASS | if underlying close() has started and then rejects, the abort() and close() promises should reject with the underlying close rejection reason | |
| PASS | an abort() that happens during a write() should trigger the underlying abort() even with a close() queued | |
| PASS | if a writer is created for a stream with a pending abort, its ready should be rejected with the abort error | |
| PASS | writer close() promise should resolve before abort() promise | |
| PASS | writer.ready should reject on controller error without waiting for underlying write | |
| FAIL | writer.abort() while there is an in-flight write, and then finish the write with rejection | promise_rejects_js: writer.closed must be rejected with an error indicating release function "function() { throw e; }" threw object "error1: error1" ("error1") expected instance of function "function … |
| FAIL | writer.abort(), controller.error() while there is an in-flight write, and then finish the write | promise_rejects_js: writer.closed must be rejected with an error indicating release function "function() { throw e; }" threw object "error1: error1" ("error1") expected instance of function "function … |
| FAIL | writer.abort(), controller.error() while there is an in-flight close, and then finish the close | assert_unreached: Should have rejected: writer.closed must be rejected with an error indicating release Reached unreachable code |
| FAIL | controller.error(), writer.abort() while there is an in-flight write, and then finish the write | promise_rejects_js: writer.closed must be rejected with an error indicating release function "function() { throw e; }" threw object "error2: error2" ("error2") expected instance of function "function … |
| FAIL | controller.error(), writer.abort() while there is an in-flight close, and then finish the close | assert_unreached: Should have rejected: writer.closed must be rejected with an error indicating release Reached unreachable code |
| PASS | releaseLock() while aborting should reject the original closed promise | |
| PASS | releaseLock() during delayed async abort() should reject the writer.closed promise | |
| PASS | sink abort() should not be called until sink start() is done | |
| PASS | if start attempts to error the controller after abort() has been called, then it should lose | |
| PASS | stream abort() promise should still resolve if sink start() rejects | |
| PASS | writer abort() during sink start() should replace the writer.ready promise synchronously | |
| PASS | promises returned from other writer methods should be rejected when writer abort() happens during sink start() | |
| PASS | abort() should succeed despite rejection from write | |
| PASS | abort() should be rejected with the rejection returned from close() | |
| PASS | a rejecting sink.write() should not prevent sink.abort() from being called | |
| PASS | when start errors after stream abort(), underlying sink abort() should be called anyway | |
| FAIL | when calling abort() twice on the same stream, both should give the same promise that fulfills with undefined | assert_equals: the promises must be the same expected object "[object Promise]" but got object "[object Promise]" |
| PASS | when calling abort() twice on the same stream, but sequentially so so there's no pending abort the second time, both should fulfill with undefined | |
| PASS | calling abort() on an errored stream should fulfill with undefined | |
| PASS | sink abort() should not be called if stream was erroring due to controller.error() before abort() was called | |
| FAIL | sink abort() should not be called if stream was erroring due to bad strategy before abort() was called | promise_rejects_js: second write() should reject function "function() { throw e; }" threw object "TypeError: The value cannot be converted because it is not an integer." ("TypeError") expected instanc… |
| PASS | abort with no arguments should set the stored error to undefined | |
| PASS | abort with an undefined argument should set the stored error to undefined | |
| PASS | abort with a string argument should set the stored error to that argument | |
| PASS | abort on a locked stream should reject | |
| PASS | WritableStreamDefaultController.signal | |
| FAIL | the abort signal is signalled synchronously - write | assert_true: signal.reason is a DOMException expected true got false |
| PASS | the abort signal is signalled synchronously - close | |
| PASS | the abort signal is not signalled on error | |
| PASS | the abort signal is not signalled on write failure | |
| PASS | the abort signal is not signalled on close failure | |
| PASS | recursive abort() call from abort() aborting signal (not started) | |
| PASS | recursive abort() call from abort() aborting signal | |
| PASS | recursive close() call from abort() aborting signal (not started) | |
| PASS | recursive close() call from abort() aborting signal |
bundle built 2026-07-16T07:16:48.063Z