From 20bdf3ff333c17a558b4dbd0a188cecb51293634 Mon Sep 17 00:00:00 2001 From: Ardis Lu Date: Mon, 27 Jan 2025 22:33:02 -0800 Subject: [PATCH] Add test for changing elapsed status --- test/core.test.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/test/core.test.js b/test/core.test.js index dedbc42..5bb3f9c 100644 --- a/test/core.test.js +++ b/test/core.test.js @@ -536,6 +536,25 @@ suite('CSVWriter status', { concurrency: true }, () => { await createCSVMockStream([['']]).pipeTo(writer); ok(writer.status.elapsed > 0); }); + test('elapsed time changes while writing', { concurrency: true }, async (t) => { + const temp = await createTempFile(); + t.after(async () => await unlink(temp)); + const writer = new CSVWriter(temp); + const elapsedArray = []; + await createCSVMockStream([[''], [''], [''], ['']]) + .pipeThrough(new CSVTransformer(async r => { + const { elapsed } = writer.status; + elapsedArray.push(elapsed); + await setTimeout(5); + return r; + }, { handleHeaders: true })) + .pipeTo(writer); + const { elapsed } = writer.status; + elapsedArray.push(elapsed); + const uniqueElapsed = new Set(elapsedArray); + deepStrictEqual(elapsedArray.length, 5); + deepStrictEqual(elapsedArray.length, uniqueElapsed.size); + }); test('elapsed time does not change after finishing writing', { concurrency: true }, async (t) => { const temp = await createTempFile(); t.after(async () => await unlink(temp)); -- 2.47.3