mirror of
https://github.com/zebrajr/node.git
synced 2025-12-06 00:20:08 +01:00
stream: fix sizeAlgorithm validation in WritableStream
Signed-off-by: Daeyeon Jeong <daeyeon.dev@gmail.com> PR-URL: https://github.com/nodejs/node/pull/57280 Fixes: https://github.com/nodejs/node/issues/57272 Refs: https://github.com/nodejs/node/pull/56067 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Minwoo Jung <nodecorelab@gmail.com> Reviewed-By: Jason Zhang <xzha4350@gmail.com>
This commit is contained in:
parent
345aa1f7c4
commit
c566639026
|
|
@ -1181,7 +1181,9 @@ function writableStreamDefaultControllerGetChunkSize(controller, chunk) {
|
|||
sizeAlgorithm,
|
||||
} = controller[kState];
|
||||
if (sizeAlgorithm === undefined) {
|
||||
assert(stream[kState].state === 'errored' || stream[kState].state === 'erroring');
|
||||
assert(stream[kState].state === 'closed' ||
|
||||
stream[kState].state === 'errored' ||
|
||||
stream[kState].state === 'erroring');
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
|
|
|||
29
test/parallel/test-whatwg-writablestream-close.js
Normal file
29
test/parallel/test-whatwg-writablestream-close.js
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
'use strict';
|
||||
|
||||
require('../common');
|
||||
const { test } = require('node:test');
|
||||
const assert = require('node:assert');
|
||||
|
||||
// https://github.com/nodejs/node/issues/57272
|
||||
|
||||
test('should throw error when writing after close', async (t) => {
|
||||
const writable = new WritableStream({
|
||||
write(chunk) {
|
||||
console.log(chunk);
|
||||
},
|
||||
});
|
||||
|
||||
const writer = writable.getWriter();
|
||||
|
||||
await writer.write('Hello');
|
||||
await writer.close();
|
||||
|
||||
await assert.rejects(
|
||||
async () => {
|
||||
await writer.write('World');
|
||||
},
|
||||
{
|
||||
name: 'TypeError',
|
||||
}
|
||||
);
|
||||
});
|
||||
Loading…
Reference in New Issue
Block a user