Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
// Tests that toggling prefs immediately (de)activates the relevant menuitem
var gItemsToTest = {
menu_browserToolbox: [
"devtools.chrome.enabled",
"devtools.debugger.remote-enabled",
],
};
function expectedAttributeValueFromPrefs(prefs) {
return prefs.every(pref => Services.prefs.getBoolPref(pref)) ? null : "true";
}
function checkItem(el, prefs) {
const expectedValue = expectedAttributeValueFromPrefs(prefs);
is(
el.getAttribute("disabled"),
expectedValue,
"disabled attribute should match current pref state"
);
is(
el.getAttribute("hidden"),
expectedValue,
"hidden attribute should match current pref state"
);
}
function test() {
for (const k in gItemsToTest) {
const el = document.getElementById(k);
const prefs = gItemsToTest[k];
checkItem(el, prefs);
for (const pref of prefs) {
Services.prefs.setBoolPref(pref, !Services.prefs.getBoolPref(pref));
checkItem(el, prefs);
Services.prefs.setBoolPref(pref, !Services.prefs.getBoolPref(pref));
checkItem(el, prefs);
}
}
finish();
}