Commit 9898212f authored by Jeff Fisher's avatar Jeff Fisher Committed by Commit Bot

DevTools: Add DOMDebugger test

Adds a new test for DOMDebugger.setInstrumentationBreakpoint

Change-Id: Icb420733979c8ba3dad0aafd33b8c8cb744cae45
Reviewed-on: https://chromium-review.googlesource.com/c/1461340Reviewed-by: default avatarDmitry Gozman <dgozman@chromium.org>
Commit-Queue: Jeff Fisher <jeffish@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#630546}
parent 8806e8a4
Tests the DOMDebugger.setInstrumentationBreakpoint API.
Running test: testScriptFirstStatement
{
eventName : instrumentation:scriptFirstStatement
}
Running test: testRemoveScriptFirstStatement
Running test: testInvalidEventName
{
id : <number>
result : {
}
sessionId : <string>
}
Running test: testScriptFirstStatementAndPause
{
reasons : [
[0] : {
reason : other
}
[1] : {
auxData : {
eventName : instrumentation:scriptFirstStatement
}
reason : EventListener
}
]
}
(async function testDomDebuggerInstrumentationBreakpoint(testRunner) {
const targetPage = 'resources/debugger-basic-page.html';
const { dp } = await testRunner.startBlank('Tests the DOMDebugger.setInstrumentationBreakpoint API.');
await dp.Page.enable();
await dp.Runtime.enable();
await dp.Debugger.enable();
const targetPageUrl = testRunner.url(targetPage);
testRunner.runTestSuite([
async function testScriptFirstStatement() {
await dp.DOMDebugger.setInstrumentationBreakpoint({ eventName: 'scriptFirstStatement' });
dp.Page.navigate({ url: targetPageUrl });
const pauseMessage = await dp.Debugger.oncePaused();
testRunner.log(pauseMessage.params.data);
},
async function testRemoveScriptFirstStatement() {
await dp.DOMDebugger.removeInstrumentationBreakpoint({ eventName: 'scriptFirstStatement' });
dp.Page.navigate({ url: targetPageUrl });
await dp.Runtime.evaluate({ expression: 'test();' }); // Will stall if bp still active
},
async function testInvalidEventName() {
const setResponse = await dp.DOMDebugger.setInstrumentationBreakpoint({ eventName: 'badEventName' });
testRunner.log(setResponse);
},
async function testScriptFirstStatementAndPause() {
await dp.DOMDebugger.setInstrumentationBreakpoint({ eventName: 'scriptFirstStatement' });
await dp.Debugger.pause();
dp.Page.navigate({ url: targetPageUrl });
const pauseMessage = await dp.Debugger.oncePaused();
testRunner.log(pauseMessage.params.data);
await dp.DOMDebugger.removeInstrumentationBreakpoint({ eventName: 'scriptFirstStatement' });
await dp.Debugger.resume();
}
]);
})
\ No newline at end of file
<!DOCTYPE html>
<html>
<head>
<script>
function test() {
return null;
}
var num = 5;
var obj = {a: 3};
var bool = true;
</script>
</head>
</html>
\ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment