WPT
wpt / streams / readable-streams / general.any.sharedworker.html
Spec: Streams ↗
Runs: Chrome 155.0.8039.0 (wpt@d0c38285b, 2026-09-03) | Firefox 157.0a1 (wpt@ed1909ed6, 2026-09-03) | Safari 251 preview (wpt@5ce815a83, 2026-08-27) | Ladybird 1.0-56c61 (wpt@cc4d45aa0, 2026-09-03) | Servo Servo 0.6 (wpt@09159dcb3, 2026-09-02) | Blitz 188486089 (wpt@a95401e4e, 2026-09-02)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 37/38 | 38/38 | 38/38 | 38/38 | 38/38 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| ReadableStream can be constructed with no errors | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream can't be constructed with garbage | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream can't be constructed with an invalid type | FAIL | PASS | PASS | PASS | PASS | — |
| ReadableStream constructor should throw for non-function start arguments | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream constructor will not tolerate initial garbage as cancel argument | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream constructor will not tolerate initial garbage as pull argument | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream start should be called with the proper thisArg | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream start controller parameter should be extensible | PASS | PASS | PASS | PASS | PASS | — |
| default ReadableStream getReader() should only accept mode:undefined | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream should be able to call start method within prototype chain of its source | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream start should be able to return a promise | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream start should be able to return a promise and reject it | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream should be able to enqueue different objects. | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: if pull rejects, it should error the stream | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should only call pull once upon starting the stream | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should call pull when trying to read from a started, empty stream | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should only call pull once on a non-empty stream read from before start fulfills | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should only call pull once on a non-empty stream read from after start fulfills | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should call pull in reaction to read()ing the last chunk, if not draining | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should not call pull() in reaction to read()ing the last chunk, if draining | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should not call pull until the previous pull call's promise fulfills | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should pull after start, and after every read | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should not call pull after start if the stream is now closed | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should call pull after enqueueing from inside pull (with no read requests), if strategy allows | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream pull should be able to close a stream. | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream pull should be able to error a stream. | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream pull should be able to error a stream and throw. | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: enqueue should throw when the stream is readable but draining | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: enqueue should throw when the stream is closed | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: should call underlying source methods as methods | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: desiredSize when closed | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream: desiredSize when errored | PASS | PASS | PASS | PASS | PASS | — |
| Subclassing ReadableStream should work | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream strategies: the default strategy should give desiredSize of 1 to start, decreasing by 1 per enqueue | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream strategies: the default strategy should continue giving desiredSize of 1 if the chunks are read immediately | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream integration test: adapting a random push source | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream integration test: adapting a sync pull source | PASS | PASS | PASS | PASS | PASS | — |
| ReadableStream integration test: adapting an async pull source | PASS | PASS | PASS | PASS | PASS | — |