diff options
Diffstat (limited to 'testing/web-platform/meta/streams/readable-streams')
11 files changed, 1851 insertions, 0 deletions
diff --git a/testing/web-platform/meta/streams/readable-streams/bad-strategies.https.html.ini b/testing/web-platform/meta/streams/readable-streams/bad-strategies.https.html.ini new file mode 100644 index 000000000..c46fa04a8 --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/bad-strategies.https.html.ini @@ -0,0 +1,66 @@ +[bad-strategies.https.html] + type: testharness + disabled: @True + [Readable stream: throwing strategy.size getter] + expected: FAIL + + [Readable stream: strategy.size errors the stream and then throws] + expected: FAIL + + [Readable stream: strategy.size errors the stream and then returns Infinity] + expected: FAIL + + [Readable stream: throwing strategy.size method] + expected: FAIL + + [Readable stream: throwing strategy.highWaterMark getter] + expected: FAIL + + [Readable stream: invalid strategy.highWaterMark] + expected: FAIL + + [Readable stream: invalid strategy.size return value] + expected: FAIL + + [Readable stream: throwing strategy.size getter] + expected: FAIL + + [Readable stream: strategy.size errors the stream and then throws] + expected: FAIL + + [Readable stream: strategy.size errors the stream and then returns Infinity] + expected: FAIL + + [Readable stream: throwing strategy.size method] + expected: FAIL + + [Readable stream: throwing strategy.highWaterMark getter] + expected: FAIL + + [Readable stream: invalid strategy.highWaterMark] + expected: FAIL + + [Readable stream: invalid strategy.size return value] + expected: FAIL + + [Readable stream: throwing strategy.size getter] + expected: FAIL + + [Readable stream: strategy.size errors the stream and then throws] + expected: FAIL + + [Readable stream: strategy.size errors the stream and then returns Infinity] + expected: FAIL + + [Readable stream: throwing strategy.size method] + expected: FAIL + + [Readable stream: throwing strategy.highWaterMark getter] + expected: FAIL + + [Readable stream: invalid strategy.highWaterMark] + expected: FAIL + + [Readable stream: invalid strategy.size return value] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/bad-underlying-sources.https.html.ini b/testing/web-platform/meta/streams/readable-streams/bad-underlying-sources.https.html.ini new file mode 100644 index 000000000..f92f68732 --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/bad-underlying-sources.https.html.ini @@ -0,0 +1,192 @@ +[bad-underlying-sources.https.html] + type: testharness + disabled: @True + [Underlying source start: throwing getter] + expected: FAIL + + [Underlying source start: throwing method] + expected: FAIL + + [Underlying source: throwing pull getter (initial pull)] + expected: FAIL + + [Underlying source: throwing pull method (initial pull)] + expected: FAIL + + [Underlying source pull: throwing getter (second pull)] + expected: FAIL + + [Underlying source pull: throwing method (second pull)] + expected: FAIL + + [Underlying source cancel: throwing getter] + expected: FAIL + + [Underlying source cancel: throwing method] + expected: FAIL + + [Underlying source: calling enqueue on an empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling enqueue on a non-empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling enqueue on a closed stream should throw] + expected: FAIL + + [Underlying source: calling enqueue on an errored stream should throw] + expected: FAIL + + [Underlying source: calling close twice on an empty stream should throw the second time] + expected: FAIL + + [Underlying source: calling close twice on a non-empty stream should throw the second time] + expected: FAIL + + [Underlying source: calling close on an empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling close on a non-empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling close after error should throw] + expected: FAIL + + [Underlying source: calling error twice should throw the second time] + expected: FAIL + + [Underlying source: calling error after close should throw] + expected: FAIL + + [Underlying source: calling error and returning a rejected promise from start should cause the stream to error with the first error] + expected: FAIL + + [Underlying source: calling error and returning a rejected promise from pull should cause the stream to error with the first error] + expected: FAIL + + [Underlying source start: throwing getter] + expected: FAIL + + [Underlying source start: throwing method] + expected: FAIL + + [Underlying source: throwing pull getter (initial pull)] + expected: FAIL + + [Underlying source: throwing pull method (initial pull)] + expected: FAIL + + [Underlying source pull: throwing getter (second pull)] + expected: FAIL + + [Underlying source pull: throwing method (second pull)] + expected: FAIL + + [Underlying source cancel: throwing getter] + expected: FAIL + + [Underlying source cancel: throwing method] + expected: FAIL + + [Underlying source: calling enqueue on an empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling enqueue on a non-empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling enqueue on a closed stream should throw] + expected: FAIL + + [Underlying source: calling enqueue on an errored stream should throw] + expected: FAIL + + [Underlying source: calling close twice on an empty stream should throw the second time] + expected: FAIL + + [Underlying source: calling close twice on a non-empty stream should throw the second time] + expected: FAIL + + [Underlying source: calling close on an empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling close on a non-empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling close after error should throw] + expected: FAIL + + [Underlying source: calling error twice should throw the second time] + expected: FAIL + + [Underlying source: calling error after close should throw] + expected: FAIL + + [Underlying source: calling error and returning a rejected promise from start should cause the stream to error with the first error] + expected: FAIL + + [Underlying source: calling error and returning a rejected promise from pull should cause the stream to error with the first error] + expected: FAIL + + [Underlying source start: throwing getter] + expected: FAIL + + [Underlying source start: throwing method] + expected: FAIL + + [Underlying source: throwing pull getter (initial pull)] + expected: FAIL + + [Underlying source: throwing pull method (initial pull)] + expected: FAIL + + [Underlying source pull: throwing getter (second pull)] + expected: FAIL + + [Underlying source pull: throwing method (second pull)] + expected: FAIL + + [Underlying source cancel: throwing getter] + expected: FAIL + + [Underlying source cancel: throwing method] + expected: FAIL + + [Underlying source: calling enqueue on an empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling enqueue on a non-empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling enqueue on a closed stream should throw] + expected: FAIL + + [Underlying source: calling enqueue on an errored stream should throw] + expected: FAIL + + [Underlying source: calling close twice on an empty stream should throw the second time] + expected: FAIL + + [Underlying source: calling close twice on a non-empty stream should throw the second time] + expected: FAIL + + [Underlying source: calling close on an empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling close on a non-empty canceled stream should not throw] + expected: FAIL + + [Underlying source: calling close after error should throw] + expected: FAIL + + [Underlying source: calling error twice should throw the second time] + expected: FAIL + + [Underlying source: calling error after close should throw] + expected: FAIL + + [Underlying source: calling error and returning a rejected promise from start should cause the stream to error with the first error] + expected: FAIL + + [Underlying source: calling error and returning a rejected promise from pull should cause the stream to error with the first error] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/brand-checks.https.html.ini b/testing/web-platform/meta/streams/readable-streams/brand-checks.https.html.ini new file mode 100644 index 000000000..fcd2175aa --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/brand-checks.https.html.ini @@ -0,0 +1,120 @@ +[brand-checks.https.html] + type: testharness + disabled: @True + [Can get the ReadableStreamReader constructor indirectly] + expected: FAIL + + [Can get the ReadableStreamController constructor indirectly] + expected: FAIL + + [ReadableStream.prototype.cancel enforces a brand check] + expected: FAIL + + [ReadableStream.prototype.getReader enforces a brand check] + expected: FAIL + + [ReadableStream.prototype.tee enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.closed enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.cancel enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.read enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.releaseLock enforces a brand check] + expected: FAIL + + [ReadableStreamController can't be given a fully-constructed ReadableStream] + expected: FAIL + + [ReadableStreamController.prototype.close enforces a brand check] + expected: FAIL + + [ReadableStreamController.prototype.enqueue enforces a brand check] + expected: FAIL + + [ReadableStreamController.prototype.error enforces a brand check] + expected: FAIL + + [Can get the ReadableStreamReader constructor indirectly] + expected: FAIL + + [Can get the ReadableStreamController constructor indirectly] + expected: FAIL + + [ReadableStream.prototype.cancel enforces a brand check] + expected: FAIL + + [ReadableStream.prototype.getReader enforces a brand check] + expected: FAIL + + [ReadableStream.prototype.tee enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.closed enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.cancel enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.read enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.releaseLock enforces a brand check] + expected: FAIL + + [ReadableStreamController can't be given a fully-constructed ReadableStream] + expected: FAIL + + [ReadableStreamController.prototype.close enforces a brand check] + expected: FAIL + + [ReadableStreamController.prototype.enqueue enforces a brand check] + expected: FAIL + + [ReadableStreamController.prototype.error enforces a brand check] + expected: FAIL + + [Can get the ReadableStreamReader constructor indirectly] + expected: FAIL + + [Can get the ReadableStreamController constructor indirectly] + expected: FAIL + + [ReadableStream.prototype.cancel enforces a brand check] + expected: FAIL + + [ReadableStream.prototype.getReader enforces a brand check] + expected: FAIL + + [ReadableStream.prototype.tee enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.closed enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.cancel enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.read enforces a brand check] + expected: FAIL + + [ReadableStreamReader.prototype.releaseLock enforces a brand check] + expected: FAIL + + [ReadableStreamController can't be given a fully-constructed ReadableStream] + expected: FAIL + + [ReadableStreamController.prototype.close enforces a brand check] + expected: FAIL + + [ReadableStreamController.prototype.enqueue enforces a brand check] + expected: FAIL + + [ReadableStreamController.prototype.error enforces a brand check] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/cancel.https.html.ini b/testing/web-platform/meta/streams/readable-streams/cancel.https.html.ini new file mode 100644 index 000000000..f79ab229c --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/cancel.https.html.ini @@ -0,0 +1,93 @@ +[cancel.https.html] + type: testharness + disabled: @True + [ReadableStream cancellation: integration test on an infinite stream derived from a random push source] + expected: FAIL + + [ReadableStream cancellation: cancel(reason) should pass through the given reason to the underlying source] + expected: FAIL + + [ReadableStream cancellation: cancel() on a locked stream should fail and not call the underlying source cancel] + expected: FAIL + + [ReadableStream cancellation: should fulfill promise when cancel callback went fine] + expected: FAIL + + [ReadableStream cancellation: returning a value from the underlying source's cancel should not affect the fulfillment value of the promise returned by the stream's cancel] + expected: FAIL + + [ReadableStream cancellation: should reject promise when cancel callback raises an exception] + expected: FAIL + + [ReadableStream cancellation: if the underlying source's cancel method returns a promise, the promise returned by the stream's cancel should fulfill when that one does (1)] + expected: FAIL + + [ReadableStream cancellation: if the underlying source's cancel method returns a promise, the promise returned by the stream's cancel should fulfill when that one does (2)] + expected: FAIL + + [ReadableStream cancellation: if the underlying source's cancel method returns a promise, the promise returned by the stream's cancel should reject when that one does] + expected: FAIL + + [ReadableStream cancellation: cancelling before start finishes should prevent pull() from being called] + expected: FAIL + + [ReadableStream cancellation: integration test on an infinite stream derived from a random push source] + expected: FAIL + + [ReadableStream cancellation: cancel(reason) should pass through the given reason to the underlying source] + expected: FAIL + + [ReadableStream cancellation: cancel() on a locked stream should fail and not call the underlying source cancel] + expected: FAIL + + [ReadableStream cancellation: should fulfill promise when cancel callback went fine] + expected: FAIL + + [ReadableStream cancellation: returning a value from the underlying source's cancel should not affect the fulfillment value of the promise returned by the stream's cancel] + expected: FAIL + + [ReadableStream cancellation: should reject promise when cancel callback raises an exception] + expected: FAIL + + [ReadableStream cancellation: if the underlying source's cancel method returns a promise, the promise returned by the stream's cancel should fulfill when that one does (1)] + expected: FAIL + + [ReadableStream cancellation: if the underlying source's cancel method returns a promise, the promise returned by the stream's cancel should fulfill when that one does (2)] + expected: FAIL + + [ReadableStream cancellation: if the underlying source's cancel method returns a promise, the promise returned by the stream's cancel should reject when that one does] + expected: FAIL + + [ReadableStream cancellation: cancelling before start finishes should prevent pull() from being called] + expected: FAIL + + [ReadableStream cancellation: integration test on an infinite stream derived from a random push source] + expected: FAIL + + [ReadableStream cancellation: cancel(reason) should pass through the given reason to the underlying source] + expected: FAIL + + [ReadableStream cancellation: cancel() on a locked stream should fail and not call the underlying source cancel] + expected: FAIL + + [ReadableStream cancellation: should fulfill promise when cancel callback went fine] + expected: FAIL + + [ReadableStream cancellation: returning a value from the underlying source's cancel should not affect the fulfillment value of the promise returned by the stream's cancel] + expected: FAIL + + [ReadableStream cancellation: should reject promise when cancel callback raises an exception] + expected: FAIL + + [ReadableStream cancellation: if the underlying source's cancel method returns a promise, the promise returned by the stream's cancel should fulfill when that one does (1)] + expected: FAIL + + [ReadableStream cancellation: if the underlying source's cancel method returns a promise, the promise returned by the stream's cancel should fulfill when that one does (2)] + expected: FAIL + + [ReadableStream cancellation: if the underlying source's cancel method returns a promise, the promise returned by the stream's cancel should reject when that one does] + expected: FAIL + + [ReadableStream cancellation: cancelling before start finishes should prevent pull() from being called] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/count-queuing-strategy-integration.https.html.ini b/testing/web-platform/meta/streams/readable-streams/count-queuing-strategy-integration.https.html.ini new file mode 100644 index 000000000..0467b5918 --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/count-queuing-strategy-integration.https.html.ini @@ -0,0 +1,39 @@ +[count-queuing-strategy-integration.https.html] + type: testharness + disabled: @True + [Can construct a readable stream with a valid CountQueuingStrategy] + expected: FAIL + + [Correctly governs a ReadableStreamController's desiredSize property (HWM = 0)] + expected: FAIL + + [Correctly governs a ReadableStreamController's desiredSize property (HWM = 1)] + expected: FAIL + + [Correctly governs a ReadableStreamController's desiredSize property (HWM = 4)] + expected: FAIL + + [Can construct a readable stream with a valid CountQueuingStrategy] + expected: FAIL + + [Correctly governs a ReadableStreamController's desiredSize property (HWM = 0)] + expected: FAIL + + [Correctly governs a ReadableStreamController's desiredSize property (HWM = 1)] + expected: FAIL + + [Correctly governs a ReadableStreamController's desiredSize property (HWM = 4)] + expected: FAIL + + [Can construct a readable stream with a valid CountQueuingStrategy] + expected: FAIL + + [Correctly governs a ReadableStreamController's desiredSize property (HWM = 0)] + expected: FAIL + + [Correctly governs a ReadableStreamController's desiredSize property (HWM = 1)] + expected: FAIL + + [Correctly governs a ReadableStreamController's desiredSize property (HWM = 4)] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/garbage-collection.https.html.ini b/testing/web-platform/meta/streams/readable-streams/garbage-collection.https.html.ini new file mode 100644 index 000000000..f8c632083 --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/garbage-collection.https.html.ini @@ -0,0 +1,39 @@ +[garbage-collection.https.html] + type: testharness + disabled: @True + [ReadableStreamController methods should continue working properly when scripts lose their reference to the readable stream] + expected: FAIL + + [ReadableStream closed promise should fulfill even if the stream and reader JS references are lost] + expected: FAIL + + [ReadableStream closed promise should reject even if stream and reader JS references are lost] + expected: FAIL + + [Garbage-collecting a ReadableStreamReader should not unlock its stream] + expected: FAIL + + [ReadableStreamController methods should continue working properly when scripts lose their reference to the readable stream] + expected: FAIL + + [ReadableStream closed promise should fulfill even if the stream and reader JS references are lost] + expected: FAIL + + [ReadableStream closed promise should reject even if stream and reader JS references are lost] + expected: FAIL + + [Garbage-collecting a ReadableStreamReader should not unlock its stream] + expected: FAIL + + [ReadableStreamController methods should continue working properly when scripts lose their reference to the readable stream] + expected: FAIL + + [ReadableStream closed promise should fulfill even if the stream and reader JS references are lost] + expected: FAIL + + [ReadableStream closed promise should reject even if stream and reader JS references are lost] + expected: FAIL + + [Garbage-collecting a ReadableStreamReader should not unlock its stream] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/general.https.html.ini b/testing/web-platform/meta/streams/readable-streams/general.https.html.ini new file mode 100644 index 000000000..1c8cb8d52 --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/general.https.html.ini @@ -0,0 +1,300 @@ +[general.https.html] + type: testharness + disabled: @True + [ReadableStream can be constructed with no errors] + expected: FAIL + + [ReadableStream can't be constructed with garbage] + expected: FAIL + + [ReadableStream instances should have the correct list of properties] + expected: FAIL + + [ReadableStream constructor should throw for non-function start arguments] + expected: FAIL + + [ReadableStream constructor can get initial garbage as cancel argument] + expected: FAIL + + [ReadableStream constructor can get initial garbage as pull argument] + expected: FAIL + + [ReadableStream start should be called with the proper parameters] + expected: FAIL + + [ReadableStream start controller parameter should be extensible] + expected: FAIL + + [ReadableStream should be able to call start method within prototype chain of its source] + expected: FAIL + + [ReadableStream start should be able to return a promise] + expected: FAIL + + [ReadableStream start should be able to return a promise and reject it] + expected: FAIL + + [ReadableStream should be able to enqueue different objects.] + expected: FAIL + + [ReadableStream: if pull rejects, it should error the stream] + expected: FAIL + + [ReadableStream: should only call pull once upon starting the stream] + expected: FAIL + + [ReadableStream: should call pull when trying to read from a started, empty stream] + expected: FAIL + + [ReadableStream: should only call pull once on a non-empty stream read from before start fulfills] + expected: FAIL + + [ReadableStream: should only call pull once on a non-empty stream read from after start fulfills] + expected: FAIL + + [ReadableStream: should call pull in reaction to read()ing the last chunk, if not draining] + expected: FAIL + + [ReadableStream: should not call pull() in reaction to read()ing the last chunk, if draining] + expected: FAIL + + [ReadableStream: should not call pull until the previous pull call's promise fulfills] + expected: FAIL + + [ReadableStream: should pull after start, and after every read] + expected: FAIL + + [ReadableStream: should not call pull after start if the stream is now closed] + expected: FAIL + + [ReadableStream: should call pull after enqueueing from inside pull (with no read requests), if strategy allows] + expected: FAIL + + [ReadableStream pull should be able to close a stream.] + expected: FAIL + + [ReadableStream: enqueue should throw when the stream is readable but draining] + expected: FAIL + + [ReadableStream: enqueue should throw when the stream is closed] + expected: FAIL + + [ReadableStream: enqueue should throw the stored error when the stream is errored] + expected: FAIL + + [ReadableStream: should call underlying source methods as methods] + expected: FAIL + + [ReadableStream strategies: the default strategy should give desiredSize of 1 to start, decreasing by 1 per enqueue] + expected: FAIL + + [ReadableStream strategies: the default strategy should continue giving desiredSize of 1 if the chunks are read immediately] + expected: FAIL + + [ReadableStream integration test: adapting a random push source] + expected: FAIL + + [ReadableStream integration test: adapting a sync pull source] + expected: FAIL + + [ReadableStream integration test: adapting an async pull source] + expected: FAIL + + [ReadableStream can be constructed with no errors] + expected: FAIL + + [ReadableStream can't be constructed with garbage] + expected: FAIL + + [ReadableStream instances should have the correct list of properties] + expected: FAIL + + [ReadableStream constructor should throw for non-function start arguments] + expected: FAIL + + [ReadableStream constructor can get initial garbage as cancel argument] + expected: FAIL + + [ReadableStream constructor can get initial garbage as pull argument] + expected: FAIL + + [ReadableStream start should be called with the proper parameters] + expected: FAIL + + [ReadableStream start controller parameter should be extensible] + expected: FAIL + + [ReadableStream should be able to call start method within prototype chain of its source] + expected: FAIL + + [ReadableStream start should be able to return a promise] + expected: FAIL + + [ReadableStream start should be able to return a promise and reject it] + expected: FAIL + + [ReadableStream should be able to enqueue different objects.] + expected: FAIL + + [ReadableStream: if pull rejects, it should error the stream] + expected: FAIL + + [ReadableStream: should only call pull once upon starting the stream] + expected: FAIL + + [ReadableStream: should call pull when trying to read from a started, empty stream] + expected: FAIL + + [ReadableStream: should only call pull once on a non-empty stream read from before start fulfills] + expected: FAIL + + [ReadableStream: should only call pull once on a non-empty stream read from after start fulfills] + expected: FAIL + + [ReadableStream: should call pull in reaction to read()ing the last chunk, if not draining] + expected: FAIL + + [ReadableStream: should not call pull() in reaction to read()ing the last chunk, if draining] + expected: FAIL + + [ReadableStream: should not call pull until the previous pull call's promise fulfills] + expected: FAIL + + [ReadableStream: should pull after start, and after every read] + expected: FAIL + + [ReadableStream: should not call pull after start if the stream is now closed] + expected: FAIL + + [ReadableStream: should call pull after enqueueing from inside pull (with no read requests), if strategy allows] + expected: FAIL + + [ReadableStream pull should be able to close a stream.] + expected: FAIL + + [ReadableStream: enqueue should throw when the stream is readable but draining] + expected: FAIL + + [ReadableStream: enqueue should throw when the stream is closed] + expected: FAIL + + [ReadableStream: enqueue should throw the stored error when the stream is errored] + expected: FAIL + + [ReadableStream: should call underlying source methods as methods] + expected: FAIL + + [ReadableStream strategies: the default strategy should give desiredSize of 1 to start, decreasing by 1 per enqueue] + expected: FAIL + + [ReadableStream strategies: the default strategy should continue giving desiredSize of 1 if the chunks are read immediately] + expected: FAIL + + [ReadableStream integration test: adapting a random push source] + expected: FAIL + + [ReadableStream integration test: adapting a sync pull source] + expected: FAIL + + [ReadableStream integration test: adapting an async pull source] + expected: FAIL + + [ReadableStream can be constructed with no errors] + expected: FAIL + + [ReadableStream can't be constructed with garbage] + expected: FAIL + + [ReadableStream instances should have the correct list of properties] + expected: FAIL + + [ReadableStream constructor should throw for non-function start arguments] + expected: FAIL + + [ReadableStream constructor can get initial garbage as cancel argument] + expected: FAIL + + [ReadableStream constructor can get initial garbage as pull argument] + expected: FAIL + + [ReadableStream start should be called with the proper parameters] + expected: FAIL + + [ReadableStream start controller parameter should be extensible] + expected: FAIL + + [ReadableStream should be able to call start method within prototype chain of its source] + expected: FAIL + + [ReadableStream start should be able to return a promise] + expected: FAIL + + [ReadableStream start should be able to return a promise and reject it] + expected: FAIL + + [ReadableStream should be able to enqueue different objects.] + expected: FAIL + + [ReadableStream: if pull rejects, it should error the stream] + expected: FAIL + + [ReadableStream: should only call pull once upon starting the stream] + expected: FAIL + + [ReadableStream: should call pull when trying to read from a started, empty stream] + expected: FAIL + + [ReadableStream: should only call pull once on a non-empty stream read from before start fulfills] + expected: FAIL + + [ReadableStream: should only call pull once on a non-empty stream read from after start fulfills] + expected: FAIL + + [ReadableStream: should call pull in reaction to read()ing the last chunk, if not draining] + expected: FAIL + + [ReadableStream: should not call pull() in reaction to read()ing the last chunk, if draining] + expected: FAIL + + [ReadableStream: should not call pull until the previous pull call's promise fulfills] + expected: FAIL + + [ReadableStream: should pull after start, and after every read] + expected: FAIL + + [ReadableStream: should not call pull after start if the stream is now closed] + expected: FAIL + + [ReadableStream: should call pull after enqueueing from inside pull (with no read requests), if strategy allows] + expected: FAIL + + [ReadableStream pull should be able to close a stream.] + expected: FAIL + + [ReadableStream: enqueue should throw when the stream is readable but draining] + expected: FAIL + + [ReadableStream: enqueue should throw when the stream is closed] + expected: FAIL + + [ReadableStream: enqueue should throw the stored error when the stream is errored] + expected: FAIL + + [ReadableStream: should call underlying source methods as methods] + expected: FAIL + + [ReadableStream strategies: the default strategy should give desiredSize of 1 to start, decreasing by 1 per enqueue] + expected: FAIL + + [ReadableStream strategies: the default strategy should continue giving desiredSize of 1 if the chunks are read immediately] + expected: FAIL + + [ReadableStream integration test: adapting a random push source] + expected: FAIL + + [ReadableStream integration test: adapting a sync pull source] + expected: FAIL + + [ReadableStream integration test: adapting an async pull source] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/pipe-through.https.html.ini b/testing/web-platform/meta/streams/readable-streams/pipe-through.https.html.ini new file mode 100644 index 000000000..2e88ad56d --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/pipe-through.https.html.ini @@ -0,0 +1,48 @@ +[pipe-through.https.html] + type: testharness + disabled: @True + [ReadableStream.prototype.pipeThrough should work generically on its this and its arguments] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should throw when its first argument is not convertible to an object] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should throw when "this" has no pipeTo method] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should rethrow errors from accessing pipeTo, readable, or writable] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should work with missing readable, writable, or options] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should work generically on its this and its arguments] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should throw when its first argument is not convertible to an object] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should throw when "this" has no pipeTo method] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should rethrow errors from accessing pipeTo, readable, or writable] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should work with missing readable, writable, or options] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should work generically on its this and its arguments] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should throw when its first argument is not convertible to an object] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should throw when "this" has no pipeTo method] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should rethrow errors from accessing pipeTo, readable, or writable] + expected: FAIL + + [ReadableStream.prototype.pipeThrough should work with missing readable, writable, or options] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/readable-stream-reader.https.html.ini b/testing/web-platform/meta/streams/readable-streams/readable-stream-reader.https.html.ini new file mode 100644 index 000000000..31ed1d542 --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/readable-stream-reader.https.html.ini @@ -0,0 +1,228 @@ +[readable-stream-reader.https.html] + type: testharness + disabled: @True + [Can get the ReadableStreamReader constructor indirectly] + expected: FAIL + + [ReadableStreamReader instances should have the correct list of properties] + expected: FAIL + + [ReadableStreamReader closed should always return the same promise object] + expected: FAIL + + [Constructing a ReadableStreamReader directly should fail if the stream is already locked (via direct construction)] + expected: FAIL + + [Getting a ReadableStreamReader via getReader should fail if the stream is already locked (via direct construction)] + expected: FAIL + + [Constructing a ReadableStreamReader directly should fail if the stream is already locked (via getReader)] + expected: FAIL + + [Getting a ReadableStreamReader via getReader should fail if the stream is already locked (via getReader)] + expected: FAIL + + [Constructing a ReadableStreamReader directly should be OK if the stream is closed] + expected: FAIL + + [Constructing a ReadableStreamReader directly should be OK if the stream is errored] + expected: FAIL + + [Reading from a reader for an empty stream will wait until a chunk is available] + expected: FAIL + + [cancel() on a reader does not release the reader] + expected: FAIL + + [closed should be fulfilled after stream is closed (.closed access before acquiring)] + expected: FAIL + + [closed should be rejected after reader releases its lock (multiple stream locks)] + expected: FAIL + + [Multiple readers can access the stream in sequence] + expected: FAIL + + [Cannot use an already-released reader to unlock a stream again] + expected: FAIL + + [cancel() on a released reader is a no-op and does not pass through] + expected: FAIL + + [Getting a second reader after erroring the stream and releasing the reader should succeed] + expected: FAIL + + [ReadableStreamReader closed promise should be rejected with undefined if that is the error] + expected: FAIL + + [ReadableStreamReader: if start rejects with no parameter, it should error the stream with an undefined error] + expected: FAIL + + [Erroring a ReadableStream after checking closed should reject ReadableStreamReader closed promise] + expected: FAIL + + [Erroring a ReadableStream before checking closed should reject ReadableStreamReader closed promise] + expected: FAIL + + [Reading twice on a stream that gets closed] + expected: FAIL + + [Reading twice on a closed stream] + expected: FAIL + + [Reading twice on an errored stream] + expected: FAIL + + [Reading twice on a stream that gets errored] + expected: FAIL + + [Can get the ReadableStreamReader constructor indirectly] + expected: FAIL + + [ReadableStreamReader instances should have the correct list of properties] + expected: FAIL + + [ReadableStreamReader closed should always return the same promise object] + expected: FAIL + + [Constructing a ReadableStreamReader directly should fail if the stream is already locked (via direct construction)] + expected: FAIL + + [Getting a ReadableStreamReader via getReader should fail if the stream is already locked (via direct construction)] + expected: FAIL + + [Constructing a ReadableStreamReader directly should fail if the stream is already locked (via getReader)] + expected: FAIL + + [Getting a ReadableStreamReader via getReader should fail if the stream is already locked (via getReader)] + expected: FAIL + + [Constructing a ReadableStreamReader directly should be OK if the stream is closed] + expected: FAIL + + [Constructing a ReadableStreamReader directly should be OK if the stream is errored] + expected: FAIL + + [Reading from a reader for an empty stream will wait until a chunk is available] + expected: FAIL + + [cancel() on a reader does not release the reader] + expected: FAIL + + [closed should be fulfilled after stream is closed (.closed access before acquiring)] + expected: FAIL + + [closed should be rejected after reader releases its lock (multiple stream locks)] + expected: FAIL + + [Multiple readers can access the stream in sequence] + expected: FAIL + + [Cannot use an already-released reader to unlock a stream again] + expected: FAIL + + [cancel() on a released reader is a no-op and does not pass through] + expected: FAIL + + [Getting a second reader after erroring the stream and releasing the reader should succeed] + expected: FAIL + + [ReadableStreamReader closed promise should be rejected with undefined if that is the error] + expected: FAIL + + [ReadableStreamReader: if start rejects with no parameter, it should error the stream with an undefined error] + expected: FAIL + + [Erroring a ReadableStream after checking closed should reject ReadableStreamReader closed promise] + expected: FAIL + + [Erroring a ReadableStream before checking closed should reject ReadableStreamReader closed promise] + expected: FAIL + + [Reading twice on a stream that gets closed] + expected: FAIL + + [Reading twice on a closed stream] + expected: FAIL + + [Reading twice on an errored stream] + expected: FAIL + + [Reading twice on a stream that gets errored] + expected: FAIL + + [Can get the ReadableStreamReader constructor indirectly] + expected: FAIL + + [ReadableStreamReader instances should have the correct list of properties] + expected: FAIL + + [ReadableStreamReader closed should always return the same promise object] + expected: FAIL + + [Constructing a ReadableStreamReader directly should fail if the stream is already locked (via direct construction)] + expected: FAIL + + [Getting a ReadableStreamReader via getReader should fail if the stream is already locked (via direct construction)] + expected: FAIL + + [Constructing a ReadableStreamReader directly should fail if the stream is already locked (via getReader)] + expected: FAIL + + [Getting a ReadableStreamReader via getReader should fail if the stream is already locked (via getReader)] + expected: FAIL + + [Constructing a ReadableStreamReader directly should be OK if the stream is closed] + expected: FAIL + + [Constructing a ReadableStreamReader directly should be OK if the stream is errored] + expected: FAIL + + [Reading from a reader for an empty stream will wait until a chunk is available] + expected: FAIL + + [cancel() on a reader does not release the reader] + expected: FAIL + + [closed should be fulfilled after stream is closed (.closed access before acquiring)] + expected: FAIL + + [closed should be rejected after reader releases its lock (multiple stream locks)] + expected: FAIL + + [Multiple readers can access the stream in sequence] + expected: FAIL + + [Cannot use an already-released reader to unlock a stream again] + expected: FAIL + + [cancel() on a released reader is a no-op and does not pass through] + expected: FAIL + + [Getting a second reader after erroring the stream and releasing the reader should succeed] + expected: FAIL + + [ReadableStreamReader closed promise should be rejected with undefined if that is the error] + expected: FAIL + + [ReadableStreamReader: if start rejects with no parameter, it should error the stream with an undefined error] + expected: FAIL + + [Erroring a ReadableStream after checking closed should reject ReadableStreamReader closed promise] + expected: FAIL + + [Erroring a ReadableStream before checking closed should reject ReadableStreamReader closed promise] + expected: FAIL + + [Reading twice on a stream that gets closed] + expected: FAIL + + [Reading twice on a closed stream] + expected: FAIL + + [Reading twice on an errored stream] + expected: FAIL + + [Reading twice on a stream that gets errored] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/tee.https.html.ini b/testing/web-platform/meta/streams/readable-streams/tee.https.html.ini new file mode 100644 index 000000000..33cd1120a --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/tee.https.html.ini @@ -0,0 +1,93 @@ +[tee.https.html] + type: testharness + disabled: @True + [ReadableStream teeing: rs.tee() returns an array of two ReadableStreams] + expected: FAIL + + [ReadableStream teeing: should be able to read one branch to the end without affecting the other] + expected: FAIL + + [ReadableStream teeing: values should be equal across each branch] + expected: FAIL + + [ReadableStream teeing: errors in the source should propagate to both branches] + expected: FAIL + + [ReadableStream teeing: canceling branch1 should not impact branch2] + expected: FAIL + + [ReadableStream teeing: canceling branch2 should not impact branch2] + expected: FAIL + + [ReadableStream teeing: canceling both branches should aggregate the cancel reasons into an array] + expected: FAIL + + [ReadableStream teeing: failing to cancel the original stream should cause cancel() to reject on branches] + expected: FAIL + + [ReadableStream teeing: closing the original should immediately close the branches] + expected: FAIL + + [ReadableStream teeing: erroring the original should immediately error the branches] + expected: FAIL + + [ReadableStream teeing: rs.tee() returns an array of two ReadableStreams] + expected: FAIL + + [ReadableStream teeing: should be able to read one branch to the end without affecting the other] + expected: FAIL + + [ReadableStream teeing: values should be equal across each branch] + expected: FAIL + + [ReadableStream teeing: errors in the source should propagate to both branches] + expected: FAIL + + [ReadableStream teeing: canceling branch1 should not impact branch2] + expected: FAIL + + [ReadableStream teeing: canceling branch2 should not impact branch2] + expected: FAIL + + [ReadableStream teeing: canceling both branches should aggregate the cancel reasons into an array] + expected: FAIL + + [ReadableStream teeing: failing to cancel the original stream should cause cancel() to reject on branches] + expected: FAIL + + [ReadableStream teeing: closing the original should immediately close the branches] + expected: FAIL + + [ReadableStream teeing: erroring the original should immediately error the branches] + expected: FAIL + + [ReadableStream teeing: rs.tee() returns an array of two ReadableStreams] + expected: FAIL + + [ReadableStream teeing: should be able to read one branch to the end without affecting the other] + expected: FAIL + + [ReadableStream teeing: values should be equal across each branch] + expected: FAIL + + [ReadableStream teeing: errors in the source should propagate to both branches] + expected: FAIL + + [ReadableStream teeing: canceling branch1 should not impact branch2] + expected: FAIL + + [ReadableStream teeing: canceling branch2 should not impact branch2] + expected: FAIL + + [ReadableStream teeing: canceling both branches should aggregate the cancel reasons into an array] + expected: FAIL + + [ReadableStream teeing: failing to cancel the original stream should cause cancel() to reject on branches] + expected: FAIL + + [ReadableStream teeing: closing the original should immediately close the branches] + expected: FAIL + + [ReadableStream teeing: erroring the original should immediately error the branches] + expected: FAIL + diff --git a/testing/web-platform/meta/streams/readable-streams/templated.https.html.ini b/testing/web-platform/meta/streams/readable-streams/templated.https.html.ini new file mode 100644 index 000000000..7b885ca93 --- /dev/null +++ b/testing/web-platform/meta/streams/readable-streams/templated.https.html.ini @@ -0,0 +1,633 @@ +[templated.https.html] + type: testharness + disabled: @True + [instances have the correct methods and properties] + expected: FAIL + + [instances have the correct methods and properties] + expected: FAIL + + [locked should be true] + expected: FAIL + + [read() should never settle] + expected: FAIL + + [two read()s should both never settle] + expected: FAIL + + [read() should return distinct promises each time] + expected: FAIL + + [getReader() again on the stream should fail] + expected: FAIL + + [releasing the lock with pending read requests should throw but the read requests should stay pending] + expected: FAIL + + [releasing the lock should cause further read() calls to reject with a TypeError] + expected: FAIL + + [releasing the lock should cause closed calls to reject with a TypeError] + expected: FAIL + + [releasing the lock should cause locked to become false] + expected: FAIL + + [canceling via the reader should cause the reader to act closed] + expected: FAIL + + [canceling via the stream should fail] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [getReader() should be OK] + expected: FAIL + + [should be able to acquire multiple readers if they are released in succession] + expected: FAIL + + [should not be able to acquire a second reader if we don't release the first one] + expected: FAIL + + [read() should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() multiple times should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() should work when used within another read() fulfill callback] + expected: FAIL + + [closed should fulfill with undefined] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [read() should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() multiple times should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() should work when used within another read() fulfill callback] + expected: FAIL + + [closed should fulfill with undefined] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [getReader() should be OK] + expected: FAIL + + [should be able to acquire multiple readers if they are released in succession] + expected: FAIL + + [should not be able to acquire a second reader if we don't release the first one] + expected: FAIL + + [read() should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() multiple times should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() should work when used within another read() fulfill callback] + expected: FAIL + + [closed should fulfill with undefined] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [getReader() should return a reader that acts errored] + expected: FAIL + + [read() twice should give the error each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [should be able to obtain a second reader, with the correct closed promise] + expected: FAIL + + [should not be able to obtain additional readers if we don't release the first lock] + expected: FAIL + + [cancel() should return a distinct rejected promise each time] + expected: FAIL + + [reader cancel() should return a distinct rejected promise each time] + expected: FAIL + + [getReader() should return a reader that acts errored] + expected: FAIL + + [read() twice should give the error each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [closed should reject with the error] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [read() should reject with the error] + expected: FAIL + + [closed should reject with the error] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [read() should reject with the error] + expected: FAIL + + [closed should reject with the error] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [read() should reject with the error] + expected: FAIL + + [calling read() twice without waiting will eventually give both chunks (sequential)] + expected: FAIL + + [calling read() twice without waiting will eventually give both chunks (nested)] + expected: FAIL + + [read() should return distinct promises each time] + expected: FAIL + + [cancel() after a read() should still give that single read result] + expected: FAIL + + [third read(), without waiting, should give { value: undefined, done: true } (sequential)] + expected: FAIL + + [third read(), without waiting, should give { value: undefined, done: true } (nested)] + expected: FAIL + + [draining the stream via read() should cause the reader closed promise to fulfill, but locked stays true] + expected: FAIL + + [releasing the lock after the stream is closed should cause locked to become false] + expected: FAIL + + [releasing the lock should cause further read() calls to reject with a TypeError] + expected: FAIL + + [reader's closed property always returns the same promise] + expected: FAIL + + [instances have the correct methods and properties] + expected: FAIL + + [instances have the correct methods and properties] + expected: FAIL + + [locked should be true] + expected: FAIL + + [read() should never settle] + expected: FAIL + + [two read()s should both never settle] + expected: FAIL + + [read() should return distinct promises each time] + expected: FAIL + + [getReader() again on the stream should fail] + expected: FAIL + + [releasing the lock with pending read requests should throw but the read requests should stay pending] + expected: FAIL + + [releasing the lock should cause further read() calls to reject with a TypeError] + expected: FAIL + + [releasing the lock should cause closed calls to reject with a TypeError] + expected: FAIL + + [releasing the lock should cause locked to become false] + expected: FAIL + + [canceling via the reader should cause the reader to act closed] + expected: FAIL + + [canceling via the stream should fail] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [getReader() should be OK] + expected: FAIL + + [should be able to acquire multiple readers if they are released in succession] + expected: FAIL + + [should not be able to acquire a second reader if we don't release the first one] + expected: FAIL + + [read() should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() multiple times should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() should work when used within another read() fulfill callback] + expected: FAIL + + [closed should fulfill with undefined] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [read() should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() multiple times should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() should work when used within another read() fulfill callback] + expected: FAIL + + [closed should fulfill with undefined] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [getReader() should be OK] + expected: FAIL + + [should be able to acquire multiple readers if they are released in succession] + expected: FAIL + + [should not be able to acquire a second reader if we don't release the first one] + expected: FAIL + + [read() should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() multiple times should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() should work when used within another read() fulfill callback] + expected: FAIL + + [closed should fulfill with undefined] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [getReader() should return a reader that acts errored] + expected: FAIL + + [read() twice should give the error each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [should be able to obtain a second reader, with the correct closed promise] + expected: FAIL + + [should not be able to obtain additional readers if we don't release the first lock] + expected: FAIL + + [cancel() should return a distinct rejected promise each time] + expected: FAIL + + [reader cancel() should return a distinct rejected promise each time] + expected: FAIL + + [getReader() should return a reader that acts errored] + expected: FAIL + + [read() twice should give the error each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [closed should reject with the error] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [read() should reject with the error] + expected: FAIL + + [closed should reject with the error] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [read() should reject with the error] + expected: FAIL + + [closed should reject with the error] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [read() should reject with the error] + expected: FAIL + + [calling read() twice without waiting will eventually give both chunks (sequential)] + expected: FAIL + + [calling read() twice without waiting will eventually give both chunks (nested)] + expected: FAIL + + [read() should return distinct promises each time] + expected: FAIL + + [cancel() after a read() should still give that single read result] + expected: FAIL + + [third read(), without waiting, should give { value: undefined, done: true } (sequential)] + expected: FAIL + + [third read(), without waiting, should give { value: undefined, done: true } (nested)] + expected: FAIL + + [draining the stream via read() should cause the reader closed promise to fulfill, but locked stays true] + expected: FAIL + + [releasing the lock after the stream is closed should cause locked to become false] + expected: FAIL + + [releasing the lock should cause further read() calls to reject with a TypeError] + expected: FAIL + + [reader's closed property always returns the same promise] + expected: FAIL + + [instances have the correct methods and properties] + expected: FAIL + + [instances have the correct methods and properties] + expected: FAIL + + [locked should be true] + expected: FAIL + + [read() should never settle] + expected: FAIL + + [two read()s should both never settle] + expected: FAIL + + [read() should return distinct promises each time] + expected: FAIL + + [getReader() again on the stream should fail] + expected: FAIL + + [releasing the lock with pending read requests should throw but the read requests should stay pending] + expected: FAIL + + [releasing the lock should cause further read() calls to reject with a TypeError] + expected: FAIL + + [releasing the lock should cause closed calls to reject with a TypeError] + expected: FAIL + + [releasing the lock should cause locked to become false] + expected: FAIL + + [canceling via the reader should cause the reader to act closed] + expected: FAIL + + [canceling via the stream should fail] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [getReader() should be OK] + expected: FAIL + + [should be able to acquire multiple readers if they are released in succession] + expected: FAIL + + [should not be able to acquire a second reader if we don't release the first one] + expected: FAIL + + [read() should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() multiple times should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() should work when used within another read() fulfill callback] + expected: FAIL + + [closed should fulfill with undefined] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [read() should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() multiple times should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() should work when used within another read() fulfill callback] + expected: FAIL + + [closed should fulfill with undefined] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [getReader() should be OK] + expected: FAIL + + [should be able to acquire multiple readers if they are released in succession] + expected: FAIL + + [should not be able to acquire a second reader if we don't release the first one] + expected: FAIL + + [read() should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() multiple times should fulfill with { value: undefined, done: true }] + expected: FAIL + + [read() should work when used within another read() fulfill callback] + expected: FAIL + + [closed should fulfill with undefined] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [cancel() should return a distinct fulfilled promise each time] + expected: FAIL + + [getReader() should return a reader that acts errored] + expected: FAIL + + [read() twice should give the error each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [should be able to obtain a second reader, with the correct closed promise] + expected: FAIL + + [should not be able to obtain additional readers if we don't release the first lock] + expected: FAIL + + [cancel() should return a distinct rejected promise each time] + expected: FAIL + + [reader cancel() should return a distinct rejected promise each time] + expected: FAIL + + [getReader() should return a reader that acts errored] + expected: FAIL + + [read() twice should give the error each time] + expected: FAIL + + [locked should be false] + expected: FAIL + + [closed should reject with the error] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [read() should reject with the error] + expected: FAIL + + [closed should reject with the error] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [read() should reject with the error] + expected: FAIL + + [closed should reject with the error] + expected: FAIL + + [releasing the lock should cause closed to reject and change identity] + expected: FAIL + + [read() should reject with the error] + expected: FAIL + + [calling read() twice without waiting will eventually give both chunks (sequential)] + expected: FAIL + + [calling read() twice without waiting will eventually give both chunks (nested)] + expected: FAIL + + [read() should return distinct promises each time] + expected: FAIL + + [cancel() after a read() should still give that single read result] + expected: FAIL + + [third read(), without waiting, should give { value: undefined, done: true } (sequential)] + expected: FAIL + + [third read(), without waiting, should give { value: undefined, done: true } (nested)] + expected: FAIL + + [draining the stream via read() should cause the reader closed promise to fulfill, but locked stays true] + expected: FAIL + + [releasing the lock after the stream is closed should cause locked to become false] + expected: FAIL + + [releasing the lock should cause further read() calls to reject with a TypeError] + expected: FAIL + + [reader's closed property always returns the same promise] + expected: FAIL + |