Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// Workaround for bug 1973683
add_setup(() => {
Services.prefs.setBoolPref("extensions.webextensions.remote", true);
registerCleanupFunction(() => {
Services.prefs.clearUserPref("extensions.webextensions.remote");
});
});
add_task(async function () {
let errorObserved = new Promise(resolve => {
const listener = {
observe({ message }) {
if (message.includes("eval() and eval-like")) {
Services.console.unregisterListener(listener);
resolve();
}
},
};
Services.console.registerListener(listener);
});
if (mozinfo.os == "android" && !mozinfo.nightly_build) {
Assert.equal(
// eslint-disable-next-line no-eval
eval("42"),
42,
"eval on Android is not disabled yet outside of Nightly"
);
} else {
Assert.throws(
// eslint-disable-next-line no-eval
() => eval("42"),
EvalError,
"eval() in privileged context should throw"
);
}
await errorObserved;
});