blob: 1eb6fcd22a34b247ec857acec74320247c038a45 [file] [log] [blame]
PASS Running templatedRSEmpty with ReadableStream (empty)
PASS ReadableStream (empty): instances have the correct methods and properties
PASS ReadableStream (empty): calling getReader with invalid arguments should throw appropriate errors
PASS Running templatedRSEmptyReader with ReadableStream (empty) reader
PASS ReadableStream (empty) reader: instances have the correct methods and properties
PASS ReadableStream (empty) reader: locked should be true
PASS ReadableStream (empty) reader: read() should never settle
PASS ReadableStream (empty) reader: two read()s should both never settle
PASS ReadableStream (empty) reader: read() should return distinct promises each time
PASS ReadableStream (empty) reader: getReader() again on the stream should fail
FAIL ReadableStream (empty) reader: releasing the lock should reject all pending read requests promise_test: Unhandled rejection with value: object "TypeError: There are still pending read requests, cannot release the lock"
PASS ReadableStream (empty) reader: releasing the lock should cause further read() calls to reject with a TypeError
PASS ReadableStream (empty) reader: releasing the lock should cause closed calls to reject with a TypeError
PASS ReadableStream (empty) reader: releasing the lock should cause locked to become false
PASS ReadableStream (empty) reader: canceling via the reader should cause the reader to act closed
PASS ReadableStream (empty) reader: canceling via the stream should fail
PASS Running templatedRSClosed with ReadableStream (closed via call in start)
PASS ReadableStream (closed via call in start): cancel() should return a distinct fulfilled promise each time
PASS ReadableStream (closed via call in start): locked should be false
PASS ReadableStream (closed via call in start): getReader() should be OK
PASS ReadableStream (closed via call in start): should be able to acquire multiple readers if they are released in succession
PASS ReadableStream (closed via call in start): should not be able to acquire a second reader if we don't release the first one
PASS Running templatedRSClosedReader with ReadableStream reader (closed before getting reader)
PASS ReadableStream reader (closed before getting reader): read() should fulfill with { value: undefined, done: true }
PASS ReadableStream reader (closed before getting reader): read() multiple times should fulfill with { value: undefined, done: true }
PASS ReadableStream reader (closed before getting reader): read() should work when used within another read() fulfill callback
PASS ReadableStream reader (closed before getting reader): closed should fulfill with undefined
PASS ReadableStream reader (closed before getting reader): releasing the lock should cause closed to reject and change identity
PASS ReadableStream reader (closed before getting reader): cancel() should return a distinct fulfilled promise each time
PASS Running templatedRSClosedReader with ReadableStream reader (closed after getting reader)
PASS ReadableStream reader (closed after getting reader): read() should fulfill with { value: undefined, done: true }
PASS ReadableStream reader (closed after getting reader): read() multiple times should fulfill with { value: undefined, done: true }
PASS ReadableStream reader (closed after getting reader): read() should work when used within another read() fulfill callback
PASS ReadableStream reader (closed after getting reader): closed should fulfill with undefined
PASS ReadableStream reader (closed after getting reader): releasing the lock should cause closed to reject and change identity
PASS ReadableStream reader (closed after getting reader): cancel() should return a distinct fulfilled promise each time
PASS Running templatedRSClosed with ReadableStream (closed via cancel)
PASS ReadableStream (closed via cancel): cancel() should return a distinct fulfilled promise each time
PASS ReadableStream (closed via cancel): locked should be false
PASS ReadableStream (closed via cancel): getReader() should be OK
PASS ReadableStream (closed via cancel): should be able to acquire multiple readers if they are released in succession
PASS ReadableStream (closed via cancel): should not be able to acquire a second reader if we don't release the first one
PASS Running templatedRSClosedReader with ReadableStream reader (closed via cancel after getting reader)
PASS ReadableStream reader (closed via cancel after getting reader): read() should fulfill with { value: undefined, done: true }
PASS ReadableStream reader (closed via cancel after getting reader): read() multiple times should fulfill with { value: undefined, done: true }
PASS ReadableStream reader (closed via cancel after getting reader): read() should work when used within another read() fulfill callback
PASS ReadableStream reader (closed via cancel after getting reader): closed should fulfill with undefined
PASS ReadableStream reader (closed via cancel after getting reader): releasing the lock should cause closed to reject and change identity
PASS ReadableStream reader (closed via cancel after getting reader): cancel() should return a distinct fulfilled promise each time
PASS Running templatedRSErrored with ReadableStream (errored via call in start)
PASS ReadableStream (errored via call in start): getReader() should return a reader that acts errored
PASS ReadableStream (errored via call in start): read() twice should give the error each time
PASS ReadableStream (errored via call in start): locked should be false
PASS Running templatedRSErroredSyncOnly with ReadableStream (errored via call in start)
PASS ReadableStream (errored via call in start): should be able to obtain a second reader, with the correct closed promise
PASS ReadableStream (errored via call in start): should not be able to obtain additional readers if we don't release the first lock
PASS ReadableStream (errored via call in start): cancel() should return a distinct rejected promise each time
PASS ReadableStream (errored via call in start): reader cancel() should return a distinct rejected promise each time
PASS Running templatedRSErrored with ReadableStream (errored via returning a rejected promise in start)
PASS ReadableStream (errored via returning a rejected promise in start): getReader() should return a reader that acts errored
PASS ReadableStream (errored via returning a rejected promise in start): read() twice should give the error each time
PASS ReadableStream (errored via returning a rejected promise in start): locked should be false
PASS Running templatedRSErroredReader with ReadableStream (errored via returning a rejected promise in start) reader
PASS ReadableStream (errored via returning a rejected promise in start) reader: closed should reject with the error
PASS ReadableStream (errored via returning a rejected promise in start) reader: releasing the lock should cause closed to reject and change identity
PASS ReadableStream (errored via returning a rejected promise in start) reader: read() should reject with the error
PASS Running templatedRSErroredReader with ReadableStream reader (errored before getting reader)
PASS ReadableStream reader (errored before getting reader): closed should reject with the error
PASS ReadableStream reader (errored before getting reader): releasing the lock should cause closed to reject and change identity
PASS ReadableStream reader (errored before getting reader): read() should reject with the error
PASS Running templatedRSErroredReader with ReadableStream reader (errored after getting reader)
PASS ReadableStream reader (errored after getting reader): closed should reject with the error
PASS ReadableStream reader (errored after getting reader): releasing the lock should cause closed to reject and change identity
PASS ReadableStream reader (errored after getting reader): read() should reject with the error
PASS Running templatedRSTwoChunksOpenReader with ReadableStream (two chunks enqueued, still open) reader
PASS ReadableStream (two chunks enqueued, still open) reader: calling read() twice without waiting will eventually give both chunks (sequential)
PASS ReadableStream (two chunks enqueued, still open) reader: calling read() twice without waiting will eventually give both chunks (nested)
PASS ReadableStream (two chunks enqueued, still open) reader: read() should return distinct promises each time
PASS ReadableStream (two chunks enqueued, still open) reader: cancel() after a read() should still give that single read result
PASS Running templatedRSTwoChunksClosedReader with ReadableStream (two chunks enqueued, then closed) reader
PASS ReadableStream (two chunks enqueued, then closed) reader: third read(), without waiting, should give { value: undefined, done: true } (sequential)
PASS ReadableStream (two chunks enqueued, then closed) reader: third read(), without waiting, should give { value: undefined, done: true } (nested)
PASS ReadableStream (two chunks enqueued, then closed) reader: draining the stream via read() should cause the reader closed promise to fulfill, but locked stays true
PASS ReadableStream (two chunks enqueued, then closed) reader: releasing the lock after the stream is closed should cause locked to become false
PASS ReadableStream (two chunks enqueued, then closed) reader: releasing the lock should cause further read() calls to reject with a TypeError
PASS ReadableStream (two chunks enqueued, then closed) reader: reader's closed property always returns the same promise