mirror of
https://github.com/nodejs/node.git
synced 2025-05-17 16:40:19 +00:00

PR-URL: https://github.com/nodejs/node/pull/26685 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
58 lines
2.5 KiB
JavaScript
58 lines
2.5 KiB
JavaScript
// Copyright 2019 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
const { contextGroup, Protocol } = InspectorTest.start(
|
|
`Tests for calling setBreakpoint with urlRegex`);
|
|
|
|
(async function test(){
|
|
await Protocol.Debugger.enable();
|
|
Protocol.Runtime.evaluate({expression: `
|
|
function test() {
|
|
return 42;
|
|
}
|
|
//# sourceURL=some-kind-of-test.js`});
|
|
await Protocol.Debugger.onceScriptParsed();
|
|
|
|
InspectorTest.runAsyncTestSuite([
|
|
async function testSetBreakpointByUrlRegex() {
|
|
const result = await Protocol.Debugger.setBreakpointByUrl({ lineNumber: 2, urlRegex: '.*of-test.js' });
|
|
InspectorTest.logMessage(result.result.locations);
|
|
await expectBreakInEval('test()');
|
|
await Protocol.Debugger.removeBreakpoint({ breakpointId: result.result.breakpointId });
|
|
await expectNoBreakInEval('test()');
|
|
},
|
|
async function testSetBreakpointByUrlWithConditions() {
|
|
// Test Condition false
|
|
let result = await Protocol.Debugger.setBreakpointByUrl({ lineNumber: 2, urlRegex: '.*of-test.js', condition: 'false' });
|
|
InspectorTest.logMessage(result.result.locations);
|
|
await expectNoBreakInEval('test()');
|
|
await Protocol.Debugger.removeBreakpoint({ breakpointId: result.result.breakpointId });
|
|
|
|
// Test condition true
|
|
result = await Protocol.Debugger.setBreakpointByUrl({ lineNumber: 2, urlRegex: '.*of-test.js', condition: 'true' });
|
|
InspectorTest.logMessage(result.result.locations);
|
|
await expectBreakInEval('test()');
|
|
await Protocol.Debugger.removeBreakpoint({ breakpointId: result.result.breakpointId });
|
|
},
|
|
]);
|
|
|
|
// Function that will evaluate an expression and return once completed.
|
|
// Used to validate that breakpoint is not hit within the evaluated expression.
|
|
async function expectNoBreakInEval(expression) {
|
|
await Protocol.Runtime.evaluate({expression});
|
|
InspectorTest.log(`Successfully completed eval of: '${expression}'`);
|
|
}
|
|
|
|
// Function that will evaluate an expression and return once a paused event is received
|
|
// and the debugger is resumed.
|
|
// Used to validate that breakpoint is hit within the evaluated expression.
|
|
async function expectBreakInEval(expression) {
|
|
Protocol.Runtime.evaluate({expression});
|
|
await Protocol.Debugger.oncePaused();
|
|
InspectorTest.log(`Successfully paused during eval of: '${expression}'`);
|
|
await Protocol.Debugger.resume();
|
|
}
|
|
|
|
})();
|