OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 /** | 5 /** |
6 * Test fixture for print preview WebUI testing. | 6 * Test fixture for print preview WebUI testing. |
7 * @constructor | 7 * @constructor |
8 * @extends {testing.Test} | 8 * @extends {testing.Test} |
9 */ | 9 */ |
10 function PrintPreviewWebUITest() { | 10 function PrintPreviewWebUITest() { |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
80 cloudprint.CloudPrintInterface = CloudPrintInterfaceStub; | 80 cloudprint.CloudPrintInterface = CloudPrintInterfaceStub; |
81 cloudprint.CloudPrintInterface.EventType = oldCpInterfaceEventType; | 81 cloudprint.CloudPrintInterface.EventType = oldCpInterfaceEventType; |
82 | 82 |
83 print_preview.PreviewArea.prototype.getPluginType_ = | 83 print_preview.PreviewArea.prototype.getPluginType_ = |
84 function() { | 84 function() { |
85 return print_preview.PreviewArea.PluginType_.NONE; | 85 return print_preview.PreviewArea.PluginType_.NONE; |
86 }; | 86 }; |
87 }.bind(this)); | 87 }.bind(this)); |
88 }, | 88 }, |
89 | 89 |
| 90 setUpPreview: function() { |
| 91 var initialSettingsSetEvent = |
| 92 new Event(print_preview.NativeLayer.EventType.INITIAL_SETTINGS_SET); |
| 93 initialSettingsSetEvent.initialSettings = this.initialSettings_; |
| 94 this.nativeLayer_.dispatchEvent(initialSettingsSetEvent); |
| 95 |
| 96 var localDestsSetEvent = |
| 97 new Event(print_preview.NativeLayer.EventType.LOCAL_DESTINATIONS_SET); |
| 98 localDestsSetEvent.destinationInfos = this.localDestinationInfos_; |
| 99 this.nativeLayer_.dispatchEvent(localDestsSetEvent); |
| 100 }, |
| 101 |
90 /** | 102 /** |
91 * Generate a real C++ class; don't typedef. | 103 * Generate a real C++ class; don't typedef. |
92 * @type {?string} | 104 * @type {?string} |
93 * @override | 105 * @override |
94 */ | 106 */ |
95 typedefCppFixture: null, | 107 typedefCppFixture: null, |
96 | 108 |
97 /** | 109 /** |
98 * @this {PrintPreviewWebUITest} | 110 * @this {PrintPreviewWebUITest} |
99 * @override | 111 * @override |
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
577 printPreview.printTicketStore_.marginsType.updateValue( | 589 printPreview.printTicketStore_.marginsType.updateValue( |
578 print_preview.ticket_items.MarginsType.Value.CUSTOM); | 590 print_preview.ticket_items.MarginsType.Value.CUSTOM); |
579 printPreview.printTicketStore_.customMargins.updateValue( | 591 printPreview.printTicketStore_.customMargins.updateValue( |
580 new print_preview.Margins(0, 36, 36, 36)); | 592 new print_preview.Margins(0, 36, 36, 36)); |
581 | 593 |
582 checkElementDisplayed( | 594 checkElementDisplayed( |
583 $('other-options-settings').querySelector('.header-footer-container'), | 595 $('other-options-settings').querySelector('.header-footer-container'), |
584 true); | 596 true); |
585 }); | 597 }); |
586 | 598 |
587 // Test that the color settings are set according to the printer capabilities. | 599 // Test that the color settings, one option, standard monochrome. |
588 TEST_F('PrintPreviewWebUITest', 'TestColorSettingsTrue', function() { | 600 TEST_F('PrintPreviewWebUITest', 'TestColorSettingsMonochrome', function() { |
589 var initialSettingsSetEvent = | 601 this.setUpPreview(); |
590 new Event(print_preview.NativeLayer.EventType.INITIAL_SETTINGS_SET); | |
591 initialSettingsSetEvent.initialSettings = this.initialSettings_; | |
592 this.nativeLayer_.dispatchEvent(initialSettingsSetEvent); | |
593 | 602 |
594 var localDestsSetEvent = | 603 // Only one option, standard monochrome. |
595 new Event(print_preview.NativeLayer.EventType.LOCAL_DESTINATIONS_SET); | |
596 localDestsSetEvent.destinationInfos = this.localDestinationInfos_; | |
597 this.nativeLayer_.dispatchEvent(localDestsSetEvent); | |
598 | |
599 var capsSetEvent = | |
600 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); | |
601 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); | |
602 this.nativeLayer_.dispatchEvent(capsSetEvent); | |
603 | |
604 checkSectionVisible($('color-settings'), true); | |
605 | |
606 var colorOption = $('color-settings').querySelector('.color-option'); | |
607 var bwOption = $('color-settings').querySelector('.bw-option'); | |
608 expectTrue(colorOption.checked); | |
609 expectFalse(bwOption.checked); | |
610 }); | |
611 | |
612 //Test that the color settings are set according to the printer capabilities. | |
613 TEST_F('PrintPreviewWebUITest', 'TestColorSettingsFalse', function() { | |
614 var initialSettingsSetEvent = | |
615 new Event(print_preview.NativeLayer.EventType.INITIAL_SETTINGS_SET); | |
616 initialSettingsSetEvent.initialSettings = this.initialSettings_; | |
617 this.nativeLayer_.dispatchEvent(initialSettingsSetEvent); | |
618 | |
619 var localDestsSetEvent = | |
620 new Event(print_preview.NativeLayer.EventType.LOCAL_DESTINATIONS_SET); | |
621 localDestsSetEvent.destinationInfos = this.localDestinationInfos_; | |
622 this.nativeLayer_.dispatchEvent(localDestsSetEvent); | |
623 | |
624 var capsSetEvent = | 604 var capsSetEvent = |
625 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); | 605 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); |
626 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); | 606 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); |
627 capsSetEvent.settingsInfo.capabilities.printer.color = { | 607 capsSetEvent.settingsInfo.capabilities.printer.color = { |
628 "option": [ | 608 "option": [ |
629 {"is_default": true, "type": "STANDARD_MONOCHROME"} | 609 {"is_default": true, "type": "STANDARD_MONOCHROME"} |
630 ] | 610 ] |
631 }; | 611 }; |
632 this.nativeLayer_.dispatchEvent(capsSetEvent); | 612 this.nativeLayer_.dispatchEvent(capsSetEvent); |
633 | 613 |
634 checkSectionVisible($('color-settings'), false); | 614 checkSectionVisible($('color-settings'), false); |
| 615 }); |
635 | 616 |
636 var colorOption = $('color-settings').querySelector('.color-option'); | 617 // Test that the color settings, one option, custom monochrome. |
637 var bwOption = $('color-settings').querySelector('.bw-option'); | 618 TEST_F('PrintPreviewWebUITest', 'TestColorSettingsCustomMonochrome', |
638 expectFalse(colorOption.checked); | 619 function() { |
639 expectTrue(bwOption.checked); | 620 this.setUpPreview(); |
| 621 |
| 622 // Only one option, standard monochrome. |
| 623 var capsSetEvent = |
| 624 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); |
| 625 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); |
| 626 capsSetEvent.settingsInfo.capabilities.printer.color = { |
| 627 "option": [ |
| 628 {"is_default": true, "type": "CUSTOM_MONOCHROME", "vendor_id": "42"} |
| 629 ] |
| 630 }; |
| 631 this.nativeLayer_.dispatchEvent(capsSetEvent); |
| 632 |
| 633 checkSectionVisible($('color-settings'), false); |
| 634 }); |
| 635 |
| 636 // Test that the color settings, one option, standard color. |
| 637 TEST_F('PrintPreviewWebUITest', 'TestColorSettingsColor', function() { |
| 638 this.setUpPreview(); |
| 639 |
| 640 var capsSetEvent = |
| 641 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); |
| 642 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); |
| 643 capsSetEvent.settingsInfo.capabilities.printer.color = { |
| 644 "option": [ |
| 645 {"is_default": true, "type": "STANDARD_COLOR"} |
| 646 ] |
| 647 }; |
| 648 this.nativeLayer_.dispatchEvent(capsSetEvent); |
| 649 |
| 650 checkSectionVisible($('color-settings'), false); |
| 651 }); |
| 652 |
| 653 // Test that the color settings, one option, custom color. |
| 654 TEST_F('PrintPreviewWebUITest', 'TestColorSettingsCustomColor', function() { |
| 655 this.setUpPreview(); |
| 656 |
| 657 var capsSetEvent = |
| 658 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); |
| 659 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); |
| 660 capsSetEvent.settingsInfo.capabilities.printer.color = { |
| 661 "option": [ |
| 662 {"is_default": true, "type": "CUSTOM_COLOR", "vendor_id": "42"} |
| 663 ] |
| 664 }; |
| 665 this.nativeLayer_.dispatchEvent(capsSetEvent); |
| 666 |
| 667 checkSectionVisible($('color-settings'), false); |
| 668 }); |
| 669 |
| 670 // Test that the color settings, two options, both standard, defaults to color. |
| 671 TEST_F('PrintPreviewWebUITest', 'TestColorSettingsBothStandardDefaultColor', |
| 672 function() { |
| 673 this.setUpPreview(); |
| 674 |
| 675 var capsSetEvent = |
| 676 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); |
| 677 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); |
| 678 capsSetEvent.settingsInfo.capabilities.printer.color = { |
| 679 "option": [ |
| 680 {"type": "STANDARD_MONOCHROME"}, |
| 681 {"is_default": true, "type": "STANDARD_COLOR"} |
| 682 ] |
| 683 }; |
| 684 this.nativeLayer_.dispatchEvent(capsSetEvent); |
| 685 |
| 686 checkSectionVisible($('color-settings'), true); |
| 687 expectTrue($('color-settings').querySelector('.color-option').checked); |
| 688 expectFalse($('color-settings').querySelector('.bw-option').checked); |
| 689 }); |
| 690 |
| 691 // Test that the color settings, two options, both standard, defaults to |
| 692 // monochrome. |
| 693 TEST_F('PrintPreviewWebUITest', |
| 694 'TestColorSettingsBothStandardDefaultMonochrome', function() { |
| 695 this.setUpPreview(); |
| 696 |
| 697 var capsSetEvent = |
| 698 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); |
| 699 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); |
| 700 capsSetEvent.settingsInfo.capabilities.printer.color = { |
| 701 "option": [ |
| 702 {"is_default": true, "type": "STANDARD_MONOCHROME"}, |
| 703 {"type": "STANDARD_COLOR"} |
| 704 ] |
| 705 }; |
| 706 this.nativeLayer_.dispatchEvent(capsSetEvent); |
| 707 |
| 708 checkSectionVisible($('color-settings'), true); |
| 709 expectFalse($('color-settings').querySelector('.color-option').checked); |
| 710 expectTrue($('color-settings').querySelector('.bw-option').checked); |
| 711 }); |
| 712 |
| 713 // Test that the color settings, two options, both custom, defaults to color. |
| 714 TEST_F('PrintPreviewWebUITest', |
| 715 'TestColorSettingsBothCustomDefaultColor', function() { |
| 716 this.setUpPreview(); |
| 717 |
| 718 var capsSetEvent = |
| 719 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); |
| 720 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); |
| 721 capsSetEvent.settingsInfo.capabilities.printer.color = { |
| 722 "option": [ |
| 723 {"type": "CUSTOM_MONOCHROME", "vendor_id": "42"}, |
| 724 {"is_default": true, "type": "CUSTOM_COLOR", "vendor_id": "43"} |
| 725 ] |
| 726 }; |
| 727 this.nativeLayer_.dispatchEvent(capsSetEvent); |
| 728 |
| 729 checkSectionVisible($('color-settings'), true); |
| 730 expectTrue($('color-settings').querySelector('.color-option').checked); |
| 731 expectFalse($('color-settings').querySelector('.bw-option').checked); |
640 }); | 732 }); |
641 | 733 |
642 // Test to verify that duplex settings are set according to the printer | 734 // Test to verify that duplex settings are set according to the printer |
643 // capabilities. | 735 // capabilities. |
644 TEST_F('PrintPreviewWebUITest', 'TestDuplexSettingsTrue', function() { | 736 TEST_F('PrintPreviewWebUITest', 'TestDuplexSettingsTrue', function() { |
645 var initialSettingsSetEvent = | 737 var initialSettingsSetEvent = |
646 new Event(print_preview.NativeLayer.EventType.INITIAL_SETTINGS_SET); | 738 new Event(print_preview.NativeLayer.EventType.INITIAL_SETTINGS_SET); |
647 initialSettingsSetEvent.initialSettings = this.initialSettings_; | 739 initialSettingsSetEvent.initialSettings = this.initialSettings_; |
648 this.nativeLayer_.dispatchEvent(initialSettingsSetEvent); | 740 this.nativeLayer_.dispatchEvent(initialSettingsSetEvent); |
649 | 741 |
650 var localDestsSetEvent = | 742 var localDestsSetEvent = |
651 new Event(print_preview.NativeLayer.EventType.LOCAL_DESTINATIONS_SET); | 743 new Event(print_preview.NativeLayer.EventType.LOCAL_DESTINATIONS_SET); |
652 localDestsSetEvent.destinationInfos = this.localDestinationInfos_; | 744 localDestsSetEvent.destinationInfos = this.localDestinationInfos_; |
653 this.nativeLayer_.dispatchEvent(localDestsSetEvent); | 745 this.nativeLayer_.dispatchEvent(localDestsSetEvent); |
654 | 746 |
655 var otherOptionsDiv = $('other-options-settings'); | 747 var otherOptionsDiv = $('other-options-settings'); |
656 var duplexDiv = otherOptionsDiv.querySelector('.duplex-container'); | 748 var duplexDiv = otherOptionsDiv.querySelector('.duplex-container'); |
657 var duplexCheckbox = otherOptionsDiv.querySelector('.duplex-checkbox'); | 749 var duplexCheckbox = otherOptionsDiv.querySelector('.duplex-checkbox'); |
658 | 750 |
659 var capsSetEvent = | 751 var capsSetEvent = |
660 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); | 752 new Event(print_preview.NativeLayer.EventType.CAPABILITIES_SET); |
661 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); | 753 capsSetEvent.settingsInfo = getCddTemplate("FooDevice"); |
662 this.nativeLayer_.dispatchEvent(capsSetEvent); | 754 this.nativeLayer_.dispatchEvent(capsSetEvent); |
663 | 755 |
664 checkSectionVisible(otherOptionsDiv, true); | 756 checkSectionVisible(otherOptionsDiv, true); |
665 expectFalse(duplexDiv.hidden); | 757 expectFalse(duplexDiv.hidden); |
666 expectFalse(duplexCheckbox.checked); | 758 expectFalse(duplexCheckbox.checked); |
667 }); | 759 }); |
668 | 760 |
669 //Test to verify that duplex settings are set according to the printer | 761 // Test to verify that duplex settings are set according to the printer |
670 //capabilities. | 762 // capabilities. |
671 TEST_F('PrintPreviewWebUITest', 'TestDuplexSettingsFalse', function() { | 763 TEST_F('PrintPreviewWebUITest', 'TestDuplexSettingsFalse', function() { |
672 var initialSettingsSetEvent = | 764 var initialSettingsSetEvent = |
673 new Event(print_preview.NativeLayer.EventType.INITIAL_SETTINGS_SET); | 765 new Event(print_preview.NativeLayer.EventType.INITIAL_SETTINGS_SET); |
674 initialSettingsSetEvent.initialSettings = this.initialSettings_; | 766 initialSettingsSetEvent.initialSettings = this.initialSettings_; |
675 this.nativeLayer_.dispatchEvent(initialSettingsSetEvent); | 767 this.nativeLayer_.dispatchEvent(initialSettingsSetEvent); |
676 | 768 |
677 var localDestsSetEvent = | 769 var localDestsSetEvent = |
678 new Event(print_preview.NativeLayer.EventType.LOCAL_DESTINATIONS_SET); | 770 new Event(print_preview.NativeLayer.EventType.LOCAL_DESTINATIONS_SET); |
679 localDestsSetEvent.destinationInfos = this.localDestinationInfos_; | 771 localDestsSetEvent.destinationInfos = this.localDestinationInfos_; |
680 this.nativeLayer_.dispatchEvent(localDestsSetEvent); | 772 this.nativeLayer_.dispatchEvent(localDestsSetEvent); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
749 expectEquals(true, previewFailedMessageEl.hidden); | 841 expectEquals(true, previewFailedMessageEl.hidden); |
750 | 842 |
751 var printFailedMessageEl = | 843 var printFailedMessageEl = |
752 previewAreaEl.getElementsByClassName('preview-area-print-failed')[0]; | 844 previewAreaEl.getElementsByClassName('preview-area-print-failed')[0]; |
753 expectEquals(true, printFailedMessageEl.hidden); | 845 expectEquals(true, printFailedMessageEl.hidden); |
754 | 846 |
755 var customMessageEl = | 847 var customMessageEl = |
756 previewAreaEl.getElementsByClassName('preview-area-custom-message')[0]; | 848 previewAreaEl.getElementsByClassName('preview-area-custom-message')[0]; |
757 expectEquals(false, customMessageEl.hidden); | 849 expectEquals(false, customMessageEl.hidden); |
758 }); | 850 }); |
OLD | NEW |