Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
// Test that opening the toolbox doesn't throw when the previously selected
// tool is not supported.
const testToolDefinition = {
id: "testTool",
isToolSupported: () => true,
visibilityswitch: "devtools.test-tool.enabled",
url: "about:blank",
label: "someLabel",
build: (iframeWindow, toolbox) => {
return {
target: toolbox.target,
toolbox,
isReady: true,
destroy: () => {},
panelDoc: iframeWindow.document,
};
},
};
add_task(async function () {
gDevTools.registerTool(testToolDefinition);
let tab = await addTab("about:blank");
let toolbox = await gDevTools.showToolboxForTab(tab, {
toolId: testToolDefinition.id,
});
is(toolbox.currentToolId, "testTool", "test-tool was selected");
await toolbox.destroy();
// Make the previously selected tool unavailable.
testToolDefinition.isToolSupported = () => false;
toolbox = await gDevTools.showToolboxForTab(tab);
is(toolbox.currentToolId, "webconsole", "web console was selected");
await toolbox.destroy();
gDevTools.unregisterTool(testToolDefinition.id);
tab = toolbox = null;
gBrowser.removeCurrentTab();
});