зеркало из https://github.com/mozilla/gecko-dev.git
Bug 966612 part.2 Add tests on printpreview UI r=enndeakin
This commit is contained in:
Родитель
f3c74d2f8e
Коммит
46b83e2c39
|
@ -288,6 +288,7 @@ run-if = crashreporter
|
|||
[browser_popupNotification.js]
|
||||
skip-if = toolkit == "windows" # Disabled on Windows due to frequent failures (bugs 825739, 841341)
|
||||
[browser_popupUI.js]
|
||||
[browser_printpreview.js]
|
||||
[browser_private_browsing_window.js]
|
||||
[browser_private_no_prompt.js]
|
||||
[browser_relatedTabs.js]
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
function test() {
|
||||
waitForExplicitFinish();
|
||||
|
||||
ok(!gInPrintPreviewMode,
|
||||
"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);
|
||||
}
|
||||
}
|
||||
|
||||
function testClosePrintPreviewWithAccessKey() {
|
||||
EventUtils.synthesizeKey("c", { altKey: true });
|
||||
checkPrintPreviewClosed(function (aSucceeded) {
|
||||
ok(aSucceeded,
|
||||
"print preview mode should be finished by access key");
|
||||
openPrintPreview(testClosePrintPreviewWithEscKey);
|
||||
});
|
||||
}
|
||||
|
||||
function testClosePrintPreviewWithEscKey() {
|
||||
EventUtils.synthesizeKey("VK_ESCAPE", {});
|
||||
checkPrintPreviewClosed(function (aSucceeded) {
|
||||
ok(aSucceeded,
|
||||
"print preview mode should be finished by Esc key press");
|
||||
openPrintPreview(testClosePrintPreviewWithClosingWindowShortcutKey);
|
||||
});
|
||||
}
|
||||
|
||||
function testClosePrintPreviewWithClosingWindowShortcutKey() {
|
||||
EventUtils.synthesizeKey("w", { accelKey: true });
|
||||
checkPrintPreviewClosed(function (aSucceeded) {
|
||||
ok(aSucceeded,
|
||||
"print preview mode should be finished by closing window shortcut key");
|
||||
finish();
|
||||
});
|
||||
}
|
||||
|
||||
function openPrintPreview(aCallback) {
|
||||
document.getElementById("cmd_printPreview").doCommand();
|
||||
executeSoon(function () {
|
||||
if (gInPrintPreviewMode) {
|
||||
executeSoon(aCallback);
|
||||
return;
|
||||
}
|
||||
executeSoon(arguments.callee);
|
||||
});
|
||||
}
|
||||
|
||||
function checkPrintPreviewClosed(aCallback) {
|
||||
let count = 0;
|
||||
executeSoon(function () {
|
||||
if (!gInPrintPreviewMode) {
|
||||
executeSoon(function () { aCallback(count < 1000); });
|
||||
return;
|
||||
}
|
||||
if (++count == 1000) {
|
||||
// The test might fail.
|
||||
PrintUtils.exitPrintPreview();
|
||||
}
|
||||
executeSoon(arguments.callee);
|
||||
});
|
||||
}
|
Загрузка…
Ссылка в новой задаче