62 lines
2.5 KiB
HTML
62 lines
2.5 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
|
|
<script src="../debugger/resources/log-active-stack-trace.js"></script>
|
|
<script src="resources/dom-debugger-utilities.js"></script>
|
|
<script>
|
|
function test()
|
|
{
|
|
let workerTarget = null;
|
|
|
|
let suite = InspectorTest.createAsyncSuite("Worker.DOMDebugger.EventBreakpoint.Listener");
|
|
|
|
suite.addTestCase({
|
|
name: "Worker.DOMDebugger.EventBreakpoint.Listener.Basic",
|
|
description: "Check that adding/removing listener event breakpoints work for a Worker target.",
|
|
async test() {
|
|
InspectorTest.assert(workerTarget.DOMDebuggerAgent, "Worker target should have a DOMDebuggerAgent.");
|
|
InspectorTest.assert(workerTarget.DOMDebuggerAgent.setEventBreakpoint, "The Worker's DOMDebuggerAgent should have a setEventBreakpoint command.");
|
|
InspectorTest.assert(workerTarget.DOMDebuggerAgent.removeEventBreakpoint, "The Worker's DOMDebuggerAgent should have a removeEventBreakpoint command.");
|
|
|
|
const breakpointType = "listener";
|
|
const eventName = "custom";
|
|
|
|
await workerTarget.DOMDebuggerAgent.setEventBreakpoint(breakpointType, eventName);
|
|
|
|
await Promise.all([
|
|
WI.debuggerManager.awaitEvent(WI.DebuggerManager.Event.Paused),
|
|
InspectorTest.evaluateInPage(`worker.postMessage("triggerListener")`),
|
|
]);
|
|
|
|
let paused = WI.debuggerManager.paused;
|
|
|
|
let targetData = WI.debuggerManager.dataForTarget(WI.debuggerManager.activeCallFrame.target);
|
|
let pauseReason = targetData.pauseReason;
|
|
let pauseData = targetData.pauseData;
|
|
|
|
let stackTrace = getActiveStackTrace();
|
|
|
|
await workerTarget.DOMDebuggerAgent.removeEventBreakpoint(breakpointType, eventName);
|
|
|
|
await WI.debuggerManager.resume();
|
|
|
|
InspectorTest.expectThat(paused, "Should have paused.");
|
|
InspectorTest.expectEqual(pauseReason, WI.DebuggerManager.PauseReason.Listener, "Pause reason should have been Listener.");
|
|
InspectorTest.expectEqual(pauseData.eventName, eventName, `Pause data eventName should have been "${eventName}".`);
|
|
logStackTrace(stackTrace);
|
|
},
|
|
});
|
|
|
|
InspectorTest.Worker.DOMDebugger.createWorkerTarget((target) => {
|
|
workerTarget = target;
|
|
suite.runTestCasesAndFinish();
|
|
});
|
|
}
|
|
</script>
|
|
</head>
|
|
<body onload="runTest()">
|
|
<p>Tests for listener event breakpoint functionality (DOMDebugger) in a Worker.</p>
|
|
</body>
|
|
</html>
|