зеркало из https://github.com/mozilla/gecko-dev.git
47 строки
1.5 KiB
JavaScript
47 строки
1.5 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
add_task(async function testInvalidScaleResetAfterDestinationChange() {
|
|
const mockPrinterName = "Fake Printer";
|
|
await PrintHelper.withTestPage(async helper => {
|
|
helper.addMockPrinter(mockPrinterName);
|
|
await helper.startPrint();
|
|
|
|
let destinationPicker = helper.get("printer-picker");
|
|
|
|
await helper.openMoreSettings();
|
|
let scaleRadio = helper.get("percent-scale-choice");
|
|
await helper.assertSettingsChanged(
|
|
{ shrinkToFit: true },
|
|
{ shrinkToFit: false },
|
|
async () => {
|
|
await helper.waitForPreview(() => helper.click(scaleRadio));
|
|
}
|
|
);
|
|
let percentScale = helper.get("percent-scale");
|
|
|
|
let scaleError = helper.get("error-invalid-scale");
|
|
|
|
await helper.assertSettingsNotChanged({ scaling: 1 }, async () => {
|
|
ok(scaleError.hidden, "Scale error is hidden");
|
|
await helper.text(percentScale, "9");
|
|
await BrowserTestUtils.waitForAttributeRemoval("hidden", scaleError);
|
|
ok(!scaleError.hidden, "Scale error is showing");
|
|
});
|
|
|
|
is(destinationPicker.disabled, false, "Destination picker is enabled");
|
|
|
|
// Select a new printer
|
|
await helper.dispatchSettingsChange({ printerName: mockPrinterName });
|
|
await BrowserTestUtils.waitForCondition(
|
|
() => scaleError.hidden,
|
|
"Wait for scale error to be hidden"
|
|
);
|
|
is(percentScale.value, "100", "Scale has reset to 100");
|
|
|
|
await helper.closeDialog();
|
|
});
|
|
});
|