node/test/parallel/test-webstream-structured-c...

29 lines
659 B
JavaScript

import '../common/index.mjs';
import { test } from 'node:test';
import assert from 'node:assert';
test('do not leak promises', async () => {
const buf = new Uint8Array(1);
const readable = new ReadableStream({
start(controller) {
controller.enqueue(buf);
controller.close();
}
});
const [out1, out2] = readable.tee();
const cloned = structuredClone(out2, { transfer: [out2] });
for await (const chunk of cloned) {
assert.deepStrictEqual(chunk, buf);
}
for await (const chunk of out2) {
assert.deepStrictEqual(chunk, buf);
}
for await (const chunk of out1) {
assert.deepStrictEqual(chunk, buf);
}
});