WPT
wpt / streams / readable-byte-streams / tee.any.serviceworker.html
Spec: Streams ↗
Runs: Chrome 155.0.8042.0 (wpt@4eb09bcd9, 2026-09-04) | Firefox 157.0a1 (wpt@c3fcbf4ba, 2026-09-04) | Safari 251 preview (wpt@e7122b73f, 2026-09-04) | Ladybird 1.0-52f0f (wpt@a1ecd0c09, 2026-09-04) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 40/40 | 40/40 | 40/40 | 0/40 | 0/40 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| ReadableStream teeing with byte source: rs.tee() returns an array of two ReadableStreams | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: should be able to read one branch to the end without affecting the other | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: chunks should be cloned for each branch | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: chunks for BYOB requests from branch 1 should be cloned to branch 2 | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: errors in the source should propagate to both branches | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: canceling branch1 should not impact branch2 | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: canceling branch2 should not impact branch1 | PASS | PASS | PASS | — | — | — |
| Running templatedRSTeeCancel with ReadableStream teeing with byte source | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: canceling both branches should aggregate the cancel reasons into an array | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: canceling both branches in reverse order should aggregate the cancel reasons into an array | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: failing to cancel the original stream should cause cancel() to reject on branches | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: erroring a teed stream should properly handle canceled branches | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: closing the original should close the branches | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: erroring the original should immediately error the branches | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: erroring the original should error pending reads from default reader | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: erroring the original should error pending reads from BYOB reader | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: canceling branch1 should finish when branch2 reads until end of stream | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: canceling branch1 should finish when branch2 reads with a BYOB reader until end of stream | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: canceling branch1 should finish when original stream errors | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: should not pull any chunks if no branches are reading | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: should only pull enough to fill the emptiest queue | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: should not pull when original is already errored | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: stops pulling when original stream errors while branch 1 is reading | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: stops pulling when original stream errors while branch 2 is reading | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: stops pulling when original stream errors while both branches are reading | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: canceling both branches in sequence with delay | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: failing to cancel when canceling both branches in sequence with delay | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch1, cancel branch2 | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch2, cancel branch1 | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch2, enqueue to branch1 | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: read from branch1 and branch2, cancel branch1, respond to branch2 | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: pull with BYOB reader, then pull with default reader | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: pull with default reader, then pull with BYOB reader | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: read from branch2, then read from branch1 | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: read from branch1 with default reader, then close while branch2 has pending BYOB read | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: read from branch2 with default reader, then close while branch1 has pending BYOB read | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: close when both branches have pending BYOB reads | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: enqueue() and close() while both branches are pulling | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: respond() and close() while both branches are pulling | PASS | PASS | PASS | — | — | — |
| ReadableStream teeing with byte source: reading an array with a byte offset should clone correctly | PASS | PASS | PASS | — | — | — |