Commit 50d053cd authored by Zentaro Kavanagh's avatar Zentaro Kavanagh Committed by Commit Bot

Diagnostics: Wire up the battery card

Bug: 1125150
Test: browser_tests --gtest_filter=DiagnosticsApp*
Change-Id: I9c3b6f06e7fd5c9e1bec009e0845bbbe2668bf67
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2424886
Commit-Queue: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: default avatarBailey Berro <baileyberro@chromium.org>
Cr-Commit-Position: refs/heads/master@{#809860}
parent eab6731f
...@@ -119,12 +119,17 @@ suite('BatteryStatusCardTest', () => { ...@@ -119,12 +119,17 @@ suite('BatteryStatusCardTest', () => {
/** /**
* @param {!BatteryInfo} batteryInfo * @param {!BatteryInfo} batteryInfo
* @param {!BatteryChargeStatus} batteryChargeStatus
* @param {!BatteryHealth} batteryHealth
* @return {!Promise} * @return {!Promise}
*/ */
function initializeBatteryStatusCard(batteryInfo) { function initializeBatteryStatusCard(
batteryInfo, batteryChargeStatus, batteryHealth) {
assertFalse(!!batteryStatusElement); assertFalse(!!batteryStatusElement);
// Initialize the fake data. // Initialize the fake data.
provider.setFakeBatteryChargeStatus(batteryChargeStatus);
provider.setFakeBatteryHealth(batteryHealth);
provider.setFakeBatteryInfo(batteryInfo); provider.setFakeBatteryInfo(batteryInfo);
// Add the battery status card to the DOM. // Add the battery status card to the DOM.
...@@ -136,14 +141,33 @@ suite('BatteryStatusCardTest', () => { ...@@ -136,14 +141,33 @@ suite('BatteryStatusCardTest', () => {
} }
test('BatteryStatusCardPopulated', () => { test('BatteryStatusCardPopulated', () => {
return initializeBatteryStatusCard(fakeBatteryInfo).then(() => { return initializeBatteryStatusCard(
// TODO(zentaro): Update when strings are finalized. fakeBatteryInfo, fakeBatteryChargeStatus, fakeBatteryHealth)
assertEquals( .then(() => {
'Battery Status', batteryStatusElement.$$('#cardTitle').textContent); // TODO(zentaro): Update when strings are finalized.
assertEquals( assertEquals(
fakeBatteryInfo.manufacturer, 'Battery Status',
batteryStatusElement.$$('#manufacturer').textContent); batteryStatusElement.$$('#cardTitle').textContent);
}); assertEquals(
fakeBatteryInfo.manufacturer,
batteryStatusElement.$$('#manufacturer').textContent);
assertEquals(
fakeBatteryHealth[0].charge_full_design_milliamp_hours.toString(),
batteryStatusElement.$$('#chargeFullDesign').textContent);
assertEquals(
fakeBatteryChargeStatus[0]
.charge_full_now_milliamp_hours.toString(),
batteryStatusElement.$$('#chargeFullNow').textContent);
assertEquals(
fakeBatteryChargeStatus[0].charge_now_milliamp_hours.toString(),
batteryStatusElement.$$('#chargeNow').textContent);
assertEquals(
fakeBatteryChargeStatus[0].power_time,
batteryStatusElement.$$('#powerTime').textContent);
assertEquals(
fakeBatteryChargeStatus[0].power_adapter_status.toString(),
batteryStatusElement.$$('#adapterStatus').textContent);
});
}); });
}); });
......
...@@ -8,5 +8,10 @@ ...@@ -8,5 +8,10 @@
</div> </div>
<div slot="body"> <div slot="body">
<div id="manufacturer">[[batteryInfo_.manufacturer]]</div> <div id="manufacturer">[[batteryInfo_.manufacturer]]</div>
<div id="chargeFullDesign">[[batteryHealth_.charge_full_design_milliamp_hours]]</div>
<div id="chargeFullNow">[[batteryChargeStatus_.charge_full_now_milliamp_hours]]</div>
<div id="chargeNow">[[batteryChargeStatus_.charge_now_milliamp_hours]]</div>
<div id="powerTime">[[batteryChargeStatus_.power_time]]</div>
<div id="adapterStatus">[[batteryChargeStatus_.power_adapter_status]]</div>
</div> </div>
</diagnostics-card> </diagnostics-card>
...@@ -6,7 +6,7 @@ import './diagnostics_card.js'; ...@@ -6,7 +6,7 @@ import './diagnostics_card.js';
import './diagnostics_shared_css.js'; import './diagnostics_shared_css.js';
import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {html, Polymer} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {BatteryInfo, SystemDataProviderInterface} from './diagnostics_types.js' import {BatteryChargeStatus, BatteryHealth, BatteryInfo, SystemDataProviderInterface} from './diagnostics_types.js'
import {getSystemDataProvider} from './mojo_interface_provider.js'; import {getSystemDataProvider} from './mojo_interface_provider.js';
/** /**
...@@ -24,6 +24,16 @@ Polymer({ ...@@ -24,6 +24,16 @@ Polymer({
systemDataProvider_: null, systemDataProvider_: null,
properties: { properties: {
/** @private {!BatteryChargeStatus} */
batteryChargeStatus_: {
type: Object,
},
/** @private {!BatteryHealth} */
batteryHealth_: {
type: Object,
},
/** @private {!BatteryInfo} */ /** @private {!BatteryInfo} */
batteryInfo_: { batteryInfo_: {
type: Object, type: Object,
...@@ -34,6 +44,8 @@ Polymer({ ...@@ -34,6 +44,8 @@ Polymer({
created() { created() {
this.systemDataProvider_ = getSystemDataProvider(); this.systemDataProvider_ = getSystemDataProvider();
this.fetchBatteryInfo_(); this.fetchBatteryInfo_();
this.observeBatteryChargeStatus_();
this.observeBatteryHealth_();
}, },
/** @private */ /** @private */
...@@ -50,4 +62,30 @@ Polymer({ ...@@ -50,4 +62,30 @@ Polymer({
this.batteryInfo_ = batteryInfo; this.batteryInfo_ = batteryInfo;
}, },
/** @private */
observeBatteryChargeStatus_() {
this.systemDataProvider_.observeBatteryChargeStatus(this);
},
/**
* Implements BatteryChargeStatusObserver.onBatteryChargeStatusUpdated()
* @param {!BatteryChargeStatus} batteryChargeStatus
*/
onBatteryChargeStatusUpdated(batteryChargeStatus) {
this.batteryChargeStatus_ = batteryChargeStatus;
},
/** @private */
observeBatteryHealth_() {
this.systemDataProvider_.observeBatteryHealth(this);
},
/**
* Implements BatteryHealthObserver.onBatteryHealthUpdated()
* @param {!BatteryHealth} batteryHealth
*/
onBatteryHealthUpdated(batteryHealth) {
this.batteryHealth_ = batteryHealth;
},
}); });
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
import {assert} from 'chrome://resources/js/assert.m.js'; import {assert} from 'chrome://resources/js/assert.m.js';
import {SystemDataProviderInterface, SystemInfo} from './diagnostics_types.js' import {SystemDataProviderInterface, SystemInfo} from './diagnostics_types.js'
import {fakeBatteryInfo, fakeCpuUsage, fakeMemoryUsage, fakeSystemInfo} from './fake_data.js' import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo, fakeCpuUsage, fakeMemoryUsage, fakeSystemInfo} from './fake_data.js'
import {FakeSystemDataProvider} from './fake_system_data_provider.js' import {FakeSystemDataProvider} from './fake_system_data_provider.js'
/** /**
...@@ -22,6 +22,8 @@ function setupFakeSystemDataProvider_() { ...@@ -22,6 +22,8 @@ function setupFakeSystemDataProvider_() {
let provider = new FakeSystemDataProvider(); let provider = new FakeSystemDataProvider();
// Setup fake method data. // Setup fake method data.
provider.setFakeBatteryChargeStatus(fakeBatteryChargeStatus);
provider.setFakeBatteryHealth(fakeBatteryHealth);
provider.setFakeBatteryInfo(fakeBatteryInfo); provider.setFakeBatteryInfo(fakeBatteryInfo);
provider.setFakeCpuUsage(fakeCpuUsage); provider.setFakeCpuUsage(fakeCpuUsage);
provider.setFakeMemoryUsage(fakeMemoryUsage); provider.setFakeMemoryUsage(fakeMemoryUsage);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment