This is a testharness.js-based test.
PASS Service worker test setup
PASS ReadableStream can be constructed with no errors
PASS ReadableStream can't be constructed with garbage
PASS ReadableStream can't be constructed with an invalid type
FAIL ReadableStream instances should have the correct list of properties assert_equals: cancel should have 1 parameter expected 1 but got 0
PASS ReadableStream constructor should throw for non-function start arguments
PASS ReadableStream constructor will not tolerate initial garbage as cancel argument
PASS ReadableStream constructor will not tolerate initial garbage as pull argument
PASS ReadableStream start should be called with the proper parameters
PASS ReadableStream start controller parameter should be extensible
PASS default ReadableStream getReader() should only accept mode:undefined
PASS ReadableStream should be able to call start method within prototype chain of its source
PASS ReadableStream start should be able to return a promise
PASS ReadableStream start should be able to return a promise and reject it
PASS ReadableStream should be able to enqueue different objects.
PASS ReadableStream: if pull rejects, it should error the stream
PASS ReadableStream: should only call pull once upon starting the stream
PASS ReadableStream: should call pull when trying to read from a started, empty stream
PASS ReadableStream: should only call pull once on a non-empty stream read from before start fulfills
PASS ReadableStream: should only call pull once on a non-empty stream read from after start fulfills
PASS ReadableStream: should call pull in reaction to read()ing the last chunk, if not draining
PASS ReadableStream: should not call pull() in reaction to read()ing the last chunk, if draining
PASS ReadableStream: should not call pull until the previous pull call's promise fulfills
PASS ReadableStream: should pull after start, and after every read
PASS ReadableStream: should not call pull after start if the stream is now closed
PASS ReadableStream: should call pull after enqueueing from inside pull (with no read requests), if strategy allows
PASS ReadableStream pull should be able to close a stream.
PASS ReadableStream pull should be able to error a stream.
PASS ReadableStream pull should be able to error a stream and throw.
PASS ReadableStream: enqueue should throw when the stream is readable but draining
PASS ReadableStream: enqueue should throw when the stream is closed
PASS ReadableStream: should call underlying source methods as methods
PASS ReadableStream: desiredSize when closed
PASS ReadableStream: desiredSize when errored
PASS ReadableStream strategies: the default strategy should give desiredSize of 1 to start, decreasing by 1 per enqueue
PASS ReadableStream strategies: the default strategy should continue giving desiredSize of 1 if the chunks are read immediately
PASS ReadableStream integration test: adapting a random push source
PASS ReadableStream integration test: adapting a sync pull source
PASS ReadableStream integration test: adapting an async pull source
Harness: the test ran to completion.

