fune/browser/components/sessionstore/test/browser_1446343-windowsize.js
Victor Porof 1f830c96da Bug 1561435 - Format browser/components/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D36042

--HG--
extra : source : d3afcafdce650a6f36cebbc126ee93b17f13cf52
2019-07-05 09:53:32 +02:00

39 lines
1.3 KiB
JavaScript

add_task(async function test() {
const win = await BrowserTestUtils.openNewBrowserWindow();
async function changeSizeMode(mode) {
let promise = BrowserTestUtils.waitForEvent(win, "sizemodechange");
win[mode]();
await promise;
}
if (win.windowState != win.STATE_NORMAL) {
await changeSizeMode("restore");
}
const { outerWidth, outerHeight, screenX, screenY } = win;
function checkCurrentState(sizemode) {
let state = JSON.parse(ss.getWindowState(win));
let winState = state.windows[0];
let msgSuffix = ` should match on ${sizemode} mode`;
is(winState.width, outerWidth, "width" + msgSuffix);
is(winState.height, outerHeight, "height" + msgSuffix);
// The position attributes seem to be affected on macOS when the
// window gets maximized, so skip checking them for now.
if (AppConstants.platform != "macosx" || sizemode == "normal") {
is(winState.screenX, screenX, "screenX" + msgSuffix);
is(winState.screenY, screenY, "screenY" + msgSuffix);
}
is(winState.sizemode, sizemode, "sizemode should match");
}
checkCurrentState("normal");
await changeSizeMode("maximize");
checkCurrentState("maximized");
await changeSizeMode("minimize");
checkCurrentState("minimized");
// Clean up.
await BrowserTestUtils.closeWindow(win);
});