From 8bb7f565cf7b6701d62a6aee281c9cfe3fda213f Mon Sep 17 00:00:00 2001 From: MURAKAMI Masahiko Date: Thu, 5 May 2022 20:48:37 +0900 Subject: [PATCH] test: improve `lib/internal/webstreams/readablestream.js` coverage PR-URL: https://github.com/nodejs/node/pull/42823 Refs: https://coverage.nodejs.org/coverage-3a6b975981092213/lib/internal/webstreams/readablestream.js.html#L421 Reviewed-By: Antoine du Hamel Reviewed-By: James M Snell Reviewed-By: Michael Dawson --- .../test-whatwg-readablebytestream.js | 16 ++++++++++++++ test/parallel/test-whatwg-readablestream.js | 22 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/test/parallel/test-whatwg-readablebytestream.js b/test/parallel/test-whatwg-readablebytestream.js index 83ec85fae61405..6b305a0d8365f2 100644 --- a/test/parallel/test-whatwg-readablebytestream.js +++ b/test/parallel/test-whatwg-readablebytestream.js @@ -65,6 +65,9 @@ const { defaultReader.releaseLock(); const byobReader = r.getReader({ mode: 'byob' }); assert(byobReader instanceof ReadableStreamBYOBReader); + assert.match( + inspect(byobReader, { depth: 0 }), + /ReadableStreamBYOBReader/); } class Source { @@ -233,6 +236,19 @@ class Source { }); } +{ + let controller; + new ReadableStream({ + type: 'bytes', + start(c) { controller = c; } + }); + controller.enqueue(new Uint8Array(10)); + controller.close(); + assert.throws(() => controller.enqueue(new Uint8Array(10)), { + code: 'ERR_INVALID_STATE', + }); +} + { const stream = new ReadableStream({ type: 'bytes', diff --git a/test/parallel/test-whatwg-readablestream.js b/test/parallel/test-whatwg-readablestream.js index cef3eca6ed2733..1bb53d5286c348 100644 --- a/test/parallel/test-whatwg-readablestream.js +++ b/test/parallel/test-whatwg-readablestream.js @@ -32,6 +32,7 @@ const { readableStreamDefaultControllerCanCloseOrEnqueue, readableByteStreamControllerClose, readableByteStreamControllerRespond, + readableStreamReaderGenericRelease, } = require('internal/webstreams/readablestream'); const { @@ -371,6 +372,24 @@ assert.throws(() => { }); } +{ + const stream = new ReadableStream(); + const iterable = stream.values(); + readableStreamReaderGenericRelease(stream[kState].reader); + assert.rejects(iterable.next(), { + code: 'ERR_INVALID_STATE', + }).then(common.mustCall()); +} + +{ + const stream = new ReadableStream(); + const iterable = stream.values(); + readableStreamReaderGenericRelease(stream[kState].reader); + assert.rejects(iterable.return(), { + code: 'ERR_INVALID_STATE', + }).then(common.mustCall()); +} + { const stream = new ReadableStream({ start(controller) { @@ -1357,6 +1376,9 @@ class Source { assert.throws(() => ReadableStream.prototype.tee.call({}), { code: 'ERR_INVALID_THIS', }); + assert.throws(() => ReadableStream.prototype.values.call({}), { + code: 'ERR_INVALID_THIS', + }); assert.throws(() => ReadableStream.prototype[kTransfer].call({}), { code: 'ERR_INVALID_THIS', });