%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
// Flags: --expose-internals 'use strict'; const common = require('../common'); common.skipIfInspectorDisabled(); common.skipIf32Bits(); const assert = require('assert'); const { internalBinding } = require('internal/test/binding'); const { async_hook_fields, constants } = internalBinding('async_wrap'); const { kTotals } = constants; const inspector = require('inspector'); const setDepth = 'Debugger.setAsyncCallStackDepth'; function verifyAsyncHookDisabled(message) { assert.strictEqual(async_hook_fields[kTotals], 0, `${async_hook_fields[kTotals]} !== 0: ${message}`); } function verifyAsyncHookEnabled(message) { assert.strictEqual(async_hook_fields[kTotals], 4, `${async_hook_fields[kTotals]} !== 4: ${message}`); } // By default inspector async hooks should not have been installed. verifyAsyncHookDisabled('inspector async hook should be disabled at startup'); const session = new inspector.Session(); verifyAsyncHookDisabled('creating a session should not enable async hooks'); session.connect(); verifyAsyncHookDisabled('connecting a session should not enable async hooks'); session.post('Debugger.enable', () => { verifyAsyncHookDisabled('enabling debugger should not enable async hooks'); session.post(setDepth, { invalid: 'message' }, () => { verifyAsyncHookDisabled('invalid message should not enable async hooks'); session.post(setDepth, { maxDepth: 'five' }, () => { verifyAsyncHookDisabled('invalid maxDepth (string) should not enable ' + 'async hooks'); session.post(setDepth, { maxDepth: NaN }, () => { verifyAsyncHookDisabled('invalid maxDepth (NaN) should not enable ' + 'async hooks'); session.post(setDepth, { maxDepth: 10 }, () => { verifyAsyncHookEnabled('valid message should enable async hooks'); session.post(setDepth, { maxDepth: 0 }, () => { verifyAsyncHookDisabled('Setting maxDepth to 0 should disable ' + 'async hooks'); runTestSet2(session); }); }); }); }); }); }); function runTestSet2(session) { session.post(setDepth, { maxDepth: 32 }, () => { verifyAsyncHookEnabled('valid message should enable async hooks'); session.post('Debugger.disable', () => { verifyAsyncHookDisabled('Debugger.disable should disable async hooks'); session.post('Debugger.enable', () => { verifyAsyncHookDisabled('Enabling debugger should not enable hooks'); session.post(setDepth, { maxDepth: 64 }, () => { verifyAsyncHookEnabled('valid message should enable async hooks'); session.disconnect(); verifyAsyncHookDisabled('Disconnecting session should disable ' + 'async hooks'); }); }); }); }); }