node/test/parallel/test-filehandle-autoclose.mjs
Antoine du Hamel 17fba608ae
test: ensure assertions are reached on more tests
PR-URL: https://github.com/nodejs/node/pull/60726
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2025-11-17 22:10:40 +01:00

31 lines
819 B
JavaScript

import '../common/index.mjs';
import { open } from 'node:fs/promises';
import assert from 'node:assert';
{
const fh = await open(new URL(import.meta.url));
// TODO: remove autoClose option when it becomes default
const readableStream = fh.readableWebStream({ autoClose: true });
// Consume the stream
await new Response(readableStream).text();
// If reading the FileHandle after the stream is consumed fails,
// then we assume the autoClose option worked as expected.
await assert.rejects(fh.read(), { code: 'EBADF' });
}
{
await using fh = await open(new URL(import.meta.url));
const readableStream = fh.readableWebStream({ autoClose: false });
// Consume the stream
await new Response(readableStream).text();
// Filehandle must be still open
await fh.read();
await fh.close();
}