Harness status: OK Found 41 tests 41 Pass Pass Async iterator instances should have the correct list of properties Pass Async-iterating a push source Pass Async-iterating a pull source Pass Async-iterating a push source with undefined values Pass Async-iterating a pull source with undefined values Pass Async-iterating a pull source manually Pass Async-iterating an errored stream throws Pass Async-iterating a closed stream never executes the loop body, but works fine Pass Async-iterating an empty but not closed/errored stream never executes the loop body and stalls the async function Pass Async-iterating a partially consumed stream Pass Cancellation behavior when throwing inside loop body; preventCancel = false Pass Cancellation behavior when throwing inside loop body; preventCancel = true Pass Cancellation behavior when breaking inside loop body; preventCancel = false Pass Cancellation behavior when breaking inside loop body; preventCancel = true Pass Cancellation behavior when returning inside loop body; preventCancel = false Pass Cancellation behavior when returning inside loop body; preventCancel = true Pass Cancellation behavior when manually calling return(); preventCancel = false Pass Cancellation behavior when manually calling return(); preventCancel = true Pass next() rejects if the stream errors Pass return() does not rejects if the stream has not errored yet Pass return() rejects if the stream has errored Pass next() that succeeds; next() that reports an error; next() Pass next() that succeeds; next() that reports an error(); next() [no awaiting] Pass next() that succeeds; next() that reports an error(); return() Pass next() that succeeds; next() that reports an error(); return() [no awaiting] Pass next() that succeeds; return() Pass next() that succeeds; return() [no awaiting] Pass return(); next() Pass return(); next() [no awaiting] Pass return(); next() with delayed cancel() Pass return(); next() with delayed cancel() [no awaiting] Pass return(); return() Pass return(); return() [no awaiting] Pass values() throws if there's already a lock Pass Acquiring a reader after exhaustively async-iterating a stream Pass Acquiring a reader after return()ing from a stream that errors Pass Acquiring a reader after partially async-iterating a stream Pass Acquiring a reader and reading the remaining chunks after partially async-iterating a stream with preventCancel = true Pass return() should unlock the stream synchronously when preventCancel = false Pass return() should unlock the stream synchronously when preventCancel = true Pass close() while next() is pending