1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
"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"));
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");
});
|