diff --git a/src/converters/graphicsmagick.ts b/src/converters/graphicsmagick.ts index 6a52ea8..5551341 100644 --- a/src/converters/graphicsmagick.ts +++ b/src/converters/graphicsmagick.ts @@ -315,7 +315,7 @@ export function convert( convertTo: string, targetPath: string, options?: unknown, - execFile: ExecFileFn = execFileOriginal, + execFile: ExecFileFn = execFileOriginal, // to make it mockable ): Promise { return new Promise((resolve, reject) => { execFile("gm", ["convert", filePath, targetPath], (error, stdout, stderr) => { diff --git a/src/converters/imagemagick.ts b/src/converters/imagemagick.ts index 9f4ff94..eb2eaa7 100644 --- a/src/converters/imagemagick.ts +++ b/src/converters/imagemagick.ts @@ -447,7 +447,7 @@ export function convert( convertTo: string, targetPath: string, options?: unknown, - execFile: ExecFileFn = execFileOriginal, + execFile: ExecFileFn = execFileOriginal, // to make it mockable ): Promise { let outputArgs: string[] = []; let inputArgs: string[] = []; diff --git a/src/converters/inkscape.ts b/src/converters/inkscape.ts index 9e13fb0..4497e2f 100644 --- a/src/converters/inkscape.ts +++ b/src/converters/inkscape.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: { @@ -32,8 +33,8 @@ export function convert( fileType: string, convertTo: string, targetPath: string, - // eslint-disable-next-line @typescript-eslint/no-unused-vars options?: unknown, + execFile: ExecFileFn = execFileOriginal, // to make it mockable ): Promise { return new Promise((resolve, reject) => { execFile("inkscape", [filePath, "-o", targetPath], (error, stdout, stderr) => { diff --git a/tests/converters/inkscape.test.ts b/tests/converters/inkscape.test.ts new file mode 100644 index 0000000..39d21c3 --- /dev/null +++ b/tests/converters/inkscape.test.ts @@ -0,0 +1,19 @@ +import { test } from "bun:test"; +import { convert } from "../../src/converters/inkscape.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); +});