From: Ardis Lu Date: Tue, 28 Jan 2025 06:33:02 +0000 (-0800) Subject: Add test for changing elapsed status X-Git-Tag: v0.1.0~78 X-Git-Url: https://git.ardis.lu/?a=commitdiff_plain;h=20bdf3ff333c17a558b4dbd0a188cecb51293634;p=csvio Add test for changing elapsed status --- 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));