browser_947914_button_zoomReset.js (2252B)
1 /* This Source Code Form is subject to the terms of the Mozilla Public 2 * License, v. 2.0. If a copy of the MPL was not distributed with this 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 4 5 "use strict"; 6 7 var initialPageZoom = ZoomManager.zoom; 8 9 add_task(async function () { 10 info("Check zoom reset button existence and functionality"); 11 is(initialPageZoom, 1, "Page zoom reset correctly"); 12 13 await BrowserTestUtils.withNewTab( 14 { gBrowser, url: "http://example.com", waitForLoad: true }, 15 async function () { 16 CustomizableUI.addWidgetToArea( 17 "zoom-controls", 18 CustomizableUI.AREA_FIXED_OVERFLOW_PANEL 19 ); 20 21 registerCleanupFunction(() => CustomizableUI.reset()); 22 23 CustomizableUI.addWidgetToArea( 24 "zoom-controls", 25 CustomizableUI.AREA_FIXED_OVERFLOW_PANEL 26 ); 27 28 await waitForOverflowButtonShown(); 29 30 { 31 let zoomChange = BrowserTestUtils.waitForEvent( 32 gBrowser, 33 "FullZoomChange" 34 ); 35 FullZoom.setZoom(0.5, gBrowser.selectedBrowser); 36 await zoomChange; 37 } 38 39 await document.getElementById("nav-bar").overflowable.show(); 40 info("Menu panel was opened"); 41 42 let zoomResetButton = document.getElementById("zoom-reset-button"); 43 ok(zoomResetButton, "Zoom reset button exists in Panel Menu"); 44 45 let zoomChange = BrowserTestUtils.waitForEvent( 46 gBrowser, 47 "FullZoomChange" 48 ); 49 zoomResetButton.click(); 50 await zoomChange; 51 52 let pageZoomLevel = Math.floor(ZoomManager.zoom * 100); 53 let expectedZoomLevel = 100; 54 let buttonZoomLevel = parseInt(zoomResetButton.getAttribute("label"), 10); 55 is(pageZoomLevel, expectedZoomLevel, "Page zoom reset correctly"); 56 is( 57 pageZoomLevel, 58 buttonZoomLevel, 59 "Button displays the correct zoom level" 60 ); 61 62 // close the panel 63 let panelHiddenPromise = promiseOverflowHidden(window); 64 document.getElementById("widget-overflow").hidePopup(); 65 await panelHiddenPromise; 66 info("Menu panel was closed"); 67 } 68 ); 69 }); 70 71 add_task(async function asyncCleanup() { 72 // reset zoom level 73 ZoomManager.zoom = initialPageZoom; 74 info("Zoom level was restored"); 75 });