Skip to content

Commit 83070de

Browse files
committed
feat: add test if stderror and stdout get logged if both are present
1 parent 147d541 commit 83070de

File tree

13 files changed

+91
-0
lines changed

13 files changed

+91
-0
lines changed

tests/converters/assimp.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { convert } from "../../src/converters/assimp.ts";
33
import {
44
runConvertFailTest,
55
runConvertLogsStderror,
6+
runConvertLogsStderrorAndStdout,
67
runConvertSuccessTest,
78
} from "./helpers/converters.ts";
89

@@ -17,3 +18,7 @@ test("convert rejects when execFile fails", async () => {
1718
test("convert logs stderr when present", async () => {
1819
await runConvertLogsStderror(convert);
1920
});
21+
22+
test("convert logs both stderr and stdout when present", async () => {
23+
await runConvertLogsStderrorAndStdout(convert);
24+
});

tests/converters/calibre.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { convert } from "../../src/converters/calibre.ts";
33
import {
44
runConvertFailTest,
55
runConvertLogsStderror,
6+
runConvertLogsStderrorAndStdout,
67
runConvertSuccessTest,
78
} from "./helpers/converters.ts";
89

@@ -17,3 +18,7 @@ test("convert rejects when execFile fails", async () => {
1718
test("convert logs stderr when present", async () => {
1819
await runConvertLogsStderror(convert);
1920
});
21+
22+
test("convert logs both stderr and stdout when present", async () => {
23+
await runConvertLogsStderrorAndStdout(convert);
24+
});

tests/converters/dvisvgm.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { ExecFileFn } from "../../src/converters/types.ts";
55
import {
66
runConvertFailTest,
77
runConvertLogsStderror,
8+
runConvertLogsStderrorAndStdout,
89
runConvertSuccessTest,
910
} from "./helpers/converters.ts";
1011

@@ -26,6 +27,10 @@ test("convert logs stderr when present", async () => {
2627
await runConvertLogsStderror(convert);
2728
});
2829

30+
test("convert logs both stderr and stdout when present", async () => {
31+
await runConvertLogsStderrorAndStdout(convert);
32+
});
33+
2934
test("convert respects eps filetype", async () => {
3035
const originalConsoleLog = console.log;
3136

tests/converters/graphicsmagick.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { convert } from "../../src/converters/graphicsmagick.ts";
33
import {
44
runConvertFailTest,
55
runConvertLogsStderror,
6+
runConvertLogsStderrorAndStdout,
67
runConvertSuccessTest,
78
} from "./helpers/converters.ts";
89

@@ -17,3 +18,7 @@ test("convert rejects when execFile fails", async () => {
1718
test("convert logs stderr when present", async () => {
1819
await runConvertLogsStderror(convert);
1920
});
21+
22+
test("convert logs both stderr and stdout when present", async () => {
23+
await runConvertLogsStderrorAndStdout(convert);
24+
});

tests/converters/helpers/converters.ts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,34 @@ export async function runConvertLogsStderror(convertFn: ConvertFnWithExecFile) {
6565

6666
expect(loggedMessage).toBe("stderr: Fake stderr");
6767
}
68+
69+
export async function runConvertLogsStderrorAndStdout(convertFn: ConvertFnWithExecFile) {
70+
const originalConsoleError = console.error;
71+
const originalConsoleLog = console.log;
72+
73+
let loggedError = "";
74+
let loggedMessage = "";
75+
console.error = (msg) => {
76+
loggedError = msg;
77+
};
78+
console.log = (msg) => {
79+
loggedMessage = msg;
80+
};
81+
82+
const mockExecFile = (
83+
_cmd: string,
84+
_args: string[],
85+
options: unknown,
86+
callback: (err: Error | null, stdout: string, stderr: string) => void,
87+
) => {
88+
callback(null, "Fake stdout", "Fake stderr");
89+
};
90+
91+
await convertFn("file.obj", "obj", "stl", "out.stl", undefined, mockExecFile);
92+
93+
console.error = originalConsoleError;
94+
console.log = originalConsoleLog;
95+
96+
expect(loggedError).toBe("stderr: Fake stderr");
97+
expect(loggedMessage).toBe("stdout: Fake stdout");
98+
}

tests/converters/imagemagick.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { ExecFileFn } from "../../src/converters/types.ts";
55
import {
66
runConvertFailTest,
77
runConvertLogsStderror,
8+
runConvertLogsStderrorAndStdout,
89
runConvertSuccessTest,
910
} from "./helpers/converters.ts";
1011

@@ -26,6 +27,10 @@ test("convert logs stderr when present", async () => {
2627
await runConvertLogsStderror(convert);
2728
});
2829

30+
test("convert logs both stderr and stdout when present", async () => {
31+
await runConvertLogsStderrorAndStdout(convert);
32+
});
33+
2934
test("convert respects ico conversion target type", async () => {
3035
const originalConsoleLog = console.log;
3136

tests/converters/inkscape.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { convert } from "../../src/converters/inkscape.ts";
33
import {
44
runConvertFailTest,
55
runConvertLogsStderror,
6+
runConvertLogsStderrorAndStdout,
67
runConvertSuccessTest,
78
} from "./helpers/converters.ts";
89

@@ -17,3 +18,7 @@ test("convert rejects when execFile fails", async () => {
1718
test("convert logs stderr when present", async () => {
1819
await runConvertLogsStderror(convert);
1920
});
21+
22+
test("convert logs both stderr and stdout when present", async () => {
23+
await runConvertLogsStderrorAndStdout(convert);
24+
});

tests/converters/libheif.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { convert } from "../../src/converters/libheif.ts";
33
import {
44
runConvertFailTest,
55
runConvertLogsStderror,
6+
runConvertLogsStderrorAndStdout,
67
runConvertSuccessTest,
78
} from "./helpers/converters.ts";
89

@@ -17,3 +18,7 @@ test("convert rejects when execFile fails", async () => {
1718
test("convert logs stderr when present", async () => {
1819
await runConvertLogsStderror(convert);
1920
});
21+
22+
test("convert logs both stderr and stdout when present", async () => {
23+
await runConvertLogsStderrorAndStdout(convert);
24+
});

tests/converters/libjxl.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { ExecFileFn } from "../../src/converters/types.ts";
55
import {
66
runConvertFailTest,
77
runConvertLogsStderror,
8+
runConvertLogsStderrorAndStdout,
89
runConvertSuccessTest,
910
} from "./helpers/converters.ts";
1011

@@ -26,6 +27,10 @@ test("convert logs stderr when present", async () => {
2627
await runConvertLogsStderror(convert);
2728
});
2829

30+
test("convert logs both stderr and stdout when present", async () => {
31+
await runConvertLogsStderrorAndStdout(convert);
32+
});
33+
2934
test("convert uses djxl with input filetype being jxl", async () => {
3035
const originalConsoleLog = console.log;
3136

tests/converters/potrace.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { convert } from "../../src/converters/potrace.ts";
33
import {
44
runConvertFailTest,
55
runConvertLogsStderror,
6+
runConvertLogsStderrorAndStdout,
67
runConvertSuccessTest,
78
} from "./helpers/converters.ts";
89

@@ -17,3 +18,7 @@ test("convert rejects when execFile fails", async () => {
1718
test("convert logs stderr when present", async () => {
1819
await runConvertLogsStderror(convert);
1920
});
21+
22+
test("convert logs both stderr and stdout when present", async () => {
23+
await runConvertLogsStderrorAndStdout(convert);
24+
});

0 commit comments

Comments
 (0)