From 6452d0b357cbf07a9c82f9eaa572463ce1a145d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Krzeslak?= Date: Thu, 24 Jul 2025 18:10:55 +0200 Subject: [PATCH] test: add unit test for xelatex.ts --- src/converters/xelatex.ts | 5 +++-- tests/converters/xelatex.test.ts | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 tests/converters/xelatex.test.ts diff --git a/src/converters/xelatex.ts b/src/converters/xelatex.ts index 5b29356..784acdc 100644 --- a/src/converters/xelatex.ts +++ b/src/converters/xelatex.ts @@ -1,4 +1,5 @@ -import { execFile } from "node:child_process"; +import { execFile as execFileOriginal } from "node:child_process"; +import { ExecFileFn } from "./types.ts"; export const properties = { from: { @@ -14,8 +15,8 @@ export function convert( fileType: string, convertTo: string, targetPath: string, - // eslint-disable-next-line @typescript-eslint/no-unused-vars options?: unknown, + execFile: ExecFileFn = execFileOriginal, ): Promise { return new Promise((resolve, reject) => { // const fileName: string = (targetPath.split("/").pop() as string).replace(".pdf", "") diff --git a/tests/converters/xelatex.test.ts b/tests/converters/xelatex.test.ts new file mode 100644 index 0000000..5d81d09 --- /dev/null +++ b/tests/converters/xelatex.test.ts @@ -0,0 +1,19 @@ +import { test } from "bun:test"; +import { convert } from "../../src/converters/xelatex.ts"; +import { + runConvertFailTest, + runConvertLogsStderror, + runConvertSuccessTest, +} from "./helpers/converters.ts"; + +test("convert resolves when execFile succeeds", async () => { + await runConvertSuccessTest(convert); +}); + +test("convert rejects when execFile fails", async () => { + await runConvertFailTest(convert); +}); + +test("convert logs stderr when present", async () => { + await runConvertLogsStderror(convert); +});