Harness status: OK

Found 65 tests

65 Pass
Pass	Aborting a WritableStream before it starts should cause the writer's unsettled ready promise to reject
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
Pass	WritableStream if sink's abort throws, the promise returned by multiple writer.abort()s is the same and rejects
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()
Pass	Aborting a WritableStream causes any outstanding write() promises to be rejected with the reason supplied
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
Pass	writer.abort() while there is an in-flight write, and then finish the write with rejection
Pass	writer.abort(), controller.error() while there is an in-flight write, and then finish the write
Pass	writer.abort(), controller.error() while there is an in-flight close, and then finish the close
Pass	controller.error(), writer.abort() while there is an in-flight write, and then finish the write
Pass	controller.error(), writer.abort() while there is an in-flight close, and then finish the close
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
Pass	when calling abort() twice on the same stream, both should give the same promise that fulfills with undefined
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
Pass	sink abort() should not be called if stream was erroring due to bad strategy before abort() was called
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
Pass	the abort signal is signalled synchronously - write
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