tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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 });