/* 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,test_init_default_zoom";
// 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,test_set_default_zoom";
// 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();
await FullZoomHelper.changeDefaultZoom(100);
});
add_task(async
function test_enlarge_reduce_reset_local_zoom() {
const TEST_PAGE_URL =
"data:text/html;charset=utf-8,test_enlarge_reduce_reset_local_zoom";
// 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();
});