gecko-dev/browser/base/content/test/zoom/browser_default_zoom.js
Gijs Kruitbosch 61e522c615 Bug 1537719 - move page zoom tests and make them more reliable, r=morgan
This moves a bunch of tests over to a topical directory, and removes the
linux/windows running restrictions around browser_bug1015721.js
(now browser_mousewheel_zoom.js), given that it appears to run fine on try
and there are no recent logs with which we can diagnose failures.

It switches away from using FullZoom.reset repeatedly in the background_zoom
test because that trips https://bugzilla.mozilla.org/show_bug.cgi?id=1604236
which breaks subsequent tests.

Differential Revision: https://phabricator.services.mozilla.com/D89484
2020-09-08 20:34:11 +00:00

148 lines
4.8 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* https://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
add_task(async function test_init_default_zoom() {
const TEST_PAGE_URL =
"data:text/html;charset=utf-8,<body>test_init_default_zoom</body>";
// Prepare the test tab
info("Creating tab");
let tab = BrowserTestUtils.addTab(gBrowser, TEST_PAGE_URL);
let tabBrowser = gBrowser.getBrowserForTab(tab);
await FullZoomHelper.selectTabAndWaitForLocationChange(tab);
// 100% global zoom
info("Getting default zoom");
let defaultZoom = await FullZoomHelper.getGlobalValue();
is(defaultZoom, 1, "Global zoom is init at 100%");
// 100% tab zoom
is(
ZoomManager.getZoomForBrowser(tabBrowser),
1,
"Current zoom is init at 100%"
);
info("Removing tab");
await FullZoomHelper.removeTabAndWaitForLocationChange();
});
add_task(async function test_set_default_zoom() {
const TEST_PAGE_URL =
"data:text/html;charset=utf-8,<body>test_set_default_zoom</body>";
// Prepare the test tab
info("Creating tab");
let tab = BrowserTestUtils.addTab(gBrowser, TEST_PAGE_URL);
let tabBrowser = gBrowser.getBrowserForTab(tab);
await FullZoomHelper.selectTabAndWaitForLocationChange(tab);
// 120% global zoom
info("Changing default zoom");
await FullZoomHelper.changeDefaultZoom(120);
let defaultZoom = await FullZoomHelper.getGlobalValue();
is(defaultZoom, 1.2, "Global zoom is at 120%");
// 120% tab zoom
await TestUtils.waitForCondition(() => {
info("Current zoom is: " + ZoomManager.getZoomForBrowser(tabBrowser));
return ZoomManager.getZoomForBrowser(tabBrowser) == 1.2;
});
is(
ZoomManager.getZoomForBrowser(tabBrowser),
1.2,
"Current zoom matches changed default zoom"
);
info("Removing tab");
await FullZoomHelper.removeTabAndWaitForLocationChange();
});
add_task(async function test_enlarge_reduce_reset_local_zoom() {
const TEST_PAGE_URL =
"data:text/html;charset=utf-8,<body>test_enlarge_reduce_reset_local_zoom</body>";
// Prepare the test tab
info("Creating tab");
let tab = BrowserTestUtils.addTab(gBrowser, TEST_PAGE_URL);
let tabBrowser = gBrowser.getBrowserForTab(tab);
await FullZoomHelper.selectTabAndWaitForLocationChange(tab);
// 120% global zoom
info("Changing default zoom");
await FullZoomHelper.changeDefaultZoom(120);
let defaultZoom = await FullZoomHelper.getGlobalValue();
is(defaultZoom, 1.2, "Global zoom is at 120%");
await TestUtils.waitForCondition(() => {
info("Current tab zoom is ", ZoomManager.getZoomForBrowser(tabBrowser));
return ZoomManager.getZoomForBrowser(tabBrowser) == 1.2;
});
is(
ZoomManager.getZoomForBrowser(tabBrowser),
1.2,
"Current tab zoom matches default zoom"
);
await FullZoom.enlarge();
info("Enlarged!");
defaultZoom = await FullZoomHelper.getGlobalValue();
info("Current global zoom is " + defaultZoom);
// 133% tab zoom
await TestUtils.waitForCondition(() => {
info("Current tab zoom is ", ZoomManager.getZoomForBrowser(tabBrowser));
return ZoomManager.getZoomForBrowser(tabBrowser) == 1.33;
});
is(
ZoomManager.getZoomForBrowser(tabBrowser),
1.33,
"Increasing zoom changes zoom of current tab."
);
defaultZoom = await FullZoomHelper.getGlobalValue();
// 120% global zoom
is(
defaultZoom,
1.2,
"Increasing zoom of current tab doesn't change default zoom."
);
info("Reducing...");
info("Current tab zoom is ", ZoomManager.getZoomForBrowser(tabBrowser));
await FullZoom.reduce(); // 120% tab zoom
info("Current tab zoom is ", ZoomManager.getZoomForBrowser(tabBrowser));
await FullZoom.reduce(); // 110% tab zoom
info("Current tab zoom is ", ZoomManager.getZoomForBrowser(tabBrowser));
await FullZoom.reduce(); // 100% tab zoom
info("Current tab zoom is ", ZoomManager.getZoomForBrowser(tabBrowser));
await TestUtils.waitForCondition(() => {
info("Current tab zoom is ", ZoomManager.getZoomForBrowser(tabBrowser));
return ZoomManager.getZoomForBrowser(tabBrowser) == 1;
});
is(
ZoomManager.getZoomForBrowser(tabBrowser),
1,
"Decreasing zoom changes zoom of current tab."
);
defaultZoom = await FullZoomHelper.getGlobalValue();
// 120% global zoom
is(
defaultZoom,
1.2,
"Decreasing zoom of current tab doesn't change default zoom."
);
info("Resetting...");
FullZoom.reset(); // 120% tab zoom
await TestUtils.waitForCondition(() => {
info("Current tab zoom is ", ZoomManager.getZoomForBrowser(tabBrowser));
return ZoomManager.getZoomForBrowser(tabBrowser) == 1.2;
});
is(
ZoomManager.getZoomForBrowser(tabBrowser),
1.2,
"Reseting zoom causes current tab to zoom to default zoom."
);
// no reset necessary, it was performed as part of the test
info("Removing tab");
await FullZoomHelper.removeTabAndWaitForLocationChange();
});