60 lines
1.8 KiB
JavaScript
60 lines
1.8 KiB
JavaScript
"use strict";
|
|
|
|
var gTestTab;
|
|
var gContentAPI;
|
|
|
|
add_task(setup_UITourTest);
|
|
|
|
add_UITour_task(async function test_highlight_help_and_show_help_subview() {
|
|
let highlight = document.getElementById("UITourHighlight");
|
|
is_element_hidden(highlight, "Highlight should initially be hidden");
|
|
|
|
// Test highlighting the library button
|
|
let appMenu = PanelUI.panel;
|
|
let appMenuShownPromise = promisePanelElementShown(window, appMenu);
|
|
let highlightVisiblePromise = elementVisiblePromise(
|
|
highlight,
|
|
"Should show highlight"
|
|
);
|
|
gContentAPI.showHighlight("help");
|
|
await appMenuShownPromise;
|
|
await highlightVisiblePromise;
|
|
is(
|
|
appMenu.state,
|
|
"open",
|
|
"Should open the app menu to highlight the help button"
|
|
);
|
|
is(
|
|
getShowHighlightTargetName(),
|
|
"help",
|
|
"Should highlight the help button on the app menu"
|
|
);
|
|
|
|
// Click the help button to show the subview
|
|
let ViewShownPromise = new Promise(resolve => {
|
|
appMenu.addEventListener("ViewShown", resolve, { once: true });
|
|
});
|
|
let highlightHiddenPromise = elementHiddenPromise(
|
|
highlight,
|
|
"Should hide highlight"
|
|
);
|
|
|
|
let helpButtonID = "appMenu-help-button2";
|
|
let helpBtn = document.getElementById(helpButtonID);
|
|
helpBtn.dispatchEvent(new Event("command", { bubbles: true }));
|
|
await highlightHiddenPromise;
|
|
await ViewShownPromise;
|
|
let helpView = document.getElementById("PanelUI-helpView");
|
|
ok(PanelView.forNode(helpView).active, "Should show the help subview");
|
|
is(
|
|
appMenu.state,
|
|
"open",
|
|
"Should still open the app menu for the help subview"
|
|
);
|
|
|
|
// Clean up
|
|
let appMenuHiddenPromise = promisePanelElementHidden(window, appMenu);
|
|
gContentAPI.hideMenu("appMenu");
|
|
await appMenuHiddenPromise;
|
|
is(appMenu.state, "closed", "Should close the app menu");
|
|
});
|