summaryrefslogtreecommitdiffstats
path: root/toolkit/components/printing/tests/browser_print_settings_fallback.js
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/printing/tests/browser_print_settings_fallback.js')
-rw-r--r--toolkit/components/printing/tests/browser_print_settings_fallback.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/toolkit/components/printing/tests/browser_print_settings_fallback.js b/toolkit/components/printing/tests/browser_print_settings_fallback.js
new file mode 100644
index 0000000000..6f30c87d8c
--- /dev/null
+++ b/toolkit/components/printing/tests/browser_print_settings_fallback.js
@@ -0,0 +1,39 @@
+/* Any copyright is dedicated to the Public Domain.
+ http://creativecommons.org/publicdomain/zero/1.0/ */
+
+"use strict";
+
+let badPrinterName = "Bad";
+let otherPrinterName = "Fallback";
+
+async function setupPrinters(helper) {
+ let badPrinter = helper.addMockPrinter({
+ name: badPrinterName,
+ });
+
+ let badPrinterInfo = await badPrinter.printerInfo;
+ badPrinterInfo.defaultSettings.printerName = "";
+
+ helper.addMockPrinter(otherPrinterName);
+
+ await SpecialPowers.pushPrefEnv({
+ set: [["print_printer", badPrinterName]],
+ });
+}
+
+add_task(async function testBadPrinterSettings() {
+ await PrintHelper.withTestPage(async helper => {
+ await setupPrinters(helper);
+ await helper.startPrint();
+
+ let destinationPicker = helper.get("printer-picker");
+ // Fallback can be any other printer, the fallback or save to pdf printer.
+ isnot(
+ destinationPicker.value,
+ badPrinterName,
+ "A fallback printer is selected"
+ );
+
+ await helper.closeDialog();
+ });
+});