Click here to download the Blitz Browser!

WPT

wpt / streams / readable-streams / async-iterator.any.worker.html

Spec: Streams ↗

Runs: Chrome 155.0.8041.0 (wpt@4a01b83e3, 2026-09-04) | Firefox 157.0a1 (wpt@4a01b83e3, 2026-09-04) | Safari 251 preview (wpt@2c385f65e, 2026-09-04) | Ladybird 1.0-a7825 (wpt@4a01b83e3, 2026-09-04) | Servo Servo 0.6 (wpt@7e3d005d7, 2026-09-03) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)

View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi

ChromeFirefoxSafariLadybirdServoBlitz
Total40/4137/4141/4141/410/41NOT RUN
SubtestChromeFirefoxSafariLadybirdServoBlitz
Async iterator instances should have the correct list of propertiesFAILFAILPASSPASSFAIL
Async-iterating a push sourcePASSPASSPASSPASSFAIL
Async-iterating a pull sourcePASSPASSPASSPASSFAIL
Async-iterating a push source with undefined valuesPASSPASSPASSPASSFAIL
Async-iterating a pull source with undefined valuesPASSPASSPASSPASSFAIL
Async-iterating a pull source manuallyPASSPASSPASSPASSFAIL
Async-iterating an errored stream throwsPASSPASSPASSPASSFAIL
Async-iterating a closed stream never executes the loop body, but works finePASSPASSPASSPASSFAIL
Async-iterating an empty but not closed/errored stream never executes the loop body and stalls the async functionPASSPASSPASSPASSFAIL
Async-iterating a partially consumed streamPASSPASSPASSPASSFAIL
Cancellation behavior when throwing inside loop body; preventCancel = falsePASSPASSPASSPASSFAIL
Cancellation behavior when throwing inside loop body; preventCancel = truePASSPASSPASSPASSFAIL
Cancellation behavior when breaking inside loop body; preventCancel = falsePASSPASSPASSPASSFAIL
Cancellation behavior when breaking inside loop body; preventCancel = truePASSPASSPASSPASSFAIL
Cancellation behavior when returning inside loop body; preventCancel = falsePASSPASSPASSPASSFAIL
Cancellation behavior when returning inside loop body; preventCancel = truePASSPASSPASSPASSFAIL
Cancellation behavior when manually calling return(); preventCancel = falsePASSPASSPASSPASSFAIL
Cancellation behavior when manually calling return(); preventCancel = truePASSPASSPASSPASSFAIL
next() rejects if the stream errorsPASSPASSPASSPASSFAIL
return() does not rejects if the stream has not errored yetPASSPASSPASSPASSFAIL
return() rejects if the stream has erroredPASSPASSPASSPASSFAIL
next() that succeeds; next() that reports an error; next()PASSPASSPASSPASSFAIL
next() that succeeds; next() that reports an error(); next() [no awaiting]PASSPASSPASSPASSFAIL
next() that succeeds; next() that reports an error(); return()PASSPASSPASSPASSFAIL
next() that succeeds; next() that reports an error(); return() [no awaiting]PASSPASSPASSPASSFAIL
next() that succeeds; return()PASSPASSPASSPASSFAIL
next() that succeeds; return() [no awaiting]PASSPASSPASSPASSFAIL
return(); next()PASSPASSPASSPASSFAIL
return(); next() [no awaiting]PASSFAILPASSPASSFAIL
return(); next() with delayed cancel()PASSPASSPASSPASSFAIL
return(); next() with delayed cancel() [no awaiting]PASSFAILPASSPASSFAIL
return(); return()PASSPASSPASSPASSFAIL
return(); return() [no awaiting]PASSFAILPASSPASSFAIL
values() throws if there's already a lockPASSPASSPASSPASSFAIL
Acquiring a reader after exhaustively async-iterating a streamPASSPASSPASSPASSFAIL
Acquiring a reader after return()ing from a stream that errorsPASSPASSPASSPASSFAIL
Acquiring a reader after partially async-iterating a streamPASSPASSPASSPASSFAIL
Acquiring a reader and reading the remaining chunks after partially async-iterating a stream with preventCancel = truePASSPASSPASSPASSFAIL
return() should unlock the stream synchronously when preventCancel = falsePASSPASSPASSPASSFAIL
return() should unlock the stream synchronously when preventCancel = truePASSPASSPASSPASSFAIL
close() while next() is pendingPASSPASSPASSPASSFAIL