From 0371f60722f53151251d27fdbbb8c68032f59386 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Wed, 29 Jul 2026 00:11:04 +0000 Subject: [PATCH] test: add error recovery coverage for sum sequence aggregation Added a test case in `engine.test.ts` to cover the `try/catch` block within sequence evaluation (`seq`) in `evaluator.ts`. A custom throwing function is temporarily registered in the engine to simulate intermediate node errors during aggregation and verify that the line gracefully recovers. Co-authored-by: Horizontal42 <75383519+Horizontal42@users.noreply.github.com> --- src/engine/engine.test.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/engine/engine.test.ts b/src/engine/engine.test.ts index 0fa1b2f..90ea41d 100644 --- a/src/engine/engine.test.ts +++ b/src/engine/engine.test.ts @@ -215,6 +215,12 @@ describe("numeral systems", () => { }); describe("variables and document context", () => { + it("sequence error recovery", () => { + eng.addFunction({ id: "throw_err", phrases: "throw_err" }, () => { + throw new Error("test error"); + }); + expect(calc("throw_err(1) 2 hours")).toBe("2 h"); + }); it("assignment and reuse", () => { expect(calcDoc("x = 5\nx * 2")).toEqual(["5", "10"]); });