@@ -16,81 +16,68 @@ add_task(async function testMenus() {
1616 ensureReportBrokenSitePreffedOff ( ) ;
1717
1818 const appMenu = AppMenu ( ) ;
19- const menus = [ appMenu , ProtectionsPanel ( ) , HelpMenu ( ) ] ;
19+ const helpMenu = HelpMenu ( ) ;
20+ const protectionsPanel = ProtectionsPanel ( ) ;
2021
21- async function forceMenuItemStateUpdate ( ) {
22- ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
23-
24- // the hidden/disabled state of all of the menuitems may not update until one
25- // is rendered; then the related <command>'s state is propagated to them all.
26- await appMenu . open ( ) ;
27- await appMenu . close ( ) ;
22+ async function ensure ( menu , fn , test ) {
23+ await menu . open ( ) ;
24+ fn ( menu . reportBrokenSite , `${ fn . name } (${ menu . menuDescription } ) ${ test } - ` ) ;
25+ await menu . close ( ) ;
2826 }
2927
3028 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- }
29+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
30+ const test = "on invalid page when preffed off" ;
31+ await ensure ( appMenu , isMenuItemDisabled , test ) ;
32+ await ensure ( helpMenu , isMenuItemDisabled , test ) ;
33+ ensureProtectionsPanelHidden ( test ) ;
3834 } ) ;
3935
4036 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- }
37+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
38+ const test =
39+ "on valid page when preffed off (fallback to original reporter)" ;
40+ await ensure ( appMenu , isMenuItemEnabled , test ) ;
41+ await ensure ( helpMenu , isMenuItemEnabled , test ) ;
42+ await ensure ( protectionsPanel , isMenuItemEnabled , test ) ;
4843 } ) ;
4944
5045 ensureReportBrokenSitePreffedOn ( ) ;
5146
5247 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- }
48+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
49+ const test = "on invalid page when preffed on" ;
50+ await ensure ( appMenu , isMenuItemDisabled , test ) ;
51+ await ensure ( helpMenu , isMenuItemDisabled , test ) ;
52+ ensureProtectionsPanelHidden ( test ) ;
6053 } ) ;
6154
6255 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- }
56+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
57+ const test = "on valid page when preffed on" ;
58+ await ensure ( appMenu , isMenuItemEnabled , test ) ;
59+ await ensure ( helpMenu , isMenuItemEnabled , test ) ;
60+ await ensure ( protectionsPanel , isMenuItemEnabled , test ) ;
7061 } ) ;
7162
7263 ensureReportBrokenSitePreffedOff ( ) ;
7364
7465 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- }
66+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
67+ const test = "still active when pref toggled back off" ;
68+ await ensure ( appMenu , isMenuItemEnabled , test ) ;
69+ await ensure ( helpMenu , isMenuItemEnabled , test ) ;
70+ await ensure ( protectionsPanel , isMenuItemEnabled , test ) ;
8271 } ) ;
8372
8473 ensureReportBrokenSitePreffedOn ( ) ;
8574 ensureReportBrokenSiteDisabledByPolicy ( ) ;
8675
8776 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- }
77+ ReportBrokenSite . enableOrDisableMenuitems ( window ) ;
78+ const test = "when disabled by DisableFeedbackCommands enterprise policy" ;
79+ await ensure ( appMenu , isMenuItemHidden , test ) ;
80+ await ensure ( helpMenu , isMenuItemHidden , test ) ;
81+ await ensure ( protectionsPanel , isMenuItemHidden , test ) ;
9582 } ) ;
9683} ) ;
0 commit comments