forked from mirrors/gecko-dev
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
113 lines
3.9 KiB
JavaScript
113 lines
3.9 KiB
JavaScript
var gTestPage =
|
|
"http://example.org/browser/browser/base/content/test/zoom/zoom_test.html";
|
|
var gTestImage =
|
|
"http://example.org/browser/browser/base/content/test/general/moz.png";
|
|
var gTab1, gTab2, gTab3;
|
|
var gLevel;
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
registerCleanupFunction(async () => {
|
|
await new Promise(resolve => {
|
|
ContentPrefService2.removeByName(FullZoom.name, Cu.createLoadContext(), {
|
|
handleCompletion: resolve,
|
|
});
|
|
});
|
|
});
|
|
|
|
(async function() {
|
|
gTab1 = BrowserTestUtils.addTab(gBrowser, gTestPage);
|
|
gTab2 = BrowserTestUtils.addTab(gBrowser);
|
|
gTab3 = BrowserTestUtils.addTab(gBrowser);
|
|
|
|
await FullZoomHelper.selectTabAndWaitForLocationChange(gTab1);
|
|
await FullZoomHelper.load(gTab1, gTestPage);
|
|
await FullZoomHelper.load(gTab2, gTestPage);
|
|
})().then(secondPageLoaded, FullZoomHelper.failAndContinue(finish));
|
|
}
|
|
|
|
function secondPageLoaded() {
|
|
(async function() {
|
|
FullZoomHelper.zoomTest(gTab1, 1, "Initial zoom of tab 1 should be 1");
|
|
FullZoomHelper.zoomTest(gTab2, 1, "Initial zoom of tab 2 should be 1");
|
|
FullZoomHelper.zoomTest(gTab3, 1, "Initial zoom of tab 3 should be 1");
|
|
|
|
// Now have three tabs, two with the test page, one blank. Tab 1 is selected
|
|
// Zoom tab 1
|
|
FullZoom.enlarge();
|
|
gLevel = ZoomManager.getZoomForBrowser(gBrowser.getBrowserForTab(gTab1));
|
|
|
|
ok(gLevel > 1, "New zoom for tab 1 should be greater than 1");
|
|
FullZoomHelper.zoomTest(gTab2, 1, "Zooming tab 1 should not affect tab 2");
|
|
FullZoomHelper.zoomTest(gTab3, 1, "Zooming tab 1 should not affect tab 3");
|
|
|
|
await FullZoomHelper.load(gTab3, gTestPage);
|
|
})().then(thirdPageLoaded, FullZoomHelper.failAndContinue(finish));
|
|
}
|
|
|
|
function thirdPageLoaded() {
|
|
(async function() {
|
|
FullZoomHelper.zoomTest(gTab1, gLevel, "Tab 1 should still be zoomed");
|
|
FullZoomHelper.zoomTest(gTab2, 1, "Tab 2 should still not be affected");
|
|
FullZoomHelper.zoomTest(
|
|
gTab3,
|
|
gLevel,
|
|
"Tab 3 should have zoomed as it was loading in the background"
|
|
);
|
|
|
|
// Switching to tab 2 should update its zoom setting.
|
|
await FullZoomHelper.selectTabAndWaitForLocationChange(gTab2);
|
|
FullZoomHelper.zoomTest(gTab1, gLevel, "Tab 1 should still be zoomed");
|
|
FullZoomHelper.zoomTest(gTab2, gLevel, "Tab 2 should be zoomed now");
|
|
FullZoomHelper.zoomTest(gTab3, gLevel, "Tab 3 should still be zoomed");
|
|
|
|
await FullZoomHelper.load(gTab1, gTestImage);
|
|
})().then(imageLoaded, FullZoomHelper.failAndContinue(finish));
|
|
}
|
|
|
|
function imageLoaded() {
|
|
(async function() {
|
|
FullZoomHelper.zoomTest(
|
|
gTab1,
|
|
1,
|
|
"Zoom should be 1 when image was loaded in the background"
|
|
);
|
|
await FullZoomHelper.selectTabAndWaitForLocationChange(gTab1);
|
|
FullZoomHelper.zoomTest(
|
|
gTab1,
|
|
1,
|
|
"Zoom should still be 1 when tab with image is selected"
|
|
);
|
|
})().then(imageZoomSwitch, FullZoomHelper.failAndContinue(finish));
|
|
}
|
|
|
|
function imageZoomSwitch() {
|
|
(async function() {
|
|
await FullZoomHelper.navigate(FullZoomHelper.BACK);
|
|
await FullZoomHelper.navigate(FullZoomHelper.FORWARD);
|
|
FullZoomHelper.zoomTest(
|
|
gTab1,
|
|
1,
|
|
"Tab 1 should not be zoomed when an image loads"
|
|
);
|
|
|
|
await FullZoomHelper.selectTabAndWaitForLocationChange(gTab2);
|
|
FullZoomHelper.zoomTest(
|
|
gTab1,
|
|
1,
|
|
"Tab 1 should still not be zoomed when deselected"
|
|
);
|
|
})().then(finishTest, FullZoomHelper.failAndContinue(finish));
|
|
}
|
|
|
|
var finishTestStarted = false;
|
|
function finishTest() {
|
|
(async function() {
|
|
ok(!finishTestStarted, "finishTest called more than once");
|
|
finishTestStarted = true;
|
|
await FullZoomHelper.selectTabAndWaitForLocationChange(gTab1);
|
|
await FullZoomHelper.removeTabAndWaitForLocationChange(gTab1);
|
|
await FullZoomHelper.removeTabAndWaitForLocationChange(gTab2);
|
|
await FullZoomHelper.removeTabAndWaitForLocationChange(gTab3);
|
|
})().then(finish, FullZoomHelper.failAndContinue(finish));
|
|
}
|