From 2acdc66c278ba23e0d67aa12d74489a61cf8e934 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 18 Jul 2025 18:49:06 +0000 Subject: [PATCH] Add browser_evaluate (error) test for JavaScript error handling Co-authored-by: pavelfeldman <883973+pavelfeldman@users.noreply.github.com> --- tests/evaluate.spec.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/evaluate.spec.ts b/tests/evaluate.spec.ts index ceb86d3..36a929a 100644 --- a/tests/evaluate.spec.ts +++ b/tests/evaluate.spec.ts @@ -49,3 +49,25 @@ test('browser_evaluate (element)', async ({ client, server }) => { }, })).toContainTextContent(`- Result: "red"`); }); + +test('browser_evaluate (error)', async ({ client, server }) => { + expect(await client.callTool({ + name: 'browser_navigate', + arguments: { url: server.HELLO_WORLD }, + })).toContainTextContent(`- Page Title: Title`); + + // Test with a bogus expression that will cause a JavaScript error + const result = await client.callTool({ + name: 'browser_evaluate', + arguments: { + function: '() => { undefinedVariable.nonExistentMethod(); }', + }, + }); + + // Check that error MCP response is returned + expect(result.isError).toBe(true); + + // Check that JavaScript error details are contained in the response + expect(result.content?.[0].text).toContain('page._evaluateFunction'); + expect(result.content?.[0].text).toContain('undefinedVariable is not defined'); +});