blob: 20eee391802abd619a838aed7db1cca8d894925e [file] [log] [blame]
<!doctype html>
<html>
<head>
<script src="../../http/tests/inspector/resources/inspector-test.js"></script>
<script src="resources/script-for-breakpoint-actions.js"></script>
<script>
function runBreakpointActions()
{
breakpointActions(42, {x:1, y:2});
}
function test()
{
let suite = InspectorTest.createAsyncSuite("Debugger.BreakpointAction.Log");
suite.addTestCase({
name: "TemplateLiteralPlaceholders",
description: "Evaluate breakpoint with logging actions that include placeholders.",
test(resolve, reject) {
WI.debuggerManager.addEventListener(WI.DebuggerManager.Event.ScriptAdded, (event) => {
let scriptObject = event.data.script;
if (!/script\-for\-breakpoint\-actions\.js$/.test(scriptObject.url))
return;
let location = scriptObject.createSourceCodeLocation(4, 0);
let breakpoint = new WI.Breakpoint(location);
breakpoint.autoContinue = true;
function addLogAction(data) {
breakpoint.createAction(WI.BreakpointAction.Type.Log, breakpoint.actions.lastValue, data);
}
addLogAction("`${a}`");
addLogAction("'${a}'");
addLogAction("${'ab' + 'c'}");
addLogAction("${\"{abc}\"}");
addLogAction("${'{abc}'}");
addLogAction("${`{abc}`}");
addLogAction("${`ab${'c'}`}");
addLogAction("${({a: 137}).a}");
addLogAction("close curly brace in RegExp: ${/\\}/.test('}')}");
addLogAction("${a} and ${JSON.stringify(b)}");
WI.debuggerManager.addBreakpoint(breakpoint);
InspectorTest.evaluateInPage("runBreakpointActions()", resolve);
});
InspectorTest.reloadPage();
}
});
suite.runTestCasesAndFinish();
}
</script>
</head>
<body onload="runTest()">
<p>Testing that "Log" breakpoint actions work correctly.</p>
</body>
</html>