tor-browser

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

browser_toolbox_selected_tool_unavailable.js (1272B)


      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 opening the toolbox doesn't throw when the previously selected
      7 // tool is not supported.
      8 
      9 const testToolDefinition = {
     10  id: "testTool",
     11  isToolSupported: () => true,
     12  visibilityswitch: "devtools.test-tool.enabled",
     13  url: "about:blank",
     14  label: "someLabel",
     15  build: (iframeWindow, toolbox) => {
     16    return {
     17      target: toolbox.target,
     18      toolbox,
     19      isReady: true,
     20      destroy: () => {},
     21      panelDoc: iframeWindow.document,
     22    };
     23  },
     24 };
     25 
     26 add_task(async function () {
     27  gDevTools.registerTool(testToolDefinition);
     28  let tab = await addTab("about:blank");
     29 
     30  let toolbox = await gDevTools.showToolboxForTab(tab, {
     31    toolId: testToolDefinition.id,
     32  });
     33  is(toolbox.currentToolId, "testTool", "test-tool was selected");
     34  await toolbox.destroy();
     35 
     36  // Make the previously selected tool unavailable.
     37  testToolDefinition.isToolSupported = () => false;
     38 
     39  toolbox = await gDevTools.showToolboxForTab(tab);
     40  is(toolbox.currentToolId, "webconsole", "web console was selected");
     41 
     42  await toolbox.destroy();
     43  gDevTools.unregisterTool(testToolDefinition.id);
     44  tab = toolbox = null;
     45  gBrowser.removeCurrentTab();
     46 });