Files
ladybird/Tests/LibWeb/Text/expected/wpt-import/streams/readable-byte-streams/tee.any.txt
Timothy Flynn eb0a51faf0 LibWeb: Implement ReadableStreamPipeTo according to spec
Our existing implementation of stream piping was extremely ad-hoc. It
did nothing to handle closed/errored streams, and did not read from or
write to streams in a way required by the spec.

This new implementation uses a custom JS::Cell to drive the read/write
loop.
2025-04-11 12:10:46 -04:00

44 lines
4.1 KiB
Plaintext

Harness status: OK
Found 39 tests
39 Pass
Pass ReadableStream teeing with byte source: rs.tee() returns an array of two ReadableStreams
Pass ReadableStream teeing with byte source: should be able to read one branch to the end without affecting the other
Pass ReadableStream teeing with byte source: chunks should be cloned for each branch
Pass ReadableStream teeing with byte source: chunks for BYOB requests from branch 1 should be cloned to branch 2
Pass ReadableStream teeing with byte source: errors in the source should propagate to both branches
Pass ReadableStream teeing with byte source: canceling branch1 should not impact branch2
Pass ReadableStream teeing with byte source: canceling branch2 should not impact branch1
Pass Running templatedRSTeeCancel with ReadableStream teeing with byte source
Pass ReadableStream teeing with byte source: canceling both branches should aggregate the cancel reasons into an array
Pass ReadableStream teeing with byte source: canceling both branches in reverse order should aggregate the cancel reasons into an array
Pass ReadableStream teeing with byte source: failing to cancel the original stream should cause cancel() to reject on branches
Pass ReadableStream teeing with byte source: erroring a teed stream should properly handle canceled branches
Pass ReadableStream teeing with byte source: closing the original should close the branches
Pass ReadableStream teeing with byte source: erroring the original should immediately error the branches
Pass ReadableStream teeing with byte source: erroring the original should error pending reads from default reader
Pass ReadableStream teeing with byte source: erroring the original should error pending reads from BYOB reader
Pass ReadableStream teeing with byte source: canceling branch1 should finish when branch2 reads until end of stream
Pass ReadableStream teeing with byte source: canceling branch1 should finish when original stream errors
Pass ReadableStream teeing with byte source: should not pull any chunks if no branches are reading
Pass ReadableStream teeing with byte source: should only pull enough to fill the emptiest queue
Pass ReadableStream teeing with byte source: should not pull when original is already errored
Pass ReadableStream teeing with byte source: stops pulling when original stream errors while branch 1 is reading
Pass ReadableStream teeing with byte source: stops pulling when original stream errors while branch 2 is reading
Pass ReadableStream teeing with byte source: stops pulling when original stream errors while both branches are reading
Pass ReadableStream teeing with byte source: canceling both branches in sequence with delay
Pass ReadableStream teeing with byte source: failing to cancel when canceling both branches in sequence with delay
Pass ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch1, cancel branch2
Pass ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch2, cancel branch1
Pass ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch2, enqueue to branch1
Pass ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch1, respond to branch2
Pass ReadableStream teeing with byte source: pull with BYOB reader, then pull with default reader
Pass ReadableStream teeing with byte source: pull with default reader, then pull with BYOB reader
Pass ReadableStream teeing with byte source: read from branch2, then read from branch1
Pass ReadableStream teeing with byte source: read from branch1 with default reader, then close while branch2 has pending BYOB read
Pass ReadableStream teeing with byte source: read from branch2 with default reader, then close while branch1 has pending BYOB read
Pass ReadableStream teeing with byte source: close when both branches have pending BYOB reads
Pass ReadableStream teeing with byte source: enqueue() and close() while both branches are pulling
Pass ReadableStream teeing with byte source: respond() and close() while both branches are pulling
Pass ReadableStream teeing with byte source: reading an array with a byte offset should clone correctly