53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
add_task(async function testCopyError() {
|
|
await PrintHelper.withTestPage(async helper => {
|
|
helper.addMockPrinter("A printer");
|
|
await SpecialPowers.pushPrefEnv({
|
|
set: [["print_printer", "A printer"]],
|
|
});
|
|
|
|
await helper.startPrint();
|
|
|
|
let copyInput = helper.get("copies-count");
|
|
let destinationPicker = helper.get("printer-picker");
|
|
let copyError = helper.get("error-invalid-copies");
|
|
|
|
await helper.assertSettingsChanged(
|
|
{ numCopies: 1 },
|
|
{ numCopies: 10000 },
|
|
async () => {
|
|
await helper.waitForSettingsEvent(() => {
|
|
helper.text(copyInput, "10000");
|
|
});
|
|
|
|
is(copyError.hidden, true, "Copy error is hidden");
|
|
EventUtils.sendChar("0", helper.win);
|
|
|
|
// Initially, the copies will be more than the max.
|
|
is(copyInput.checkValidity(), false, "Copy count is invalid");
|
|
await BrowserTestUtils.waitForAttributeRemoval("hidden", copyError);
|
|
is(copyError.hidden, false, "Copy error is showing");
|
|
is(
|
|
destinationPicker.disabled,
|
|
false,
|
|
"Destination picker is still enabled"
|
|
);
|
|
|
|
helper.text(copyInput, "10000");
|
|
await helper.waitForSettingsEvent();
|
|
is(copyInput.value, "10000", "Copies gets set to max value");
|
|
is(copyInput.checkValidity(), true, "Copy count is valid again");
|
|
await BrowserTestUtils.waitForCondition(
|
|
() => copyError.hidden,
|
|
"Wait for copy error to be hidden"
|
|
);
|
|
}
|
|
);
|
|
|
|
await helper.closeDialog();
|
|
});
|
|
});
|