71 lines
2.9 KiB
HTML
71 lines
2.9 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/protocol-test.js"></script>
|
|
<script src="resources/breakpoint.js"></script>
|
|
<script>
|
|
function test()
|
|
{
|
|
InspectorProtocol.eventHandler["Debugger.scriptParsed"] = function(messageObject)
|
|
{
|
|
if (/resources\/breakpoint\.js$/.test(messageObject.params.url)) {
|
|
ProtocolTest.log("Found breakpoint.js");
|
|
|
|
var breakpoint = {
|
|
location: {
|
|
scriptId: messageObject.params.scriptId,
|
|
lineNumber: 8,
|
|
columnNumber: 0
|
|
},
|
|
options: {
|
|
autoContinue: true,
|
|
condition: "log('Executing condition'); breakpointBasic(); log('Condition executed'); true;",
|
|
actions: [
|
|
{type: "evaluate", data: "log('Executing action'); breakpointBasic(); log('Action executed');"}
|
|
]
|
|
}
|
|
};
|
|
|
|
// This breakpoint should not be hit at all. The only callers are the condition and action
|
|
// and breakpoints should be disabled while executing their code.
|
|
var breakpointInsideConditonAndAction = {
|
|
location: {
|
|
scriptId: messageObject.params.scriptId,
|
|
lineNumber: 3,
|
|
columnNumber: 0
|
|
}
|
|
};
|
|
|
|
InspectorProtocol.sendCommand("Debugger.setBreakpoint", breakpoint, InspectorProtocol.checkForError);
|
|
InspectorProtocol.sendCommand("Debugger.setBreakpoint", breakpointInsideConditonAndAction, InspectorProtocol.checkForError);
|
|
InspectorProtocol.sendCommand("Debugger.setPauseOnExceptions", {state: "all"}, InspectorProtocol.checkForError);
|
|
InspectorProtocol.sendCommand("Runtime.evaluate", {expression: "breakpointWithCondition(1,2)"}, function(messageObject) {
|
|
InspectorProtocol.checkForError(messageObject);
|
|
ProtocolTest.log("PASS: Breakpoint condition and action executed, but the exception did not cause the debugger to pause.")
|
|
completeTest();
|
|
});
|
|
}
|
|
}
|
|
|
|
InspectorProtocol.eventHandler["Debugger.paused"] = function(messageObject)
|
|
{
|
|
ProtocolTest.log("FAIL: Paused in debugger: reason = \"" + messageObject.params.reason + "\"");
|
|
completeTest();
|
|
}
|
|
|
|
function completeTest()
|
|
{
|
|
// Reset the pauseOnException state before ending the test.
|
|
InspectorProtocol.sendCommand("Debugger.setPauseOnExceptions", {state: "none"});
|
|
ProtocolTest.completeTest();
|
|
}
|
|
|
|
InspectorProtocol.sendCommand("Debugger.enable", {});
|
|
InspectorProtocol.sendCommand("Debugger.setBreakpointsActive", {active: true});
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<p>The debugger should not pause on exceptions thrown while executing the breakpoint actions.</p>
|
|
</body>
|
|
</html>
|