Bug 1745247 - Port browser_printpreview.js to the new UI. r=mstriemer

Differential Revision: https://phabricator.services.mozilla.com/D133394
This commit is contained in:
Jonathan Watt 2021-12-09 20:37:35 +00:00
Родитель ddaeb94ab6
Коммит 958b942611
1 изменённых файлов: 15 добавлений и 58 удалений

Просмотреть файл

@ -2,21 +2,15 @@ let ourTab;
async function test() {
waitForExplicitFinish();
await pushPrefs(["print.tab_modal.enabled", false]);
BrowserTestUtils.openNewForegroundTab(gBrowser, "about:home", true).then(
function(tab) {
ourTab = tab;
ok(
!gInPrintPreviewMode,
!document.querySelector(".printPreviewBrowser"),
"Should NOT be in print preview mode at starting this tests"
);
// Skip access key test on platforms which don't support access key.
if (!/Win|Linux/.test(navigator.platform)) {
openPrintPreview(testClosePrintPreviewWithEscKey);
} else {
openPrintPreview(testClosePrintPreviewWithAccessKey);
}
testClosePrintPreviewWithEscKey();
}
);
}
@ -26,61 +20,24 @@ function tidyUp() {
finish();
}
async function testClosePrintPreviewWithAccessKey() {
let closeButton = document.getElementById(
"print-preview-toolbar-close-button"
);
await TestUtils.waitForCondition(() => closeButton.hasAttribute("accesskey"));
EventUtils.synthesizeKey("c", { altKey: true });
checkPrintPreviewClosed(function(aSucceeded) {
ok(aSucceeded, "print preview mode should be finished by access key");
openPrintPreview(testClosePrintPreviewWithEscKey);
});
}
function testClosePrintPreviewWithEscKey() {
async function testClosePrintPreviewWithEscKey() {
await openPrintPreview();
EventUtils.synthesizeKey("KEY_Escape");
checkPrintPreviewClosed(function(aSucceeded) {
ok(aSucceeded, "print preview mode should be finished by Esc key press");
openPrintPreview(testClosePrintPreviewWithClosingWindowShortcutKey);
});
await checkPrintPreviewClosed();
ok(true, "print preview mode should be finished by Esc key press");
tidyUp();
}
function testClosePrintPreviewWithClosingWindowShortcutKey() {
EventUtils.synthesizeKey("w", { accelKey: true });
checkPrintPreviewClosed(function(aSucceeded) {
ok(
aSucceeded,
"print preview mode should be finished by closing window shortcut key"
);
tidyUp();
});
}
function openPrintPreview(aCallback) {
async function openPrintPreview() {
document.getElementById("cmd_printPreview").doCommand();
executeSoon(function waitForPrintPreview() {
if (gInPrintPreviewMode) {
executeSoon(aCallback);
return;
}
executeSoon(waitForPrintPreview);
await BrowserTestUtils.waitForCondition(() => {
let preview = document.querySelector(".printPreviewBrowser");
return preview && BrowserTestUtils.is_visible(preview);
});
}
function checkPrintPreviewClosed(aCallback) {
let count = 0;
executeSoon(function waitForPrintPreviewClosed() {
if (!gInPrintPreviewMode) {
executeSoon(function() {
aCallback(count < 1000);
});
return;
}
if (++count == 1000) {
// The test might fail.
PrintUtils.exitPrintPreview();
}
executeSoon(waitForPrintPreviewClosed);
});
async function checkPrintPreviewClosed() {
await BrowserTestUtils.waitForCondition(
() => !document.querySelector(".printPreviewBrowser")
);
}