forked from mirrors/gecko-dev
The debug targets are currently displayed in the order from the server, which makes it hard to find specific targets. Differential Revision: https://phabricator.services.mozilla.com/D197521
66 lines
1.8 KiB
JavaScript
66 lines
1.8 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
// Test that system and hidden addons are only displayed when the showSystemAddons
|
|
// preferences is true.
|
|
|
|
const SYSTEM_ADDON = createAddonData({
|
|
id: "system",
|
|
name: "System Addon",
|
|
isSystem: true,
|
|
hidden: true,
|
|
});
|
|
const HIDDEN_ADDON = createAddonData({
|
|
id: "hidden",
|
|
name: "Hidden Addon",
|
|
isSystem: false,
|
|
hidden: true,
|
|
});
|
|
const NORMAL_ADDON = createAddonData({
|
|
id: "normal",
|
|
name: "Normal Addon",
|
|
isSystem: false,
|
|
hidden: false,
|
|
});
|
|
|
|
add_task(async function testShowSystemAddonsTrue() {
|
|
info("Test with showHiddenAddons set to true");
|
|
await testAddonsDisplay(true);
|
|
|
|
info("Test with showHiddenAddons set to false");
|
|
await testAddonsDisplay(false);
|
|
});
|
|
|
|
async function testAddonsDisplay(showHidden) {
|
|
const thisFirefoxClient = setupThisFirefoxMock();
|
|
thisFirefoxClient.listAddons = () => [
|
|
SYSTEM_ADDON,
|
|
HIDDEN_ADDON,
|
|
NORMAL_ADDON,
|
|
];
|
|
|
|
info("Set showHiddenAddons to " + showHidden);
|
|
await pushPref("devtools.aboutdebugging.showHiddenAddons", showHidden);
|
|
|
|
const { document, tab, window } = await openAboutDebugging();
|
|
await selectThisFirefoxPage(document, window.AboutDebugging.store);
|
|
|
|
const hasSystemAddon = !!findDebugTargetByText("System Addon", document);
|
|
const hasHiddenAddon = !!findDebugTargetByText("Hidden Addon", document);
|
|
const hasInstalledAddon = !!findDebugTargetByText("Normal Addon", document);
|
|
is(
|
|
hasSystemAddon,
|
|
showHidden,
|
|
"System addon display is correct when showHiddenAddons is " + showHidden
|
|
);
|
|
is(
|
|
hasHiddenAddon,
|
|
showHidden,
|
|
"Hidden addon display is correct when showHiddenAddons is " + showHidden
|
|
);
|
|
ok(hasInstalledAddon, "Installed addon is always displayed");
|
|
|
|
await removeTab(tab);
|
|
}
|