@@ -42,10 +42,36 @@ describe('console', () => {
4242 const extensionId = extractExtensionId ( response ) ;
4343 assert . ok ( extensionId , 'Extension ID should be returned' ) ;
4444
45+ const swTarget = await context . browser . waitForTarget (
46+ t => t . type ( ) === 'service_worker' && t . url ( ) . includes ( extensionId ) ,
47+ ) ;
48+
49+ const swList = await context . createExtensionServiceWorkersSnapshot ( ) ;
50+ const sw = swList . find ( s => s . target === swTarget ) ;
51+ if ( ! sw ) {
52+ assert . fail ( 'Service worker not found in context list' ) ;
53+ }
54+ const swId = context . getExtensionServiceWorkerId ( sw ) ;
55+
56+ const response2 = new McpResponse ( { } as ParsedArguments ) ;
57+
58+ await context . triggerExtensionAction ( extensionId ) ;
59+ const worker = await swTarget . worker ( ) ;
60+
61+ await worker ?. evaluate (
62+ `
63+ console.log('Service Worker starting...');
64+ console.warn('This is a warning from Service Worker');
65+ setTimeout(() => {
66+ throw new Error('Intentional error from Service Worker');
67+ }, 100);
68+ ` ,
69+ ) ;
70+
4571 // This is important to wait logs from extension.
4672 await new Promise ( resolve => setTimeout ( resolve , 500 ) ) ;
4773
48- const response2 = new McpResponse ( { } as ParsedArguments ) ;
74+ response2 . resetResponseLineForTesting ( ) ;
4975
5076 await listConsoleMessages ( {
5177 categoryExtensions : true ,
0 commit comments