fune/devtools/server/tests/xpcshell/test_new_source-02.js
Nicolas Chevobbe 4faad2f0f5 Bug 1712739 - [devtools] Fold custom WebConsoleFront#evaluateJSAsync method into scriptCommand#execute. r=ochameau.
Tests that were using `evaluateJSAsync` are updated, either by using the new command,
or by awaiting for the `evaluationResult` event.
A couple chrome tests were moved to devtools/shared/commands/js/tests/ and turned
into browser tests, and some of them were completely removed as we tested the
features in mochitests as well.

Differential Revision: https://phabricator.services.mozilla.com/D116248
2021-06-02 13:15:06 +00:00

46 lines
1.1 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/**
* Check that sourceURL has the correct effect when using threadFront.eval.
*/
add_task(
threadFrontTest(async ({ commands, threadFront, debuggee }) => {
await executeOnNextTickAndWaitForPause(
() => evalCode(debuggee),
threadFront
);
const packet1 = await waitForEvent(threadFront, "newSource");
Assert.ok(!!packet1.source);
Assert.ok(packet1.source.introductionType, "eval");
commands.scriptCommand.execute(
"function f() { }\n//# sourceURL=http://example.com/code.js"
);
const packet2 = await waitForEvent(threadFront, "newSource");
dump(JSON.stringify(packet2, null, 2));
Assert.ok(!!packet2.source);
Assert.ok(!!packet2.source.url.match(/example\.com/));
})
);
function evalCode(debuggee) {
/* eslint-disable */
debuggee.eval(
"(" +
function() {
function stopMe(arg1) {
debugger;
}
stopMe({ obj: true });
} +
")()"
);
/* eslint-enable */
}