LibWeb: Import ReadableStream async iterator tests

This commit is contained in:
Timothy Flynn 2025-04-12 21:31:12 -04:00 committed by Tim Flynn
commit e6463e4ecc
Notes: github-actions[bot] 2025-04-14 21:44:19 +00:00
3 changed files with 795 additions and 0 deletions

View file

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