Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
add_task(async function test_open_panel() {
Assert.ok(
document.getElementById("unified-extensions-button"),
"Widget toolbar button exists"
);
let panelView = PanelMultiView.getViewNode(document, "PanelUI-bookmarks");
// Test using anchor_id
const actionAnchor = {
type: "OPEN_PANEL",
data: {
anchor_id: "unified-extensions-button",
panel_id: "PanelUI-bookmarks",
},
};
let panelShownPromiseAnchor = BrowserTestUtils.waitForEvent(
panelView,
"ViewShown"
);
await SpecialMessageActions.handleAction(actionAnchor, gBrowser);
await panelShownPromiseAnchor;
Assert.equal(panelView.closest("panel").state, "open");
let popupHiddenAnchor = BrowserTestUtils.waitForEvent(
document,
"popuphidden"
);
// Close the panel
EventUtils.synthesizeKey("KEY_Escape");
await popupHiddenAnchor;
// Test using widget_id
const actionWidget = {
type: "OPEN_PANEL",
data: {
widget_id: "unified-extensions-button",
panel_id: "PanelUI-bookmarks",
},
};
let panelShownPromiseWidget = BrowserTestUtils.waitForEvent(
panelView,
"ViewShown"
);
await SpecialMessageActions.handleAction(actionWidget, gBrowser);
await panelShownPromiseWidget;
Assert.equal(panelView.closest("panel").state, "open");
let popupHidden = BrowserTestUtils.waitForEvent(document, "popuphidden");
// Close the panel
EventUtils.synthesizeKey("KEY_Escape");
await popupHidden;
});