Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/inspector-protocol/debugger/access-obsolete-frame.js |
| diff --git a/third_party/WebKit/LayoutTests/inspector-protocol/debugger/access-obsolete-frame.js b/third_party/WebKit/LayoutTests/inspector-protocol/debugger/access-obsolete-frame.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..b9ec2d0e04f5c508bee46551888905a3e7ccde2a |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/inspector-protocol/debugger/access-obsolete-frame.js |
| @@ -0,0 +1,35 @@ |
| +(async function(testRunner) { |
| + let {page, session, dp} = await testRunner.startBlank(''); |
|
chenwilliam
2017/06/30 20:23:27
dp stands for Debugger Protocol? Personally, I don
|
| + |
| + function logErrorResponse(response) { |
| + if (response.error) { |
| + if (response.error.message.indexOf('Can only perform operation while paused.') != -1) { |
| + testRunner.log('PASS, error message as expected'); |
| + return; |
| + } |
| + } |
| + testRunner.log('FAIL, unexpected error message'); |
| + testRunner.log(JSON.stringify(response)); |
| + } |
| + |
| + dp.Debugger.enable(); |
| + dp.Runtime.evaluate({expression: 'setTimeout(() => { debugger; }, 0)' }); |
| + |
| + var messageObject = await dp.Debugger.oncePaused(); |
| + testRunner.log(`Paused on 'debugger;'`); |
| + var topFrame = messageObject.params.callFrames[0]; |
| + var obsoleteTopFrameId = topFrame.callFrameId; |
| + |
| + await dp.Debugger.resume(); |
| + testRunner.log('resume'); |
| + testRunner.log('restartFrame'); |
| + |
| + logErrorResponse(await dp.Debugger.restartFrame({callFrameId: obsoleteTopFrameId})); |
| + testRunner.log('evaluateOnFrame'); |
| + |
| + logErrorResponse(await dp.Debugger.evaluateOnCallFrame({callFrameId: obsoleteTopFrameId, expression: '0'})); |
| + testRunner.log('setVariableValue'); |
| + |
| + logErrorResponse(await dp.Debugger.setVariableValue({callFrameId: obsoleteTopFrameId, scopeNumber: 0, variableName: 'a', newValue: { value: 0 }})); |
| + testRunner.completeTest(); |
| +}) |