From 197fd2df02799b40f51319ef73ea27fb5f03cd3a Mon Sep 17 00:00:00 2001 From: usr-bin-roygbiv Date: Tue, 28 Jul 2026 14:24:43 +0000 Subject: [PATCH] test: restore complete Worker descriptors (cherry picked from commit a7d227e6227b2c1d20ae4a9d5107be57980463a1) --- .../test/terminal-output-worker-client.test.ts | 10 ++++++++-- .../coding-agent/test/tools/hub/launch-compat.test.ts | 10 ++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/coding-agent/test/terminal-output-worker-client.test.ts b/packages/coding-agent/test/terminal-output-worker-client.test.ts index 781aa4914..584fce6ad 100644 --- a/packages/coding-agent/test/terminal-output-worker-client.test.ts +++ b/packages/coding-agent/test/terminal-output-worker-client.test.ts @@ -10,7 +10,8 @@ class CleanExitWorker extends EventTarget { } test("legacy replay rejects when its worker exits before responding", async () => { - const originalWorker = globalThis.Worker; + const originalWorkerDescriptor = Object.getOwnPropertyDescriptor(globalThis, "Worker"); + expect(originalWorkerDescriptor).toBeDefined(); Object.defineProperty(globalThis, "Worker", { configurable: true, value: CleanExitWorker }); try { let outcome: { error?: unknown; settled: boolean } = { settled: false }; @@ -29,6 +30,11 @@ test("legacy replay rejects when its worker exits before responding", async () = expect(outcome.error).toBeInstanceOf(Error); expect((outcome.error as Error).message).toBe("Terminal output worker exited before responding"); } finally { - Object.defineProperty(globalThis, "Worker", { configurable: true, value: originalWorker }); + if (originalWorkerDescriptor) { + Object.defineProperty(globalThis, "Worker", originalWorkerDescriptor); + } else { + Reflect.deleteProperty(globalThis, "Worker"); + } } + expect(Object.getOwnPropertyDescriptor(globalThis, "Worker")).toEqual(originalWorkerDescriptor); }); diff --git a/packages/coding-agent/test/tools/hub/launch-compat.test.ts b/packages/coding-agent/test/tools/hub/launch-compat.test.ts index 822b2a348..ef004bf00 100644 --- a/packages/coding-agent/test/tools/hub/launch-compat.test.ts +++ b/packages/coding-agent/test/tools/hub/launch-compat.test.ts @@ -64,7 +64,8 @@ describe("launch broker protocol compatibility", () => { } satisfies DaemonBrokerClient; vi.spyOn(daemonClient, "daemonClientForProject").mockResolvedValue(client); - const originalWorker = globalThis.Worker; + const originalWorkerDescriptor = Object.getOwnPropertyDescriptor(globalThis, "Worker"); + expect(originalWorkerDescriptor).toBeDefined(); Object.defineProperty(globalThis, "Worker", { configurable: true, value: CleanExitWorker }); try { const result = await executeLaunch({ cwd: projectDir } as ToolSession, { @@ -76,7 +77,12 @@ describe("launch broker protocol compatibility", () => { expect(result.content).toEqual([{ type: "text", text: "ready\n[web: running; cursor=42]" }]); expect(result.details?.terminalRows).toBeUndefined(); } finally { - Object.defineProperty(globalThis, "Worker", { configurable: true, value: originalWorker }); + if (originalWorkerDescriptor) { + Object.defineProperty(globalThis, "Worker", originalWorkerDescriptor); + } else { + Reflect.deleteProperty(globalThis, "Worker"); + } } + expect(Object.getOwnPropertyDescriptor(globalThis, "Worker")).toEqual(originalWorkerDescriptor); }); });