fix: decode console output to ensure tracebacks are detected even when encoded
This commit is contained in:
@@ -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);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user