зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
ddaeb94ab6
Коммит
958b942611
|
@ -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")
|
||||
);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче