Skip to main content
Glama
errorSanitization.test.ts2.08 kB
import { describe, expect, test } from '@jest/globals'; import { createErrorResponse } from '../tools/common/types.js'; describe('createErrorResponse sanitization', () => { test('removes stack frames from selector engine errors', () => { const raw = "Failed to query selector: locator.all: SyntaxError: Failed to execute 'querySelectorAll' on 'Document': '.flex.min-w-[280px].max-w-[480px]' is not a valid selector.\n at query (<anonymous>:4989:41)\n at <anonymous>:4999:7\n at SelectorEvaluatorImpl._cached (<anonymous>:4776:20)"; const res = createErrorResponse(raw); const text = (res.content[0] as any).text as string; expect(text).toContain("is not a valid selector"); expect(text).not.toContain("at query ("); expect(text).not.toContain("<anonymous>:"); }); test('keeps non-stack multi-line guidance intact', () => { const msg = [ 'Operation failed: Invalid CSS selector: ".bad:selector"', '💡 Tips:', ' • Prefer test IDs', ].join('\n'); const res = createErrorResponse(msg); const text = (res.content[0] as any).text as string; expect(text).toContain('Invalid CSS selector'); expect(text).toContain('💡 Tips:'); }); test('preserves tips after selector phrase and strips stacks', () => { const raw = [ 'Operation failed: Invalid CSS selector: ".flex.min-w-[300px].flex-1"', "Selector syntax error: locator.count: SyntaxError: Failed to execute 'querySelectorAll' on 'Document': '.flex.min-w-[300px].flex-1' is not a valid selector.", '💡 Tips:', ' • Tailwind arbitrary values need escaping in class selectors: .min-w-\\[300px\\]', ' • Colons in class names must be escaped: .dark\\:bg-gray-700', ' at query (<anonymous>:4989:41)' ].join('\n'); const res = createErrorResponse(raw); const text = (res.content[0] as any).text as string; expect(text).toContain('is not a valid selector'); expect(text).toContain('Tailwind arbitrary values need escaping'); expect(text).not.toContain('at query ('); }); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/antonzherdev/mcp-web-inspector'

If you have feedback or need assistance with the MCP directory API, please join our Discord server