Chromium Code Reviews| Index: chrome/test/data/webui/settings/device_page_tests.js |
| diff --git a/chrome/test/data/webui/settings/device_page_tests.js b/chrome/test/data/webui/settings/device_page_tests.js |
| index 227fcfeb362b998d64f4a9bfefae064d592f2c51..c7e678b6e3710afd86212056819a0d343088a087 100644 |
| --- a/chrome/test/data/webui/settings/device_page_tests.js |
| +++ b/chrome/test/data/webui/settings/device_page_tests.js |
| @@ -20,6 +20,7 @@ cr.define('device_page_tests', function() { |
| function TestDevicePageBrowserProxy() { |
| this.keyboardShortcutsOverlayShown_ = 0; |
| this.updatePowerStatusCalled_ = 0; |
| + this.requestPowerManagementSettingsCalled_ = 0; |
| this.onNoteTakingAppsUpdated_ = null; |
| this.requestNoteTakingApps_ = 0; |
| this.setPreferredNoteTakingApp_ = ''; |
| @@ -65,6 +66,21 @@ cr.define('device_page_tests', function() { |
| this.powerSourceId_ = powerSourceId; |
| }, |
| + /** @override */ |
| + requestPowerManagementSettings: function() { |
| + this.requestPowerManagementSettingsCalled_++; |
| + }, |
| + |
| + /** @override */ |
| + setIdleBehavior: function(behavior) { |
| + this.idleBehavior_ = behavior; |
| + }, |
| + |
| + /** @override */ |
| + setLidClosedBehavior: function(behavior) { |
| + this.lidClosedBehavior_ = behavior; |
| + }, |
| + |
| /** @override */ |
| setNoteTakingAppsUpdatedCallback: function(callback) { |
| this.onNoteTakingAppsUpdated_ = callback; |
| @@ -241,6 +257,27 @@ cr.define('device_page_tests', function() { |
| }); |
| }; |
| + /** |
| + * @param {settings.IdleBehavior} idleBehavior |
| + * @param {boolean} idleManaged |
| + * @param {settings.LidClosedBehavior} lidClosedBehavior |
| + * @param {boolean} lidClosedManaged |
| + * @param {boolean} hasLid |
| + */ |
| + function sendPowerManagementSettings(idleBehavior, idleManaged, |
| + lidClosedBehavior, lidClosedManaged, |
| + hasLid) { |
| + cr.webUIListenerCallback( |
| + 'power-management-settings-changed', |
| + { |
| + idleBehavior: idleBehavior, |
| + idleManaged: idleManaged, |
| + lidClosedBehavior: lidClosedBehavior, |
| + lidClosedManaged: lidClosedManaged, |
| + hasLid: hasLid, |
| + }); |
|
michaelpg
2017/06/16 01:35:01
after changing the handler to this.async (prior co
|
| + }; |
| + |
| /** |
| * @param {!HTMLElement} pointersPage |
| * @param {boolean} expected |
| @@ -593,6 +630,13 @@ cr.define('device_page_tests', function() { |
| } |
| suite('no power settings', function() { |
| + suiteSetup(function() { |
| + // Never show power settings. |
| + loadTimeData.overrideValues({ |
| + enablePowerSettings: false, |
| + }); |
| + }); |
| + |
| test('power row hidden', function() { |
| assertEquals(null, devicePage.$$('#powerRow')); |
| assertEquals(0, |
| @@ -606,6 +650,8 @@ cr.define('device_page_tests', function() { |
| var powerSourceRow; |
| var powerSourceWrapper; |
| var powerSourceSelect; |
| + var idleSelect; |
| + var lidClosedSelect; |
| suiteSetup(function() { |
| // Always show power settings. |
| @@ -626,6 +672,17 @@ cr.define('device_page_tests', function() { |
| 1, |
| settings.DevicePageBrowserProxyImpl.getInstance() |
| .updatePowerStatusCalled_); |
| + |
| + idleSelect = assert(powerPage.$$('#idleSelect')); |
| + lidClosedSelect = assert(powerPage.$$('#lidClosedSelect')); |
| + |
| + assertEquals( |
| + 1, |
| + settings.DevicePageBrowserProxyImpl.getInstance() |
| + .requestPowerManagementSettingsCalled_); |
|
michaelpg
2017/06/16 01:35:00
nit: make this not private (no underscore), or add
Daniel Erat
2017/06/16 02:34:25
Acknowledged.
|
| + sendPowerManagementSettings( |
| + settings.IdleBehavior.DISPLAY_OFF_SLEEP, false, |
|
michaelpg
2017/06/16 01:35:00
nit: add comments for parameter names for these bo
Daniel Erat
2017/06/16 02:34:25
Done.
|
| + settings.LidClosedBehavior.SUSPEND, false, true); |
| }); |
| }); |
| @@ -700,6 +757,84 @@ cr.define('device_page_tests', function() { |
| powerSource.id, |
| settings.DevicePageBrowserProxyImpl.getInstance().powerSourceId_); |
| }); |
| + |
| + test('set idle behavior', function() { |
| + idleSelect.value = settings.IdleBehavior.DISPLAY_ON; |
| + idleSelect.dispatchEvent(new CustomEvent('change')); |
|
michaelpg
2017/06/16 01:35:00
maybe make a helper function selectValue(selectId,
Daniel Erat
2017/06/16 02:34:25
Done.
|
| + Polymer.dom.flush(); |
| + expectEquals( |
| + settings.IdleBehavior.DISPLAY_ON, |
| + settings.DevicePageBrowserProxyImpl.getInstance().idleBehavior_); |
| + |
| + idleSelect.value = settings.IdleBehavior.DISPLAY_OFF_STAY_AWAKE; |
| + idleSelect.dispatchEvent(new CustomEvent('change')); |
| + Polymer.dom.flush(); |
| + expectEquals( |
| + settings.IdleBehavior.DISPLAY_OFF_STAY_AWAKE, |
| + settings.DevicePageBrowserProxyImpl.getInstance().idleBehavior_); |
| + }); |
| + |
| + test('set lid behavior', function() { |
| + lidClosedSelect.value = settings.LidClosedBehavior.DO_NOTHING; |
| + lidClosedSelect.dispatchEvent(new CustomEvent('change')); |
| + Polymer.dom.flush(); |
| + expectEquals( |
| + settings.LidClosedBehavior.DO_NOTHING, |
| + settings.DevicePageBrowserProxyImpl.getInstance() |
| + .lidClosedBehavior_); |
| + |
| + lidClosedSelect.value = settings.LidClosedBehavior.SUSPEND; |
| + lidClosedSelect.dispatchEvent(new CustomEvent('change')); |
| + Polymer.dom.flush(); |
| + expectEquals( |
| + settings.LidClosedBehavior.SUSPEND, |
| + settings.DevicePageBrowserProxyImpl.getInstance() |
| + .lidClosedBehavior_); |
| + }); |
| + |
| + test('display idle and lid behavior', function() { |
| + sendPowerManagementSettings( |
| + settings.IdleBehavior.DISPLAY_ON, false, |
| + settings.LidClosedBehavior.DO_NOTHING, false, true); |
| + expectEquals( |
| + settings.IdleBehavior.DISPLAY_ON.toString(), idleSelect.value); |
| + expectFalse(idleSelect.disabled); |
| + expectEquals(null, powerPage.$$('#idleManagedIndicator')); |
| + expectEquals( |
| + settings.LidClosedBehavior.DO_NOTHING.toString(), |
| + lidClosedSelect.value); |
| + expectFalse(lidClosedSelect.disabled); |
| + expectEquals(null, powerPage.$$('#lidClosedManagedIndicator')); |
| + |
| + sendPowerManagementSettings( |
| + settings.IdleBehavior.DISPLAY_OFF_STAY_AWAKE, false, |
| + settings.LidClosedBehavior.SUSPEND, false, true); |
| + expectEquals( |
| + settings.IdleBehavior.DISPLAY_OFF_STAY_AWAKE.toString(), |
| + idleSelect.value); |
| + expectFalse(idleSelect.disabled); |
| + expectEquals(null, powerPage.$$('#idleManagedIndicator')); |
| + expectEquals( |
| + settings.LidClosedBehavior.SUSPEND.toString(), |
| + lidClosedSelect.value); |
| + expectFalse(lidClosedSelect.disabled); |
| + expectEquals(null, powerPage.$$('#lidClosedManagedIndicator')); |
| + |
| + // When settings are managed, the selects should be disabled and the |
| + // indicators should be shown. |
| + sendPowerManagementSettings( |
| + settings.IdleBehavior.OTHER, true, |
| + settings.LidClosedBehavior.SUSPEND, true, true); |
| + expectEquals( |
| + settings.IdleBehavior.OTHER.toString(), idleSelect.value); |
| + expectTrue(idleSelect.disabled); |
| + expectTrue(powerPage.$$('#idleManagedIndicator') != null); |
|
michaelpg
2017/06/16 01:35:00
expectNotEquals (or often we just expectTrue(!!foo
Daniel Erat
2017/06/16 02:34:25
Done.
|
| + expectEquals( |
| + settings.LidClosedBehavior.SUSPEND.toString(), |
| + lidClosedSelect.value); |
| + expectTrue(lidClosedSelect.disabled); |
| + expectTrue(powerPage.$$('#lidClosedManagedIndicator') != null); |
| + }); |
| }); |
| }); |