Commit 27f42994 authored by Zentaro Kavanagh's avatar Zentaro Kavanagh Committed by Commit Bot

Diagnostics: Wire CPU usage to CPU card

Bug: 1125150
Test: browser_tests --gtest_filter=DiagnosticsApp*
Change-Id: Id975e82ce1fd43dfb7bf3ce9debffe9efd848581
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2420535
Commit-Queue: Zentaro Kavanagh <zentaro@chromium.org>
Reviewed-by: default avatarBailey Berro <baileyberro@chromium.org>
Cr-Commit-Position: refs/heads/master@{#809621}
parent 821323c7
...@@ -171,9 +171,16 @@ suite('CpuCardTest', () => { ...@@ -171,9 +171,16 @@ suite('CpuCardTest', () => {
provider = null; provider = null;
}); });
function initializeCpuCard() { /**
* @param {!CpuUsage} cpuUsage
* @return {!Promise}
*/
function initializeCpuCard(cpuUsage) {
assertFalse(!!cpuElement); assertFalse(!!cpuElement);
// Initialize the fake data.
provider.setFakeCpuUsage(cpuUsage);
// Add the CPU card to the DOM. // Add the CPU card to the DOM.
cpuElement = document.createElement('cpu-card'); cpuElement = document.createElement('cpu-card');
assertTrue(!!cpuElement); assertTrue(!!cpuElement);
...@@ -183,9 +190,19 @@ suite('CpuCardTest', () => { ...@@ -183,9 +190,19 @@ suite('CpuCardTest', () => {
} }
test('CpuCardPopulated', () => { test('CpuCardPopulated', () => {
return initializeCpuCard().then(() => { return initializeCpuCard(fakeCpuUsage).then(() => {
// TODO(zentaro): Update when strings are finalized. // TODO(zentaro): Update when strings are finalized.
assertEquals('CPU', cpuElement.$$('#cardTitle').textContent); assertEquals('CPU', cpuElement.$$('#cardTitle').textContent);
assertEquals(
fakeCpuUsage[0].cpu_temp_degrees_celcius.toString(),
cpuElement.$$('#cpuTemp').textContent);
assertEquals(
fakeCpuUsage[0].percent_usage_user.toString(),
cpuElement.$$('#cpuUsageUser').textContent);
assertEquals(
fakeCpuUsage[0].percent_usage_system.toString(),
cpuElement.$$('#cpuUsageSystem').textContent);
}); });
}); });
}); });
......
...@@ -7,5 +7,8 @@ ...@@ -7,5 +7,8 @@
<div id="cardTitle">CPU</div> <div id="cardTitle">CPU</div>
</div> </div>
<div slot="body"> <div slot="body">
<div id="cpuTemp">[[cpuUsage_.cpu_temp_degrees_celcius]]</div>
<div id="cpuUsageUser">[[cpuUsage_.percent_usage_user]]</div>
<div id="cpuUsageSystem">[[cpuUsage_.percent_usage_system]]</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 {SystemDataProviderInterface} from './diagnostics_types.js' import {CpuUsage, SystemDataProviderInterface} from './diagnostics_types.js'
import {getSystemDataProvider} from './mojo_interface_provider.js'; import {getSystemDataProvider} from './mojo_interface_provider.js';
/** /**
...@@ -23,9 +23,30 @@ Polymer({ ...@@ -23,9 +23,30 @@ Polymer({
*/ */
systemDataProvider_: null, systemDataProvider_: null,
properties: {
/** @private {!CpuUsage} */
cpuUsage_: {
type: Object,
},
},
/** @override */ /** @override */
created() { created() {
this.systemDataProvider_ = getSystemDataProvider(); this.systemDataProvider_ = getSystemDataProvider();
this.observeCpuUsage_();
},
/** @private */
observeCpuUsage_() {
this.systemDataProvider_.observeCpuUsage(this);
},
/**
* Implements CpuUsageObserver.onCpuUsageUpdated.
* @param {!CpuUsage} cpuUsage
*/
onCpuUsageUpdated(cpuUsage) {
this.cpuUsage_ = cpuUsage;
}, },
}); });
...@@ -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, fakeSystemInfo} from './fake_data.js' import {fakeBatteryInfo, fakeCpuUsage, fakeSystemInfo} from './fake_data.js'
import {FakeSystemDataProvider} from './fake_system_data_provider.js' import {FakeSystemDataProvider} from './fake_system_data_provider.js'
/** /**
...@@ -23,6 +23,7 @@ function setupFakeSystemDataProvider_() { ...@@ -23,6 +23,7 @@ function setupFakeSystemDataProvider_() {
// Setup fake method data. // Setup fake method data.
provider.setFakeBatteryInfo(fakeBatteryInfo); provider.setFakeBatteryInfo(fakeBatteryInfo);
provider.setFakeCpuUsage(fakeCpuUsage);
provider.setFakeSystemInfo(fakeSystemInfo); provider.setFakeSystemInfo(fakeSystemInfo);
// Set the fake provider. // Set the fake provider.
......
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