
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 
PASS ReadableStream (empty) reader: releasing the lock with pending read requests should throw but the read requests should stay pending 
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 

