From 1a244177a3bb8aec36e3dd120b24a84c6027c577 Mon Sep 17 00:00:00 2001 From: Hasegawa-Yukihiro Date: Mon, 24 Feb 2025 10:29:24 +0900 Subject: [PATCH] test: add doAppendAndCancel test PR-URL: https://github.com/nodejs/node/pull/56972 Reviewed-By: Luigi Pinca --- ...est-fs-promises-file-handle-append-file.js | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/test/parallel/test-fs-promises-file-handle-append-file.js b/test/parallel/test-fs-promises-file-handle-append-file.js index 90bb6e392516f4..42b6dbee309cec 100644 --- a/test/parallel/test-fs-promises-file-handle-append-file.js +++ b/test/parallel/test-fs-promises-file-handle-append-file.js @@ -39,6 +39,21 @@ async function validateAppendString() { await fileHandle.close(); } -validateAppendBuffer() - .then(validateAppendString) - .then(common.mustCall()); +async function doAppendAndCancel() { + const filePathForHandle = path.resolve(tmpDir, 'dogs-running.txt'); + const fileHandle = await open(filePathForHandle, 'w+'); + const buffer = Buffer.from('dogs running'.repeat(512 * 1024), 'utf8'); + const controller = new AbortController(); + const { signal } = controller; + process.nextTick(() => controller.abort()); + await assert.rejects(fileHandle.appendFile(buffer, { signal }), { + name: 'AbortError' + }); + await fileHandle.close(); +} + +Promise.all([ + validateAppendBuffer(), + validateAppendString(), + doAppendAndCancel(), +]).then(common.mustCall());