@@ -16,81 +16,73 @@ add_task(async function testMenus() {
1616 ensureReportBrokenSitePreffedOff ( ) ;
1717
1818 const appMenu = AppMenu ( ) ;
19- const menus = [ appMenu , ProtectionsPanel ( ) , HelpMenu ( ) ] ;
20-
21- async function forceMenuItemStateUpdate ( ) {
22- ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
19+ const helpMenu = HelpMenu ( ) ;
20+ const protectionsPanel = ProtectionsPanel ( ) ;
2321
22+ async function ensure ( menu , fn , test ) {
2423 // the hidden/disabled state of all of the menuitems may not update until one
2524 // is rendered; then the related <command>'s state is propagated to them all.
26- await appMenu . open ( ) ;
27- await appMenu . close ( ) ;
25+ await menu . open ( ) ;
26+ await menu . close ( ) ;
27+
28+ await menu . open ( ) ;
29+ fn ( menu . reportBrokenSite , `${ fn . name } (${ menu . menuDescription } ) ${ test } - ` ) ;
30+ await menu . close ( ) ;
2831 }
2932
3033 await BrowserTestUtils . withNewTab ( "about:blank" , async function ( ) {
31- await forceMenuItemStateUpdate ( ) ;
32- for ( const { menuDescription, reportBrokenSite } of menus ) {
33- isMenuItemHidden (
34- reportBrokenSite ,
35- `${ menuDescription } option hidden on invalid page when preffed off`
36- ) ;
37- }
34+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
35+ const test = "on invalid page when preffed off" ;
36+ await ensure ( appMenu , isMenuItemDisabled , test ) ;
37+ await ensure ( helpMenu , isMenuItemDisabled , test ) ;
38+ ensureProtectionsPanelHidden ( test ) ;
3839 } ) ;
3940
4041 await BrowserTestUtils . withNewTab ( REPORTABLE_PAGE_URL , async function ( ) {
41- await forceMenuItemStateUpdate ( ) ;
42- for ( const { menuDescription, reportBrokenSite } of menus ) {
43- isMenuItemHidden (
44- reportBrokenSite ,
45- `${ menuDescription } option hidden on valid page when preffed off`
46- ) ;
47- }
42+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
43+ const test =
44+ "on valid page when preffed off (fallback to original reporter)" ;
45+ await ensure ( appMenu , isMenuItemEnabled , test ) ;
46+ await ensure ( helpMenu , isMenuItemEnabled , test ) ;
47+ await ensure ( protectionsPanel , isMenuItemEnabled , test ) ;
4848 } ) ;
4949
5050 ensureReportBrokenSitePreffedOn ( ) ;
5151
5252 await BrowserTestUtils . withNewTab ( "about:blank" , async function ( ) {
53- await forceMenuItemStateUpdate ( ) ;
54- for ( const { menuDescription, reportBrokenSite } of menus ) {
55- isMenuItemDisabled (
56- reportBrokenSite ,
57- `${ menuDescription } option disabled on invalid page when preffed on`
58- ) ;
59- }
53+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
54+ const test = "on invalid page when preffed on" ;
55+ await ensure ( appMenu , isMenuItemDisabled , test ) ;
56+ await ensure ( helpMenu , isMenuItemDisabled , test ) ;
57+ ensureProtectionsPanelHidden ( test ) ;
6058 } ) ;
6159
6260 await BrowserTestUtils . withNewTab ( REPORTABLE_PAGE_URL , async function ( ) {
63- await forceMenuItemStateUpdate ( ) ;
64- for ( const { menuDescription, reportBrokenSite } of menus ) {
65- isMenuItemEnabled (
66- reportBrokenSite ,
67- `${ menuDescription } option enabled on valid page when preffed on`
68- ) ;
69- }
61+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
62+ const test = "on valid page when preffed on" ;
63+ await ensure ( appMenu , isMenuItemEnabled , test ) ;
64+ await ensure ( helpMenu , isMenuItemEnabled , test ) ;
65+ await ensure ( protectionsPanel , isMenuItemEnabled , test ) ;
7066 } ) ;
7167
7268 ensureReportBrokenSitePreffedOff ( ) ;
7369
7470 await BrowserTestUtils . withNewTab ( REPORTABLE_PAGE_URL , async function ( ) {
75- await forceMenuItemStateUpdate ( ) ;
76- for ( const { menuDescription, reportBrokenSite } of menus ) {
77- isMenuItemHidden (
78- reportBrokenSite ,
79- `${ menuDescription } option hidden again when pref toggled back off`
80- ) ;
81- }
71+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
72+ const test = "still active when pref toggled back off" ;
73+ await ensure ( appMenu , isMenuItemEnabled , test ) ;
74+ await ensure ( helpMenu , isMenuItemEnabled , test ) ;
75+ await ensure ( protectionsPanel , isMenuItemEnabled , test ) ;
8276 } ) ;
8377
8478 ensureReportBrokenSitePreffedOn ( ) ;
8579 ensureReportBrokenSiteDisabledByPolicy ( ) ;
8680
8781 await BrowserTestUtils . withNewTab ( REPORTABLE_PAGE_URL , async function ( ) {
88- await forceMenuItemStateUpdate ( ) ;
89- for ( const { menuDescription, reportBrokenSite } of menus ) {
90- isMenuItemHidden (
91- reportBrokenSite ,
92- `${ menuDescription } option hidden when disabled by DisableFeedbackCommands enterprise policy`
93- ) ;
94- }
82+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
83+ const test = "when disabled by DisableFeedbackCommands enterprise policy" ;
84+ await ensure ( appMenu , isMenuItemHidden , test ) ;
85+ await ensure ( helpMenu , isMenuItemHidden , test ) ;
86+ await ensure ( protectionsPanel , isMenuItemHidden , test ) ;
9587 } ) ;
9688} ) ;
0 commit comments