tor-browser

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

browser_aboutdebugging_debug-target-pane_empty.js (2533B)


      1 /* Any copyright is dedicated to the Public Domain.
      2   http://creativecommons.org/publicdomain/zero/1.0/ */
      3 
      4 "use strict";
      5 
      6 /* import-globals-from helper-addons.js */
      7 Services.scriptloader.loadSubScript(CHROME_URL_ROOT + "helper-addons.js", this);
      8 /* import-globals-from helper-collapsibilities.js */
      9 Services.scriptloader.loadSubScript(
     10  CHROME_URL_ROOT + "helper-collapsibilities.js",
     11  this
     12 );
     13 
     14 /**
     15 * Test that an "empty" message is displayed when there are no debug targets in a debug
     16 * target pane.
     17 */
     18 
     19 const EXTENSION_PATH = "resources/test-temporary-extension/manifest.json";
     20 const EXTENSION_NAME = "test-temporary-extension";
     21 
     22 add_task(async function () {
     23  prepareCollapsibilitiesTest();
     24 
     25  const { document, tab, window } = await openAboutDebugging();
     26  await selectThisFirefoxPage(document, window.AboutDebugging.store);
     27 
     28  info("Check that the temporary extensions pane is empty");
     29  const temporaryExtensionPane = getDebugTargetPane(
     30    "Temporary Extensions",
     31    document
     32  );
     33  ok(
     34    !temporaryExtensionPane.querySelector(".qa-debug-target-item"),
     35    "Temporary Extensions pane contains no debug target"
     36  );
     37 
     38  info("Check an empty target pane message is displayed");
     39  ok(
     40    temporaryExtensionPane.querySelector(".qa-debug-target-list-empty"),
     41    "An empty target list message is displayed"
     42  );
     43 
     44  info("Install a temporary extension");
     45  await installTemporaryExtension(EXTENSION_PATH, EXTENSION_NAME, document);
     46 
     47  info("Wait until a debug target item appears");
     48  await waitUntil(() =>
     49    temporaryExtensionPane.querySelector(".qa-debug-target-item")
     50  );
     51 
     52  info("Check the empty target pane message is no longer displayed");
     53  ok(
     54    !temporaryExtensionPane.querySelector(".qa-debug-target-list-empty"),
     55    "The empty target list message is no longer displayed"
     56  );
     57 
     58  const temporaryExtensionItem = temporaryExtensionPane.querySelector(
     59    ".qa-debug-target-item"
     60  );
     61  ok(
     62    temporaryExtensionItem,
     63    "Temporary Extensions pane now shows debug target"
     64  );
     65 
     66  info("Remove the temporary extension");
     67  temporaryExtensionItem
     68    .querySelector(".qa-temporary-extension-remove-button")
     69    .click();
     70 
     71  info("Wait until the debug target item disappears");
     72  await waitUntil(
     73    () => !temporaryExtensionPane.querySelector(".qa-debug-target-item")
     74  );
     75 
     76  info("Check the empty target pane message is displayed again");
     77  ok(
     78    temporaryExtensionPane.querySelector(".qa-debug-target-list-empty"),
     79    "An empty target list message is displayed again"
     80  );
     81 
     82  await removeTab(tab);
     83 });