78 lines
2.8 KiB
HTML
78 lines
2.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
|
|
<script>
|
|
function triggerPause() {
|
|
TestPage.addResult("Before debugger");
|
|
debugger;
|
|
TestPage.addResult("After debugger");
|
|
}
|
|
|
|
function testProcessingUserGesture() {
|
|
if (window.internals)
|
|
TestPage.addResult(window.internals.isProcessingUserGesture() ? "In User Gesture" : "Not in User Gesture");
|
|
}
|
|
|
|
function test()
|
|
{
|
|
const expression = `testProcessingUserGesture()`;
|
|
const objectGroup = "test";
|
|
|
|
let suite = InspectorTest.createAsyncSuite("Debugger.evaluateOnCallFrame.emulateUserGesture");
|
|
|
|
suite.addTestCase({
|
|
name: "EvaluateWithoutEmulatingUserGesture",
|
|
description: "Evalute with the emulateUserGesture option set to false.",
|
|
async test() {
|
|
InspectorTest.assert(!WI.debuggerManager.paused, "Should not be paused.");
|
|
|
|
let pausedPromise = WI.debuggerManager.awaitEvent(WI.DebuggerManager.Event.Paused);
|
|
InspectorTest.evaluateInPage("triggerPause()");
|
|
await pausedPromise;
|
|
|
|
InspectorTest.assert(WI.debuggerManager.activeCallFrame, "Should have active call frame.");
|
|
|
|
DebuggerAgent.evaluateOnCallFrame.invoke({callFrameId: WI.debuggerManager.activeCallFrame.id, expression, objectGroup, emulateUserGesture: false}, (error, resultValue, wasThrown) => {
|
|
InspectorTest.assert(!error, "Should not be a protocol error.");
|
|
});
|
|
|
|
await Promise.all([
|
|
WI.debuggerManager.awaitEvent(WI.DebuggerManager.Event.Resumed),
|
|
WI.debuggerManager.resume(),
|
|
]);
|
|
}
|
|
});
|
|
|
|
suite.addTestCase({
|
|
name: "EvaluateWithEmulatingUserGesture",
|
|
description: "Evalute with the emulateUserGesture option set to true.",
|
|
async test() {
|
|
InspectorTest.assert(!WI.debuggerManager.paused, "Should not be paused.");
|
|
|
|
let pausedPromise = WI.debuggerManager.awaitEvent(WI.DebuggerManager.Event.Paused);
|
|
InspectorTest.evaluateInPage("triggerPause()");
|
|
await pausedPromise;
|
|
|
|
InspectorTest.assert(WI.debuggerManager.activeCallFrame, "Should have active call frame.");
|
|
|
|
DebuggerAgent.evaluateOnCallFrame.invoke({callFrameId: WI.debuggerManager.activeCallFrame.id, expression, objectGroup, emulateUserGesture: true}, (error, resultValue, wasThrown) => {
|
|
InspectorTest.assert(!error, "Should not be a protocol error.");
|
|
});
|
|
|
|
await Promise.all([
|
|
WI.debuggerManager.awaitEvent(WI.DebuggerManager.Event.Resumed),
|
|
WI.debuggerManager.resume(),
|
|
]);
|
|
}
|
|
});
|
|
|
|
suite.runTestCasesAndFinish();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<p>Tests for Debugger.evaluateOnCallFrame emulateUserGesture option.</p>
|
|
</body>
|
|
</html>
|