Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(118)

Side by Side Diff: chrome/test/data/webui/settings/about_page_tests.js

Issue 2538043006: Settings: About: Fix cros channel info. (Closed)
Patch Set: . Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 cr.define('settings_about_page', function() { 5 cr.define('settings_about_page', function() {
6 /** 6 /**
7 * @constructor 7 * @constructor
8 * @implements {settings.AboutPageBrowserProxy} 8 * @implements {settings.AboutPageBrowserProxy}
9 * @extends {settings.TestBrowserProxy} 9 * @extends {settings.TestBrowserProxy}
10 */ 10 */
11 var TestAboutPageBrowserProxy = function() { 11 var TestAboutPageBrowserProxy = function() {
12 var methodNames = [ 12 var methodNames = [
13 'pageReady', 13 'pageReady',
14 'refreshUpdateStatus', 14 'refreshUpdateStatus',
15 'openHelpPage', 15 'openHelpPage',
16 'openFeedbackDialog', 16 'openFeedbackDialog',
17 ]; 17 ];
18 18
19 if (cr.isChromeOS) { 19 if (cr.isChromeOS) {
20 methodNames.push( 20 methodNames.push(
21 'getCurrentChannel', 21 'getCurrentChannel',
22 'getTargetChannel', 22 'getTargetChannel',
23 'getVersionInfo', 23 'getVersionInfo',
24 'getCanChangeChannel',
24 'getRegulatoryInfo', 25 'getRegulatoryInfo',
25 'setChannel'); 26 'setChannel');
26 } 27 }
27 28
28 settings.TestBrowserProxy.call(this, methodNames); 29 settings.TestBrowserProxy.call(this, methodNames);
29 30
30 /** @private {!UpdateStatus} */ 31 /** @private {!UpdateStatus} */
31 this.updateStatus_ = UpdateStatus.UPDATED; 32 this.updateStatus_ = UpdateStatus.UPDATED;
32 33
33 if (cr.isChromeOS) { 34 if (cr.isChromeOS) {
34 /** @type {!VersionInfo} */ 35 /** @type {!VersionInfo} */
35 this.versionInfo_ = { 36 this.versionInfo_ = {
36 arcVersion: '', 37 arcVersion: '',
37 osFirmware: '', 38 osFirmware: '',
38 osVersion: '', 39 osVersion: '',
39 }; 40 };
40 41
42 /** @type {boolean} */
dpapad 2016/12/05 18:52:27 @private
stevenjb 2016/12/06 20:38:03 Done.
43 this.canChangeChannel_ = true;
44
41 /** @private {!BrowserChannel} */ 45 /** @private {!BrowserChannel} */
42 this.currentChannel_ = BrowserChannel.BETA; 46 this.currentChannel_ = BrowserChannel.BETA;
43 47
44 /** @private {!BrowserChannel} */ 48 /** @private {!BrowserChannel} */
45 this.targetChannel_ = BrowserChannel.BETA; 49 this.targetChannel_ = BrowserChannel.BETA;
46 50
47 /** @private {?RegulatoryInfo} */ 51 /** @private {?RegulatoryInfo} */
48 this.regulatoryInfo_ = null; 52 this.regulatoryInfo_ = null;
49 } 53 }
50 }; 54 };
(...skipping 30 matching lines...) Expand all
81 this.methodCalled('openHelpPage'); 85 this.methodCalled('openHelpPage');
82 }, 86 },
83 }; 87 };
84 88
85 if (cr.isChromeOS) { 89 if (cr.isChromeOS) {
86 /** @param {!VersionInfo} */ 90 /** @param {!VersionInfo} */
87 TestAboutPageBrowserProxy.prototype.setVersionInfo = function(versionInfo) { 91 TestAboutPageBrowserProxy.prototype.setVersionInfo = function(versionInfo) {
88 this.versionInfo_ = versionInfo; 92 this.versionInfo_ = versionInfo;
89 }; 93 };
90 94
95 /** @param {boolean} */
96 TestAboutPageBrowserProxy.prototype.setCanChangeChannel = function(
97 canChangeChannel) {
98 this.canChangeChannel_ = canChangeChannel;
99 };
100
91 /** 101 /**
92 * @param {!BrowserChannel} current 102 * @param {!BrowserChannel} current
93 * @param {!BrowserChannel} target 103 * @param {!BrowserChannel} target
94 */ 104 */
95 TestAboutPageBrowserProxy.prototype.setChannels = function( 105 TestAboutPageBrowserProxy.prototype.setChannels = function(
96 current, target) { 106 current, target) {
97 this.currentChannel_ = current; 107 this.currentChannel_ = current;
98 this.targetChannel_ = target; 108 this.targetChannel_ = target;
99 }; 109 };
100 110
(...skipping 16 matching lines...) Expand all
117 return Promise.resolve(this.targetChannel_); 127 return Promise.resolve(this.targetChannel_);
118 }; 128 };
119 129
120 /** @override */ 130 /** @override */
121 TestAboutPageBrowserProxy.prototype.getVersionInfo = function() { 131 TestAboutPageBrowserProxy.prototype.getVersionInfo = function() {
122 this.methodCalled('getVersionInfo'); 132 this.methodCalled('getVersionInfo');
123 return Promise.resolve(this.versionInfo_); 133 return Promise.resolve(this.versionInfo_);
124 }; 134 };
125 135
126 /** @override */ 136 /** @override */
137 TestAboutPageBrowserProxy.prototype.getCanChangeChannel = function() {
138 this.methodCalled('getCanChangeChannel');
139 return Promise.resolve(this.canChangeChannel_);
140 };
141
142 /** @override */
127 TestAboutPageBrowserProxy.prototype.getRegulatoryInfo = function() { 143 TestAboutPageBrowserProxy.prototype.getRegulatoryInfo = function() {
128 this.methodCalled('getRegulatoryInfo'); 144 this.methodCalled('getRegulatoryInfo');
129 return Promise.resolve(this.regulatoryInfo_); 145 return Promise.resolve(this.regulatoryInfo_);
130 }; 146 };
131 147
132 /** @override */ 148 /** @override */
133 TestAboutPageBrowserProxy.prototype.setChannel = function( 149 TestAboutPageBrowserProxy.prototype.setChannel = function(
134 channel, isPowerwashAllowed) { 150 channel, isPowerwashAllowed) {
135 this.methodCalled('setChannel', [channel, isPowerwashAllowed]); 151 this.methodCalled('setChannel', [channel, isPowerwashAllowed]);
136 }; 152 };
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
573 osVersion: 'dummyOsVersion', 589 osVersion: 'dummyOsVersion',
574 }; 590 };
575 browserProxy.setVersionInfo(versionInfo); 591 browserProxy.setVersionInfo(versionInfo);
576 592
577 page = document.createElement('settings-detailed-build-info'); 593 page = document.createElement('settings-detailed-build-info');
578 document.body.appendChild(page); 594 document.body.appendChild(page);
579 595
580 return Promise.all([ 596 return Promise.all([
581 browserProxy.whenCalled('pageReady'), 597 browserProxy.whenCalled('pageReady'),
582 browserProxy.whenCalled('getVersionInfo'), 598 browserProxy.whenCalled('getVersionInfo'),
583 browserProxy.whenCalled('getCurrentChannel'), 599 browserProxy.whenCalled('getTargetChannel'),
584 ]).then(function() { 600 ]).then(function() {
585 assertEquals(versionInfo.arcVersion, page.$.arcVersion.textContent); 601 assertEquals(versionInfo.arcVersion, page.$.arcVersion.textContent);
586 assertEquals(versionInfo.osVersion, page.$.osVersion.textContent); 602 assertEquals(versionInfo.osVersion, page.$.osVersion.textContent);
587 assertEquals(versionInfo.osFirmware, page.$.osFirmware.textContent); 603 assertEquals(versionInfo.osFirmware, page.$.osFirmware.textContent);
588 }); 604 });
589 }); 605 });
590 606
591 /** 607 /**
592 * Checks whether the "change channel" button state (enabled/disabled) 608 * Checks whether the "change channel" button state (enabled/disabled)
593 * correctly reflects whether the user is allowed to change channel (as 609 * correctly reflects whether the user is allowed to change channel (as
594 * dictated by the browser via loadTimeData boolean). 610 * dictated by the browser via loadTimeData boolean).
595 * @param {boolean} canChangeChannel Whether to simulate the case where 611 * @param {boolean} canChangeChannel Whether to simulate the case where
596 * changing channels is allowed. 612 * changing channels is allowed.
dpapad 2016/12/05 18:52:27 @return {!Promise} missing
597 */ 613 */
598 function checkChangeChannelButton(canChangeChannel) { 614 function checkChangeChannelButton(canChangeChannel) {
599 loadTimeData.overrideValues({ 615 browserProxy.setCanChangeChannel(canChangeChannel);
600 aboutCanChangeChannel: canChangeChannel
601 });
602 page = document.createElement('settings-detailed-build-info'); 616 page = document.createElement('settings-detailed-build-info');
603 document.body.appendChild(page); 617 document.body.appendChild(page);
604 618 return Promise.all([
605 var changeChannelButton = page.$$('paper-button'); 619 browserProxy.whenCalled('getCanChangeChannel'),
dpapad 2016/12/05 18:52:27 Why use Promise.all() for a single Promise?
stevenjb 2016/12/06 20:38:03 Done.
606 assertTrue(!!changeChannelButton); 620 ]).then(function() {
607 assertEquals(canChangeChannel, !changeChannelButton.disabled) 621 var changeChannelButton = page.$$('paper-button');
622 assertTrue(!!changeChannelButton);
623 assertEquals(canChangeChannel, !changeChannelButton.disabled);
624 });
608 } 625 }
609 626
610 test('ChangeChannel_Enabled', function() { 627 test('ChangeChannel_Enabled', function() {
611 checkChangeChannelButton(true); 628 return checkChangeChannelButton(true);
612 }); 629 });
613 630
614 test('ChangeChannel_Disabled', function() { 631 test('ChangeChannel_Disabled', function() {
615 checkChangeChannelButton(false); 632 return checkChangeChannelButton(false);
616 }); 633 });
617 }); 634 });
618 } 635 }
619 636
620 function registerChannelSwitcherDialogTests() { 637 function registerChannelSwitcherDialogTests() {
621 suite('ChannelSwitcherDialogTest', function() { 638 suite('ChannelSwitcherDialogTest', function() {
622 var dialog = null; 639 var dialog = null;
623 var radioButtons = null; 640 var radioButtons = null;
624 var browserProxy = null; 641 var browserProxy = null;
625 var currentChannel = BrowserChannel.BETA; 642 var currentChannel = BrowserChannel.BETA;
626 643
627 setup(function() { 644 setup(function() {
628 browserProxy = new TestAboutPageBrowserProxy(); 645 browserProxy = new TestAboutPageBrowserProxy();
629 browserProxy.setChannels(currentChannel, currentChannel); 646 browserProxy.setChannels(currentChannel, currentChannel);
630 settings.AboutPageBrowserProxyImpl.instance_ = browserProxy; 647 settings.AboutPageBrowserProxyImpl.instance_ = browserProxy;
631 PolymerTest.clearBody(); 648 PolymerTest.clearBody();
632 dialog = document.createElement('settings-channel-switcher-dialog'); 649 dialog = document.createElement('settings-channel-switcher-dialog');
633 document.body.appendChild(dialog); 650 document.body.appendChild(dialog);
634 651
635 radioButtons = dialog.shadowRoot.querySelectorAll( 652 radioButtons = dialog.shadowRoot.querySelectorAll(
636 'paper-radio-button'); 653 'paper-radio-button');
637 assertEquals(3, radioButtons.length); 654 assertEquals(3, radioButtons.length);
638 return browserProxy.whenCalled('getCurrentChannel'); 655 return browserProxy.whenCalled('getTargetChannel');
639 }); 656 });
640 657
641 teardown(function() { dialog.remove(); }); 658 teardown(function() { dialog.remove(); });
642 659
643 test('Initialization', function() { 660 test('Initialization', function() {
644 var radioGroup = dialog.$$('paper-radio-group'); 661 var radioGroup = dialog.$$('paper-radio-group');
645 assertTrue(!!radioGroup); 662 assertTrue(!!radioGroup);
646 assertTrue(!!dialog.$.warning); 663 assertTrue(!!dialog.$.warning);
647 assertTrue(!!dialog.$.changeChannel); 664 assertTrue(!!dialog.$.changeChannel);
648 assertTrue(!!dialog.$.changeChannelAndPowerwash); 665 assertTrue(!!dialog.$.changeChannelAndPowerwash);
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
714 registerTests: function() { 731 registerTests: function() {
715 if (cr.isChromeOS) { 732 if (cr.isChromeOS) {
716 registerDetailedBuildInfoTests(); 733 registerDetailedBuildInfoTests();
717 registerChannelSwitcherDialogTests(); 734 registerChannelSwitcherDialogTests();
718 } 735 }
719 registerAboutPageTests(); 736 registerAboutPageTests();
720 }, 737 },
721 registerOfficialBuildTests: registerOfficialBuildTests, 738 registerOfficialBuildTests: registerOfficialBuildTests,
722 }; 739 };
723 }); 740 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698