%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
'use strict'; const common = require('../common'); common.skipIfInspectorDisabled(); const assert = require('assert'); const { NodeInstance } = require('../common/inspector-helper.js'); async function runTests() { const child = new NodeInstance(['-e', `(${main.toString()})()`], '', ''); const session = await child.connectInspectorSession(); await session.send({ method: 'Runtime.enable' }); // Check that there is only one console message received. await session.waitForConsoleOutput('log', 'before wait for debugger'); assert.ok(!session.unprocessedNotifications() .some((n) => n.method === 'Runtime.consoleAPICalled')); // Check that inspector.url() is available between inspector.open() and // inspector.waitForDebugger() const { result: { value } } = await session.send({ method: 'Runtime.evaluate', params: { expression: 'process._ws', includeCommandLineAPI: true } }); assert.ok(value.startsWith('ws://')); session.send({ method: 'Runtime.runIfWaitingForDebugger' }); // Check that messages after first and before second waitForDebugger are // received await session.waitForConsoleOutput('log', 'after wait for debugger'); await session.waitForConsoleOutput('log', 'before second wait for debugger'); assert.ok(!session.unprocessedNotifications() .some((n) => n.method === 'Runtime.consoleAPICalled')); const secondSession = await child.connectInspectorSession(); // Check that inspector.waitForDebugger can be resumed from another session secondSession.send({ method: 'Runtime.runIfWaitingForDebugger' }); await session.waitForConsoleOutput('log', 'after second wait for debugger'); assert.ok(!session.unprocessedNotifications() .some((n) => n.method === 'Runtime.consoleAPICalled')); secondSession.disconnect(); session.disconnect(); function main(prefix) { const inspector = require('inspector'); inspector.open(0, undefined, false); process._ws = inspector.url(); console.log('before wait for debugger'); inspector.waitForDebugger(); console.log('after wait for debugger'); console.log('before second wait for debugger'); inspector.waitForDebugger(); console.log('after second wait for debugger'); } // Check that inspector.waitForDebugger throws if there is no active // inspector const re = /^Error \[ERR_INSPECTOR_NOT_ACTIVE\]: Inspector is not active$/; assert.throws(() => require('inspector').waitForDebugger(), re); } runTests().then(common.mustCall());