Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* eslint-disable max-nested-callbacks */
/* Any copyright is dedicated to the Public Domain.
"use strict";
/**
* Bug 1552453 - Verify that breakpoints are hit for evaluated
* scripts that contain a source url pragma.
*/
add_task(
threadFrontTest(async ({ commands, threadFront }) => {
await threadFront.setBreakpoint(
{ sourceUrl: "http://example.com/code.js", line: 2, column: 1 },
{}
);
info("Create a new script with the displayUrl code.js");
const onNewSource = waitForEvent(threadFront, "newSource");
await commands.scriptCommand.execute(
"function f() {\n return 5; \n}\n//# sourceURL=http://example.com/code.js"
);
const sourcePacket = await onNewSource;
equal(sourcePacket.source.url, "http://example.com/code.js");
info("Evaluate f() and pause at line 2");
const onExecutionDone = commands.scriptCommand.execute("f()");
const pausedPacket = await waitForPause(threadFront);
equal(pausedPacket.why.type, "breakpoint");
equal(pausedPacket.frame.where.line, 2);
resume(threadFront);
await onExecutionDone;
})
);