| <!DOCTYPE html> |
| <html> |
| <head> |
| <script src="../../http/tests/inspector/resources/protocol-test.js"></script> |
| <script> |
| function triggerPause() { |
| debugger; |
| } |
| |
| function test() |
| { |
| InspectorProtocol.sendCommand("Debugger.enable"); |
| InspectorProtocol.sendCommand("Debugger.setBreakpointsActive", {active: true}); |
| |
| let suite = ProtocolTest.createAsyncSuite("Debugger.evaluateOnCallFrame.errors"); |
| |
| suite.addTestCase({ |
| name: "EvaluateOnCallFrameNotPaused", |
| description: "Triggering evaluate on call frame when not paused should issue an error.", |
| test(resolve, reject) { |
| ProtocolTest.evaluateInPage("triggerPause()"); |
| |
| let callFrameIdentifier; |
| |
| InspectorProtocol.eventHandler["Debugger.paused"] = (messageObject) => { |
| ProtocolTest.pass("Paused"); |
| InspectorProtocol.sendCommand("Debugger.resume"); |
| callFrameIdentifier = messageObject.params.callFrames[0].callFrameId; |
| }; |
| |
| InspectorProtocol.eventHandler["Debugger.resumed"] = (messageObject) => { |
| ProtocolTest.pass("Resumed"); |
| InspectorProtocol.sendCommand("Debugger.evaluateOnCallFrame", {callFrameId: callFrameIdentifier, expression: "this"}, (messageObject) => { |
| ProtocolTest.expectThat(messageObject.error, `Should be an error: ${messageObject.error ? messageObject.error.message : ""}`); |
| resolve(); |
| }); |
| }; |
| } |
| }); |
| |
| suite.addTestCase({ |
| name: "EvaluateOnCallFrameBadCallFrameIdentifier", |
| description: "Triggering evaluate on call frame with a bad call frame identifier should issue an error.", |
| test(resolve, reject) { |
| ProtocolTest.evaluateInPage("triggerPause()"); |
| |
| InspectorProtocol.eventHandler["Debugger.paused"] = (messageObject) => { |
| ProtocolTest.pass("Paused"); |
| |
| InspectorProtocol.sendCommand("Debugger.evaluateOnCallFrame", {callFrameId: "BAD-CALL-FRAME-ID", expression: "this"}, (messageObject) => { |
| ProtocolTest.expectThat(messageObject.error, `Should be an error: ${messageObject.error ? messageObject.error.message : ""}`); |
| InspectorProtocol.sendCommand("Debugger.resume"); |
| }); |
| }; |
| |
| InspectorProtocol.eventHandler["Debugger.resumed"] = (messageObject) => { |
| ProtocolTest.pass("Resumed"); |
| resolve(); |
| }; |
| } |
| }); |
| |
| suite.runTestCasesAndFinish(); |
| } |
| </script> |
| </head> |
| <body onload="runTest()"> |
| <p>Calling Debugger.evaluateOnCallFrame protocol error cases.</p> |
| </body> |
| </html> |