mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-27 10:07:15 +02:00
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.
44 lines
4.1 KiB
Plaintext
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 |