| <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: 3, |
| columnNumber: 0 |
| } |
| }; |
| InspectorProtocol.sendCommand("Debugger.setBreakpoint", breakpoint, InspectorProtocol.checkForError); |
| InspectorProtocol.sendCommand("Debugger.setPauseOnExceptions", {state: "all"}, InspectorProtocol.checkForError); |
| InspectorProtocol.sendCommand("Runtime.evaluate", {expression: "breakpointBasic()"}, function() { |
| completeTest(); |
| }); |
| } |
| } |
| |
| InspectorProtocol.eventHandler["Debugger.paused"] = onBreakpointHit; |
| |
| function onBreakpointHit(messageObject) |
| { |
| ProtocolTest.log("PASS: Paused in debugger: reason = \"" + messageObject.params.reason + "\""); |
| |
| // Make sure we do not pause again in the debugger. |
| InspectorProtocol.eventHandler["Debugger.paused"] = onPausedOnException; |
| |
| InspectorProtocol.sendCommand("Runtime.evaluate", {expression: "this.should.trigger.an.exception"}, function(messageObject) { |
| InspectorProtocol.checkForError(messageObject); |
| ProtocolTest.log("PASS: The debugger should not stop on the exception thrown by a console command while paused on a breakpoint."); |
| InspectorProtocol.sendCommand("Debugger.resume"); |
| }); |
| } |
| |
| function onPausedOnException(messageObject) |
| { |
| ProtocolTest.log("FAIL: Should not break on exceptions while paused on a breakpoint."); |
| completeTest(); |
| } |
| |
| function completeTest() |
| { |
| // InspectorProtocol.sendCommand("Debugger.resume", {}); |
| // Reset the pauseOnException state before ending the test. |
| InspectorProtocol.sendCommand("Debugger.setPauseOnExceptions", {state: "none"}); |
| InspectorProtocol.sendCommand("Debugger.disable"); |
| ProtocolTest.completeTest(); |
| } |
| |
| InspectorProtocol.sendCommand("Debugger.enable", {}); |
| InspectorProtocol.sendCommand("Debugger.setBreakpointsActive", {active: true}); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>While being paused on a breakpoint the debugger should ignore the exceptions from console commands.</p> |
| </body> |
| </html> |