tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

browser_aboutdebugging_hidden_addons.js (1843B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 // Test that system and hidden addons are only displayed when the showSystemAddons
      7 // preferences is true.
      8 
      9 const SYSTEM_ADDON = createAddonData({
     10  id: "system",
     11  name: "System Addon",
     12  isSystem: true,
     13  hidden: true,
     14 });
     15 const HIDDEN_ADDON = createAddonData({
     16  id: "hidden",
     17  name: "Hidden Addon",
     18  isSystem: false,
     19  hidden: true,
     20 });
     21 const NORMAL_ADDON = createAddonData({
     22  id: "normal",
     23  name: "Normal Addon",
     24  isSystem: false,
     25  hidden: false,
     26 });
     27 
     28 add_task(async function testShowSystemAddonsTrue() {
     29  info("Test with showHiddenAddons set to true");
     30  await testAddonsDisplay(true);
     31 
     32  info("Test with showHiddenAddons set to false");
     33  await testAddonsDisplay(false);
     34 });
     35 
     36 async function testAddonsDisplay(showHidden) {
     37  const thisFirefoxClient = setupThisFirefoxMock();
     38  thisFirefoxClient.listAddons = () => [
     39    SYSTEM_ADDON,
     40    HIDDEN_ADDON,
     41    NORMAL_ADDON,
     42  ];
     43 
     44  info("Set showHiddenAddons to " + showHidden);
     45  await pushPref("devtools.aboutdebugging.showHiddenAddons", showHidden);
     46 
     47  const { document, tab, window } = await openAboutDebugging();
     48  await selectThisFirefoxPage(document, window.AboutDebugging.store);
     49 
     50  const hasSystemAddon = !!findDebugTargetByText("System Addon", document);
     51  const hasHiddenAddon = !!findDebugTargetByText("Hidden Addon", document);
     52  const hasInstalledAddon = !!findDebugTargetByText("Normal Addon", document);
     53  is(
     54    hasSystemAddon,
     55    showHidden,
     56    "System addon display is correct when showHiddenAddons is " + showHidden
     57  );
     58  is(
     59    hasHiddenAddon,
     60    showHidden,
     61    "Hidden addon display is correct when showHiddenAddons is " + showHidden
     62  );
     63  ok(hasInstalledAddon, "Installed addon is always displayed");
     64 
     65  await removeTab(tab);
     66 }