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/. */
"use strict";
add_task(async function test() {
info(
"Test that the popup offers to restart the browser to set an enviroment flag."
);
if (!Services.profiler.GetFeatures().includes("jstracer")) {
ok(
true,
"JS tracer is not supported on this platform, or is currently disabled. Skip the rest of the test."
);
return;
}
{
info("Ensure that JS Tracer is not currently enabled.");
ok(
!Services.env.get("JS_TRACE_LOGGING"),
"The JS_TRACE_LOGGING is not currently enabled."
);
}
ok(
false,
"This test was migrated from the initial popup implementation to " +
"about:profiling, however JS Tracer was disabled at the time. When " +
"re-enabling JS Tracer, please audit that this text works as expected, " +
"especially in the UI."
);
await withAboutProfiling(async document => {
{
info(
"Test that there is offer to restart the browser when first loading up the popup."
);
const noRestartButton = maybeGetElementFromDocumentByText(
document,
"Restart"
);
ok(!noRestartButton, "There is no button to restart the browser.");
}
const jsTracerFeature = await getElementFromDocumentByText(
document,
"JSTracer"
);
{
info("Toggle the jstracer feature on.");
jsTracerFeature.click();
const restartButton = await getElementFromDocumentByText(
document,
"Restart"
);
ok(
restartButton,
"There is now a button to offer to restart the browser"
);
}
{
info("Toggle the jstracer feature back off.");
jsTracerFeature.click();
const noRestartButton = maybeGetElementFromDocumentByText(
document,
"Restart"
);
ok(!noRestartButton, "The offer to restart the browser goes away.");
}
});
});