// This tests that two probes at the same location with the same --cond share a // single breakpoint and both evaluate only when the condition holds. 'use strict'; const common = require('../common'); common.skipIfInspectorDisabled(); const fixtures = require('../common/fixtures'); const { spawnSyncAndAssert } = require('../common/child_process'); const { assertProbeJson } = require('../common/debugger-probe'); const cwd = fixtures.path('debugger'); const probeUrl = fixtures.fileURL('debugger', 'probe-max-hit.js').href; spawnSyncAndAssert(process.execPath, [ 'inspect', '--json', '--probe', 'probe-max-hit.js:5', '--expr', 'index', '--cond', 'index === 1', '--probe', 'probe-max-hit.js:5', '--expr', 'total', '--cond', 'index === 1', 'probe-max-hit.js', ], { cwd }, { stdout(output) { assertProbeJson(output, { v: 2, probes: [ { expr: 'index', condition: 'index === 1', target: { suffix: 'probe-max-hit.js', line: 5 }, }, { expr: 'total', condition: 'index === 1', target: { suffix: 'probe-max-hit.js', line: 5 }, }, ], results: [ { probe: 0, event: 'hit', hit: 1, location: { url: probeUrl, line: 5, column: 3 }, result: { type: 'number', value: 1, description: '1' }, }, { probe: 1, event: 'hit', hit: 1, location: { url: probeUrl, line: 5, column: 3 }, result: { type: 'number', value: 1, description: '1' }, }, { event: 'completed' }, ], }); }, trim: true, });