fix: decode console output to ensure tracebacks are detected even when encoded
Lint / pre-commit Linting (push) Successful in 51s
Test / Run Tests (push) Successful in 1m10s

This commit is contained in:
2026-05-16 18:39:21 +02:00
parent b6cef04a9c
commit fe7c14540e
4 changed files with 66 additions and 6 deletions
+22
View File
@@ -482,4 +482,26 @@ describe("monitorConsole", () => {
// We expect it to have called api.time fewer than 10 times (excluding the startTick call)
expect(api.time.mock.calls.length).toBeLessThan(10);
});
it("detects encoded tracebacks in log lines", async () => {
const api = buildMockApi({ ticks: [100, 101, 102] });
setTimeout(() => {
api._fireConsole({
messages: {
log: [
"Error: ReferenceError: a is not defined%0A at eval (eval at <anonymous> (_console1778948572008_0:1:46), <anonymous>:1:1)%0A at _console1778948572008_0:1:46",
],
results: [],
},
error: null,
});
}, 50);
const result = await monitorConsole(api, {
...BASE_OPTS,
onTraceback: "fail",
});
expect(result.sawTraceback).toBe(true);
expect(result.sawErrorLog).toBe(true);
});
});