forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			46 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
	
		
			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();
 | |
|   });
 | |
| });
 | 
