Commit 341dd8c1 authored by Joon Ahn's avatar Joon Ahn Committed by Commit Bot

Diagnostics: Enable closure compiler

Bug: 1125150
Test: browser_tests --gtest_filter=DiagnosticsApp* && autoninja
Change-Id: I3c3438545ebd4209da697aa36fe6cf8ede6448a6
webui: closure_compile
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2511255
Commit-Queue: Joon Ahn <joonbug@chromium.org>
Reviewed-by: default avatarZentaro Kavanagh <zentaro@chromium.org>
Cr-Commit-Position: refs/heads/master@{#824194}
parent 1bf57a56
...@@ -23,6 +23,7 @@ group("closure_compile") { ...@@ -23,6 +23,7 @@ group("closure_compile") {
if (is_chromeos) { if (is_chromeos) {
public_deps += [ public_deps += [
"account_manager:closure_compile", "account_manager:closure_compile",
"diagnostics:closure_compile",
"gaia_action_buttons:closure_compile", "gaia_action_buttons:closure_compile",
"scanning:closure_compile", "scanning:closure_compile",
] ]
......
# Copyright 2020 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//third_party/closure_compiler/compile_js.gni")
js_type_check("closure_compile") {
is_polymer3 = true
closure_flags = default_closure_args + [
"browser_resolver_prefix_replacements=\"chrome://diagnostics/=../../chromeos/components/diagnostics_ui/resources/\"",
"js_module_root=../../chrome/test/data/webui/",
"js_module_root=./gen/chrome/test/data/webui/",
]
deps = [
":battery_status_card_test",
":cpu_card_test",
":data_point_test",
":diagnostics_app_test",
":diagnostics_app_unified_test",
":diagnostics_test_utils",
":fake_method_provider_test",
":fake_observables_test",
":fake_system_data_provider_test",
":fake_system_routine_controller_test",
":memory_card_test",
":mojo_interface_provider_test",
":overview_card_test",
":percent_bar_chart_test",
":realtime_cpu_chart_test",
":routine_list_executor_test",
":routine_result_entry_test",
":routine_result_list_test",
":routine_section_test",
]
}
js_library("battery_status_card_test") {
deps = [
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:battery_status_card",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_data",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("cpu_card_test") {
deps = [
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:cpu_card",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:routine_section",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("data_point_test") {
deps = [
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:data_point",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("diagnostics_app_test") {
deps = [
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:diagnostics_app",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_data",
"//chromeos/components/diagnostics_ui/resources:fake_method_resolver",
"//chromeos/components/diagnostics_ui/resources:fake_observables",
"//chromeos/components/diagnostics_ui/resources:fake_system_data_provider",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("diagnostics_app_unified_test") {
deps = []
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("diagnostics_test_utils") {
deps = [
"../..:chai_assert",
"//chromeos/components/diagnostics_ui/resources:battery_status_card",
"//chromeos/components/diagnostics_ui/resources:cpu_card",
"//chromeos/components/diagnostics_ui/resources:data_point",
"//chromeos/components/diagnostics_ui/resources:memory_card",
"//chromeos/components/diagnostics_ui/resources:percent_bar_chart",
"//chromeos/components/diagnostics_ui/resources:realtime_cpu_chart",
"//chromeos/components/diagnostics_ui/resources:routine_result_entry",
"//chromeos/components/diagnostics_ui/resources:routine_result_list",
"//chromeos/components/diagnostics_ui/resources:routine_section",
"//ui/webui/resources/cr_elements/cr_button:cr_button.m",
]
}
js_library("fake_method_provider_test") {
deps = [
"../..:chai_assert",
"//chromeos/components/diagnostics_ui/resources:fake_method_resolver",
]
}
js_library("fake_observables_test") {
deps = [
"../..:chai_assert",
"//chromeos/components/diagnostics_ui/resources:fake_observables",
]
}
js_library("fake_system_data_provider_test") {
deps = [
"../..:chai_assert",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_data",
"//chromeos/components/diagnostics_ui/resources:fake_system_data_provider",
]
}
js_library("fake_system_routine_controller_test") {
deps = [
"../..:chai_assert",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_system_routine_controller",
]
}
js_library("memory_card_test") {
deps = [
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_data",
"//chromeos/components/diagnostics_ui/resources:fake_system_data_provider",
"//chromeos/components/diagnostics_ui/resources:memory_card",
"//ui/webui/resources/cr_elements/cr_button:cr_button.m",
]
}
js_library("mojo_interface_provider_test") {
deps = [
"../..:chai_assert",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_system_routine_controller",
"//chromeos/components/diagnostics_ui/resources:mojo_interface_provider",
]
}
js_library("overview_card_test") {
deps = [
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_data",
"//chromeos/components/diagnostics_ui/resources:fake_system_data_provider",
"//chromeos/components/diagnostics_ui/resources:overview_card",
]
}
js_library("percent_bar_chart_test") {
deps = [
":diagnostics_test_utils",
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:percent_bar_chart",
]
}
js_library("realtime_cpu_chart_test") {
deps = [
":diagnostics_test_utils",
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:realtime_cpu_chart",
]
}
js_library("routine_list_executor_test") {
deps = [
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_system_routine_controller",
"//chromeos/components/diagnostics_ui/resources:routine_list_executor",
]
}
js_library("routine_result_entry_test") {
deps = [
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_system_routine_controller",
"//chromeos/components/diagnostics_ui/resources:routine_list_executor",
"//chromeos/components/diagnostics_ui/resources:routine_result_entry",
]
}
js_library("routine_result_list_test") {
deps = [
":diagnostics_test_utils",
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_system_routine_controller",
"//chromeos/components/diagnostics_ui/resources:routine_list_executor",
"//chromeos/components/diagnostics_ui/resources:routine_result_entry",
"//chromeos/components/diagnostics_ui/resources:routine_result_list",
]
}
js_library("routine_section_test") {
deps = [
":diagnostics_test_utils",
"../..:chai_assert",
"../..:test_util.m",
"//chromeos/components/diagnostics_ui/resources:diagnostics_types",
"//chromeos/components/diagnostics_ui/resources:fake_system_routine_controller",
"//chromeos/components/diagnostics_ui/resources:mojo_interface_provider",
"//chromeos/components/diagnostics_ui/resources:routine_list_executor",
"//chromeos/components/diagnostics_ui/resources:routine_list_executor",
"//chromeos/components/diagnostics_ui/resources:routine_result_entry",
"//chromeos/components/diagnostics_ui/resources:routine_section",
"//ui/webui/resources/cr_elements/cr_button:cr_button.m",
]
}
...@@ -4,14 +4,18 @@ ...@@ -4,14 +4,18 @@
import 'chrome://diagnostics/battery_status_card.js'; import 'chrome://diagnostics/battery_status_card.js';
import {BatteryChargeStatus, BatteryHealth, BatteryInfo, SystemDataProviderInterface} from 'chrome://diagnostics/diagnostics_types.js';
import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo} from 'chrome://diagnostics/fake_data.js'; import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo} from 'chrome://diagnostics/fake_data.js';
import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js'; import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js';
import {getSystemDataProvider, setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js'; import {getSystemDataProvider, setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js';
import {flushTasks} from 'chrome://test/test_util.m.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
import * as dx_utils from './diagnostics_test_utils.js'; import * as dx_utils from './diagnostics_test_utils.js';
export function batteryStatusCardTestSuite() { export function batteryStatusCardTestSuite() {
/** @type {?HTMLElement} */ /** @type {?BatteryStatusCardElement} */
let batteryStatusElement = null; let batteryStatusElement = null;
/** @type {?FakeSystemDataProvider} */ /** @type {?FakeSystemDataProvider} */
...@@ -23,7 +27,7 @@ export function batteryStatusCardTestSuite() { ...@@ -23,7 +27,7 @@ export function batteryStatusCardTestSuite() {
}); });
setup(() => { setup(() => {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(() => { teardown(() => {
...@@ -31,13 +35,14 @@ export function batteryStatusCardTestSuite() { ...@@ -31,13 +35,14 @@ export function batteryStatusCardTestSuite() {
batteryStatusElement.remove(); batteryStatusElement.remove();
} }
batteryStatusElement = null; batteryStatusElement = null;
provider.reset(); provider.reset();
}); });
/** /**
* @param {!BatteryInfo} batteryInfo * @param {!BatteryInfo} batteryInfo
* @param {!BatteryChargeStatus} batteryChargeStatus * @param {!Array<!BatteryChargeStatus>} batteryChargeStatus
* @param {!BatteryHealth} batteryHealth * @param {!Array<!BatteryHealth>} batteryHealth
* @return {!Promise} * @return {!Promise}
*/ */
function initializeBatteryStatusCard( function initializeBatteryStatusCard(
...@@ -50,7 +55,8 @@ export function batteryStatusCardTestSuite() { ...@@ -50,7 +55,8 @@ export function batteryStatusCardTestSuite() {
provider.setFakeBatteryInfo(batteryInfo); provider.setFakeBatteryInfo(batteryInfo);
// Add the battery status card to the DOM. // Add the battery status card to the DOM.
batteryStatusElement = document.createElement('battery-status-card'); batteryStatusElement = /** @type {!BatteryStatusCardElement} */ (
document.createElement('battery-status-card'));
assertTrue(!!batteryStatusElement); assertTrue(!!batteryStatusElement);
document.body.appendChild(batteryStatusElement); document.body.appendChild(batteryStatusElement);
......
...@@ -4,14 +4,18 @@ ...@@ -4,14 +4,18 @@
import 'chrome://diagnostics/cpu_card.js'; import 'chrome://diagnostics/cpu_card.js';
import {CpuUsage, RoutineName, SystemDataProviderInterface} from 'chrome://diagnostics/diagnostics_types.js';
import {fakeCpuUsage} from 'chrome://diagnostics/fake_data.js'; import {fakeCpuUsage} from 'chrome://diagnostics/fake_data.js';
import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js'; import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js';
import {getSystemDataProvider, setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js'; import {getSystemDataProvider, setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js';
import {flushTasks} from 'chrome://test/test_util.m.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
import * as dx_utils from './diagnostics_test_utils.js'; import * as dx_utils from './diagnostics_test_utils.js';
export function cpuCardTestSuite() { export function cpuCardTestSuite() {
/** @type {?HTMLElement} */ /** @type {?CpuCardElement} */
let cpuElement = null; let cpuElement = null;
/** @type {?FakeSystemDataProvider} */ /** @type {?FakeSystemDataProvider} */
...@@ -23,7 +27,7 @@ export function cpuCardTestSuite() { ...@@ -23,7 +27,7 @@ export function cpuCardTestSuite() {
}); });
setup(() => { setup(() => {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(() => { teardown(() => {
...@@ -35,7 +39,7 @@ export function cpuCardTestSuite() { ...@@ -35,7 +39,7 @@ export function cpuCardTestSuite() {
}); });
/** /**
* @param {!CpuUsage} cpuUsage * @param {!Array<!CpuUsage>} cpuUsage
* @return {!Promise} * @return {!Promise}
*/ */
function initializeCpuCard(cpuUsage) { function initializeCpuCard(cpuUsage) {
...@@ -45,7 +49,8 @@ export function cpuCardTestSuite() { ...@@ -45,7 +49,8 @@ export function cpuCardTestSuite() {
provider.setFakeCpuUsage(cpuUsage); provider.setFakeCpuUsage(cpuUsage);
// Add the CPU card to the DOM. // Add the CPU card to the DOM.
cpuElement = document.createElement('cpu-card'); cpuElement =
/** @type {!CpuCardElement} */ (document.createElement('cpu-card'));
assertTrue(!!cpuElement); assertTrue(!!cpuElement);
document.body.appendChild(cpuElement); document.body.appendChild(cpuElement);
...@@ -54,17 +59,19 @@ export function cpuCardTestSuite() { ...@@ -54,17 +59,19 @@ export function cpuCardTestSuite() {
/** /**
* Returns the routine-section from the card. * Returns the routine-section from the card.
* @return {!RoutineSection} * @return {!RoutineSectionElement}
*/ */
function getRoutineSection() { function getRoutineSection() {
const routineSection = cpuElement.$$('routine-section'); const routineSection =
/** @type {!RoutineSectionElement} */ (
cpuElement.$$('routine-section'));
assertTrue(!!routineSection); assertTrue(!!routineSection);
return routineSection; return routineSection;
} }
/** /**
* Returns the Run Tests button from inside the routine-section. * Returns the Run Tests button from inside the routine-section.
* @return {!CrButton} * @return {!HTMLElement}
*/ */
function getRunTestsButton() { function getRunTestsButton() {
const button = dx_utils.getRunTestsButtonFromSection(getRoutineSection()); const button = dx_utils.getRunTestsButtonFromSection(getRoutineSection());
...@@ -74,7 +81,7 @@ export function cpuCardTestSuite() { ...@@ -74,7 +81,7 @@ export function cpuCardTestSuite() {
/** /**
* Returns whether the run tests button is disabled. * Returns whether the run tests button is disabled.
* @return {bool} * @return {boolean}
*/ */
function isRunTestsButtonDisabled() { function isRunTestsButtonDisabled() {
return getRunTestsButton().disabled; return getRunTestsButton().disabled;
......
...@@ -4,14 +4,15 @@ ...@@ -4,14 +4,15 @@
import 'chrome://diagnostics/data_point.js'; import 'chrome://diagnostics/data_point.js';
import {flushTasks} from 'chrome://test/test_util.m.js'; import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
export function dataPointTestSuite() { export function dataPointTestSuite() {
/** @type {?HTMLElement} */ /** @type {?DataPointElement} */
let dataPointElement = null; let dataPointElement = null;
setup(() => { setup(() => {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(() => { teardown(() => {
...@@ -29,7 +30,8 @@ export function dataPointTestSuite() { ...@@ -29,7 +30,8 @@ export function dataPointTestSuite() {
assertFalse(!!dataPointElement); assertFalse(!!dataPointElement);
// Add the data point to the DOM. // Add the data point to the DOM.
dataPointElement = document.createElement('data-point'); dataPointElement =
/** @type {!DataPointElement} */ (document.createElement('data-point'));
assertTrue(!!dataPointElement); assertTrue(!!dataPointElement);
dataPointElement.header = header; dataPointElement.header = header;
dataPointElement.value = value; dataPointElement.value = value;
......
...@@ -4,13 +4,16 @@ ...@@ -4,13 +4,16 @@
import 'chrome://diagnostics/diagnostics_app.js'; import 'chrome://diagnostics/diagnostics_app.js';
import {BatteryChargeStatus, BatteryHealth, BatteryInfo, CpuUsage, MemoryUsage, SystemInfo} from 'chrome://diagnostics/diagnostics_types.js';
import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo, fakeCpuUsage, fakeMemoryUsage, fakeSystemInfo, fakeSystemInfoWithoutBattery} from 'chrome://diagnostics/fake_data.js'; import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo, fakeCpuUsage, fakeMemoryUsage, fakeSystemInfo, fakeSystemInfoWithoutBattery} from 'chrome://diagnostics/fake_data.js';
import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js'; import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js';
import {setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js'; import {setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js';
import {flushTasks} from 'chrome://test/test_util.m.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
export function appTestSuite() { export function appTestSuite() {
/** @type {?DiagnosticsApp} */ /** @type {?DiagnosticsAppElement} */
let page = null; let page = null;
/** @type {?FakeSystemDataProvider} */ /** @type {?FakeSystemDataProvider} */
...@@ -22,7 +25,7 @@ export function appTestSuite() { ...@@ -22,7 +25,7 @@ export function appTestSuite() {
}); });
setup(() => { setup(() => {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(() => { teardown(() => {
...@@ -36,11 +39,11 @@ export function appTestSuite() { ...@@ -36,11 +39,11 @@ export function appTestSuite() {
/** /**
* *
* @param {!SystemInfo} systemInfo * @param {!SystemInfo} systemInfo
* @param {!BatteryChargeStatus} batteryChargeStatus * @param {!Array<!BatteryChargeStatus>} batteryChargeStatus
* @param {!BatteryHealth} batteryHealth * @param {!Array<!BatteryHealth>} batteryHealth
* @param {!BatteryInfo} batteryInfo * @param {!BatteryInfo} batteryInfo
* @param {!CpuUsage} cpuUsage * @param {!Array<!CpuUsage>} cpuUsage
* @param {!MemoryUsage} memoryUsage * @param {!Array<!MemoryUsage>} memoryUsage
*/ */
function initializeDiagnosticsApp( function initializeDiagnosticsApp(
systemInfo, batteryChargeStatus, batteryHealth, batteryInfo, cpuUsage, systemInfo, batteryChargeStatus, batteryHealth, batteryInfo, cpuUsage,
...@@ -55,7 +58,8 @@ export function appTestSuite() { ...@@ -55,7 +58,8 @@ export function appTestSuite() {
provider.setFakeCpuUsage(cpuUsage); provider.setFakeCpuUsage(cpuUsage);
provider.setFakeMemoryUsage(memoryUsage); provider.setFakeMemoryUsage(memoryUsage);
page = document.createElement('diagnostics-app'); page = /** @type {!DiagnosticsAppElement} */ (
document.createElement('diagnostics-app'));
assertTrue(!!page); assertTrue(!!page);
document.body.appendChild(page); document.body.appendChild(page);
return flushTasks(); return flushTasks();
......
...@@ -26,7 +26,7 @@ import {routineSectionTestSuite} from './routine_section_test.js'; ...@@ -26,7 +26,7 @@ import {routineSectionTestSuite} from './routine_section_test.js';
window.test_suites_list = []; window.test_suites_list = [];
function runSuite(suiteName, testFn) { function runSuite(suiteName, testFn) {
test_suites_list.push(suiteName); window.test_suites_list.push(suiteName);
suite(suiteName, testFn); suite(suiteName, testFn);
} }
......
...@@ -2,60 +2,69 @@ ...@@ -2,60 +2,69 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import {assertTrue} from '../../chai_assert.js';
/** /**
* Helper function for getting an array of data-point elements from a * Helper function for getting an array of data-point elements from a
* diagnostics card. * diagnostics card.
* @param {!HTMLElement} element * @param {T} element
* @return {!Array<!HTMLElement>} * @template T
* @return {!NodeList<!DataPointElement>}
*/ */
export function getDataPointElements(element) { export function getDataPointElements(element) {
return element.shadowRoot.querySelectorAll('data-point'); return /** @type {!NodeList<!DataPointElement>} */ (
element.shadowRoot.querySelectorAll('data-point'));
} }
/** /**
* Helper function for getting a percent-bar-chart element from a * Helper function for getting a percent-bar-chart element from a
* diagnostics card. * diagnostics card.
* @param {!HTMLElement} element * @param {T} element
* @return {!Array<!HTMLElement>} * @template T
* @return {!PercentBarChartElement}
*/ */
export function getPercentBarChartElement(element) { export function getPercentBarChartElement(element) {
return element.shadowRoot.querySelector('percent-bar-chart'); return /** @type {!PercentBarChartElement} */ (
element.shadowRoot.querySelector('percent-bar-chart'));
} }
/** /**
* Helper function for getting a realtime-cpu-chart element from a * Helper function for getting a realtime-cpu-chart element from a
* diagnostics card. * diagnostics card.
* @param {!HTMLElement} element * @param {CpuCardElement} element
* @return {!Array<!HTMLElement>} * @return {!RealtimeCpuChartElement}
*/ */
export function getRealtimeCpuChartElement(element) { export function getRealtimeCpuChartElement(element) {
return element.shadowRoot.querySelector('realtime-cpu-chart'); return /** @type {!RealtimeCpuChartElement} */ (
element.shadowRoot.querySelector('realtime-cpu-chart'));
} }
/** /**
* Helper function for getting an array of routine-result-entry * Helper function for getting an array of routine-result-entry
* element from a routine-result-list. * element from a routine-result-list.
* @param {!HTMLElement} element * @param {RoutineResultListElement} element
* @return {!Array<!HTMLElement>} * @return {!NodeList<!RoutineResultEntryElement>}
*/ */
export function getResultEntries(element) { export function getResultEntries(element) {
return element.shadowRoot.querySelectorAll('routine-result-entry'); return /** @type {!NodeList<!RoutineResultEntryElement>} */ (
element.shadowRoot.querySelectorAll('routine-result-entry'));
} }
/** /**
* Helper function for getting the routine-result-list from an element. * Helper function for getting the routine-result-list from an element.
* @param {!HTMLElement} element * @param {RoutineSectionElement} element
* @return {!HTMLElement} * @return {!RoutineResultListElement}
*/ */
export function getResultList(element) { export function getResultList(element) {
return element.shadowRoot.querySelector('routine-result-list'); return /** @type {!RoutineResultListElement} */ (
element.shadowRoot.querySelector('routine-result-list'));
} }
/** /**
* Helper function for getting an array of routine-result-entry * Helper function for getting an array of routine-result-entry
* element from a routine-section. * element from a routine-section.
* @param {!HTMLElement} element * @param {RoutineSectionElement} element
* @return {!Array<!HTMLElement>} * @return {!NodeList<!RoutineResultEntryElement>}
*/ */
export function getResultEntriesFromSection(element) { export function getResultEntriesFromSection(element) {
return getResultEntries(getResultList(element)); return getResultEntries(getResultList(element));
...@@ -63,21 +72,22 @@ export function getResultEntriesFromSection(element) { ...@@ -63,21 +72,22 @@ export function getResultEntriesFromSection(element) {
/** /**
* Helper function for getting the Run Tests button from a routine-section. * Helper function for getting the Run Tests button from a routine-section.
* @param {!HTMLElement} element * @param {RoutineSectionElement} element
* @return {!Array<!HTMLElement>} * @return {!CrButtonElement}
*/ */
export function getRunTestsButtonFromSection(element) { export function getRunTestsButtonFromSection(element) {
const button = element.$$('#runTestsButton'); const button =
/** @type {!CrButtonElement} */ (element.$$('#runTestsButton'));
assertTrue(!!button); assertTrue(!!button);
return button; return button;
} }
/** /**
* Helper function to check if a substring exists in an element. * Helper function to check if a substring exists in an element.
* @param {!HTMLElement} element * @param {Element} element
* @param {string} substring to check * @param {string} text substring to check
* @throws {Error} * @throws {Error}
*/ */
export function assertElementContainsText(element, text) { export function assertElementContainsText(element, text) {
assertTrue(element.textContent.trim().indexOf(text) !== -1); assertTrue(element.textContent.trim().indexOf(text) !== -1);
} }
\ No newline at end of file
...@@ -4,6 +4,8 @@ ...@@ -4,6 +4,8 @@
import {FakeMethodResolver} from 'chrome://diagnostics/fake_method_resolver.js'; import {FakeMethodResolver} from 'chrome://diagnostics/fake_method_resolver.js';
import {assertEquals} from '../../chai_assert.js';
export function fakeMethodResolverTestSuite() { export function fakeMethodResolverTestSuite() {
/** @type {?FakeMethodResolver} */ /** @type {?FakeMethodResolver} */
let resolver = null; let resolver = null;
......
...@@ -5,6 +5,8 @@ ...@@ -5,6 +5,8 @@
import {FakeObservables} from 'chrome://diagnostics/fake_observables.js'; import {FakeObservables} from 'chrome://diagnostics/fake_observables.js';
import {PromiseResolver} from 'chrome://resources/js/promise_resolver.m.js'; import {PromiseResolver} from 'chrome://resources/js/promise_resolver.m.js';
import {assertEquals} from '../../chai_assert.js';
export function fakeObservablesTestSuite() { export function fakeObservablesTestSuite() {
/** @type {?FakeObservables} */ /** @type {?FakeObservables} */
let observables = null; let observables = null;
......
...@@ -2,10 +2,13 @@ ...@@ -2,10 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import {BatteryChargeStatusObserver, BatteryHealthObserver, CpuUsageObserver, DeviceCapabilities, MemoryUsageObserver, SystemInfo, VersionInfo} from 'chrome://diagnostics/diagnostics_types.js';
import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo, fakeBatteryInfo2, fakeCpuUsage, fakeMemoryUsage} from 'chrome://diagnostics/fake_data.js'; import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo, fakeBatteryInfo2, fakeCpuUsage, fakeMemoryUsage} from 'chrome://diagnostics/fake_data.js';
import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js'; import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js';
import {PromiseResolver} from 'chrome://resources/js/promise_resolver.m.js'; import {PromiseResolver} from 'chrome://resources/js/promise_resolver.m.js';
import {assertDeepEquals, assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
export function fakeSystemDataProviderTestSuite() { export function fakeSystemDataProviderTestSuite() {
/** @type {?FakeSystemDataProvider} */ /** @type {?FakeSystemDataProvider} */
let provider = null; let provider = null;
...@@ -32,10 +35,10 @@ export function fakeSystemDataProviderTestSuite() { ...@@ -32,10 +35,10 @@ export function fakeSystemDataProviderTestSuite() {
/** @type {!SystemInfo} */ /** @type {!SystemInfo} */
const expected = { const expected = {
board_name: 'BestBoard', board_name: 'BestBoard',
cpu_model: 'SuperFast CPU', cpu_model_name: 'SuperFast CPU',
total_memory_kib: 9999, total_memory_kib: 9999,
cores_number: 4, cpu_threads_count: 4,
version_info: version, version: version,
device_capabilities: capabilities, device_capabilities: capabilities,
}; };
......
...@@ -2,9 +2,10 @@ ...@@ -2,9 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import {RoutineName, StandardRoutineResult} from 'chrome://diagnostics/diagnostics_types.js'; import {RoutineName, RoutineRunner, StandardRoutineResult} from 'chrome://diagnostics/diagnostics_types.js';
import {FakeSystemRoutineController} from 'chrome://diagnostics/fake_system_routine_controller.js'; import {FakeSystemRoutineController} from 'chrome://diagnostics/fake_system_routine_controller.js';
import {PromiseResolver} from 'chrome://resources/js/promise_resolver.m.js'; import {PromiseResolver} from 'chrome://resources/js/promise_resolver.m.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
export function fakeSystemRoutineContollerTestSuite() { export function fakeSystemRoutineContollerTestSuite() {
/** @type {?FakeSystemRoutineController} */ /** @type {?FakeSystemRoutineController} */
......
...@@ -4,14 +4,18 @@ ...@@ -4,14 +4,18 @@
import 'chrome://diagnostics/memory_card.js'; import 'chrome://diagnostics/memory_card.js';
import {MemoryUsage} from 'chrome://diagnostics/diagnostics_types.js';
import {fakeMemoryUsage} from 'chrome://diagnostics/fake_data.js'; import {fakeMemoryUsage} from 'chrome://diagnostics/fake_data.js';
import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js'; import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js';
import {getSystemDataProvider, setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js'; import {setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js';
import {flushTasks} from 'chrome://test/test_util.m.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
import * as dx_utils from './diagnostics_test_utils.js'; import * as dx_utils from './diagnostics_test_utils.js';
export function memoryCardTestSuite() { export function memoryCardTestSuite() {
/** @type {?HTMLElement} */ /** @type {?MemoryCardElement} */
let memoryElement = null; let memoryElement = null;
/** @type {?FakeSystemDataProvider} */ /** @type {?FakeSystemDataProvider} */
...@@ -23,7 +27,7 @@ export function memoryCardTestSuite() { ...@@ -23,7 +27,7 @@ export function memoryCardTestSuite() {
}); });
setup(() => { setup(() => {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(() => { teardown(() => {
...@@ -35,7 +39,7 @@ export function memoryCardTestSuite() { ...@@ -35,7 +39,7 @@ export function memoryCardTestSuite() {
}); });
/** /**
* @param {!MemoryUsage} memoryUsage * @param {!Array<MemoryUsage>} memoryUsage
* @return {!Promise} * @return {!Promise}
*/ */
function initializeMemoryCard(memoryUsage) { function initializeMemoryCard(memoryUsage) {
...@@ -45,7 +49,8 @@ export function memoryCardTestSuite() { ...@@ -45,7 +49,8 @@ export function memoryCardTestSuite() {
provider.setFakeMemoryUsage(memoryUsage); provider.setFakeMemoryUsage(memoryUsage);
// Add the memory card to the DOM. // Add the memory card to the DOM.
memoryElement = document.createElement('memory-card'); memoryElement = /** @type {!MemoryCardElement} */ (
document.createElement('memory-card'));
assertTrue(!!memoryElement); assertTrue(!!memoryElement);
document.body.appendChild(memoryElement); document.body.appendChild(memoryElement);
...@@ -54,17 +59,18 @@ export function memoryCardTestSuite() { ...@@ -54,17 +59,18 @@ export function memoryCardTestSuite() {
/** /**
* Returns the routine-section from the card. * Returns the routine-section from the card.
* @return {!RoutineSection} * @return {!RoutineSectionElement}
*/ */
function getRoutineSection() { function getRoutineSection() {
const routineSection = memoryElement.$$('routine-section'); const routineSection = /** @type {!RoutineSectionElement} */ (
memoryElement.$$('routine-section'));
assertTrue(!!routineSection); assertTrue(!!routineSection);
return routineSection; return routineSection;
} }
/** /**
* Returns the Run Tests button from inside the routine-section. * Returns the Run Tests button from inside the routine-section.
* @return {!CrButton} * @return {!CrButtonElement}
*/ */
function getRunTestsButton() { function getRunTestsButton() {
const button = dx_utils.getRunTestsButtonFromSection(getRoutineSection()); const button = dx_utils.getRunTestsButtonFromSection(getRoutineSection());
...@@ -74,7 +80,7 @@ export function memoryCardTestSuite() { ...@@ -74,7 +80,7 @@ export function memoryCardTestSuite() {
/** /**
* Returns whether the run tests button is disabled. * Returns whether the run tests button is disabled.
* @return {bool} * @return {boolean}
*/ */
function isRunTestsButtonDisabled() { function isRunTestsButtonDisabled() {
return getRunTestsButton().disabled; return getRunTestsButton().disabled;
......
...@@ -2,9 +2,12 @@ ...@@ -2,9 +2,12 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import {SystemDataProviderInterface} from 'chrome://diagnostics/diagnostics_types.js';
import {FakeSystemRoutineController} from 'chrome://diagnostics/fake_system_routine_controller.js'; import {FakeSystemRoutineController} from 'chrome://diagnostics/fake_system_routine_controller.js';
import {getSystemDataProvider, getSystemRoutineController, setSystemDataProviderForTesting, setSystemRoutineControllerForTesting} from 'chrome://diagnostics/mojo_interface_provider.js'; import {getSystemDataProvider, getSystemRoutineController, setSystemDataProviderForTesting, setSystemRoutineControllerForTesting} from 'chrome://diagnostics/mojo_interface_provider.js';
import {assertEquals} from '../../chai_assert.js';
export function fakeMojoProviderTestSuite() { export function fakeMojoProviderTestSuite() {
test('SettingGettingTestProvider', () => { test('SettingGettingTestProvider', () => {
// TODO(zentaro): Replace with fake when built. // TODO(zentaro): Replace with fake when built.
......
...@@ -4,13 +4,16 @@ ...@@ -4,13 +4,16 @@
import 'chrome://diagnostics/overview_card.js'; import 'chrome://diagnostics/overview_card.js';
import {SystemInfo} from 'chrome://diagnostics/diagnostics_types.js';
import {fakeSystemInfo} from 'chrome://diagnostics/fake_data.js'; import {fakeSystemInfo} from 'chrome://diagnostics/fake_data.js';
import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js'; import {FakeSystemDataProvider} from 'chrome://diagnostics/fake_system_data_provider.js';
import {getSystemDataProvider, setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js'; import {getSystemDataProvider, setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js';
import {flushTasks} from 'chrome://test/test_util.m.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
export function overviewCardTestSuite() { export function overviewCardTestSuite() {
/** @type {?HTMLElement} */ /** @type {?OverviewCardElement} */
let overviewElement = null; let overviewElement = null;
/** @type {?FakeSystemDataProvider} */ /** @type {?FakeSystemDataProvider} */
...@@ -22,7 +25,7 @@ export function overviewCardTestSuite() { ...@@ -22,7 +25,7 @@ export function overviewCardTestSuite() {
}); });
setup(() => { setup(() => {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(() => { teardown(() => {
...@@ -31,7 +34,7 @@ export function overviewCardTestSuite() { ...@@ -31,7 +34,7 @@ export function overviewCardTestSuite() {
provider.reset(); provider.reset();
}); });
/** @param {!SystemInfo} */ /** @param {!SystemInfo} fakeSystemInfo */
function initializeOverviewCard(fakeSystemInfo) { function initializeOverviewCard(fakeSystemInfo) {
assertFalse(!!overviewElement); assertFalse(!!overviewElement);
...@@ -39,7 +42,8 @@ export function overviewCardTestSuite() { ...@@ -39,7 +42,8 @@ export function overviewCardTestSuite() {
provider.setFakeSystemInfo(fakeSystemInfo); provider.setFakeSystemInfo(fakeSystemInfo);
// Add the overview card to the DOM. // Add the overview card to the DOM.
overviewElement = document.createElement('overview-card'); overviewElement = /** @type {!OverviewCardElement} */ (
document.createElement('overview-card'));
assertTrue(!!overviewElement); assertTrue(!!overviewElement);
document.body.appendChild(overviewElement); document.body.appendChild(overviewElement);
......
...@@ -4,15 +4,17 @@ ...@@ -4,15 +4,17 @@
import 'chrome://diagnostics/percent_bar_chart.js'; import 'chrome://diagnostics/percent_bar_chart.js';
import {flushTasks} from 'chrome://test/test_util.m.js'; import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import * as diagnostics_test_utils from './diagnostics_test_utils.js'; import {flushTasks} from '../../test_util.m.js';
import * as dx_utils from './diagnostics_test_utils.js';
export function percentBarChartTestSuite() { export function percentBarChartTestSuite() {
/** @type {?HTMLElement} */ /** @type {?PercentBarChartElement} */
let percentBarChartElement = null; let percentBarChartElement = null;
setup(() => { setup(() => {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(() => { teardown(() => {
...@@ -32,7 +34,8 @@ export function percentBarChartTestSuite() { ...@@ -32,7 +34,8 @@ export function percentBarChartTestSuite() {
assertFalse(!!percentBarChartElement); assertFalse(!!percentBarChartElement);
// Add the element to the DOM. // Add the element to the DOM.
percentBarChartElement = document.createElement('percent-bar-chart'); percentBarChartElement = /** @type {!PercentBarChartElement} */ (
document.createElement('percent-bar-chart'));
assertTrue(!!percentBarChartElement); assertTrue(!!percentBarChartElement);
percentBarChartElement.header = header; percentBarChartElement.header = header;
percentBarChartElement.value = value; percentBarChartElement.value = value;
...@@ -55,8 +58,10 @@ export function percentBarChartTestSuite() { ...@@ -55,8 +58,10 @@ export function percentBarChartTestSuite() {
assertEquals( assertEquals(
header, percentBarChartElement.$$('#chartName').textContent.trim()); header, percentBarChartElement.$$('#chartName').textContent.trim());
diagnostics_test_utils.assertElementContainsText( dx_utils.assertElementContainsText(
percentBarChartElement.$$('#percentageLabel'), `${percent}`); /** @type {!HTMLElement} */ (
percentBarChartElement.$$('#percentageLabel')),
`${percent}`);
assertFalse(!!percentBarChartElement.$$('#headerIcon')); assertFalse(!!percentBarChartElement.$$('#headerIcon'));
}); });
......
...@@ -4,15 +4,17 @@ ...@@ -4,15 +4,17 @@
import 'chrome://diagnostics/realtime_cpu_chart.js'; import 'chrome://diagnostics/realtime_cpu_chart.js';
import {flushTasks} from 'chrome://test/test_util.m.js'; import {assertEquals, assertFalse, assertGT, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
import * as diagnostics_test_utils from './diagnostics_test_utils.js'; import * as diagnostics_test_utils from './diagnostics_test_utils.js';
export function realtimeCpuChartTestSuite() { export function realtimeCpuChartTestSuite() {
/** @type {?HTMLElement} */ /** @type {?RealtimeCpuChartElement} */
let realtimeCpuChartElement = null; let realtimeCpuChartElement = null;
setup(() => { setup(() => {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(() => { teardown(() => {
...@@ -31,7 +33,8 @@ export function realtimeCpuChartTestSuite() { ...@@ -31,7 +33,8 @@ export function realtimeCpuChartTestSuite() {
assertFalse(!!realtimeCpuChartElement); assertFalse(!!realtimeCpuChartElement);
// Add the element to the DOM. // Add the element to the DOM.
realtimeCpuChartElement = document.createElement('realtime-cpu-chart'); realtimeCpuChartElement = /** @type {!RealtimeCpuChartElement} */ (
document.createElement('realtime-cpu-chart'));
assertTrue(!!realtimeCpuChartElement); assertTrue(!!realtimeCpuChartElement);
document.body.appendChild(realtimeCpuChartElement); document.body.appendChild(realtimeCpuChartElement);
realtimeCpuChartElement.user = user; realtimeCpuChartElement.user = user;
...@@ -40,6 +43,24 @@ export function realtimeCpuChartTestSuite() { ...@@ -40,6 +43,24 @@ export function realtimeCpuChartTestSuite() {
return refreshGraph(); return refreshGraph();
} }
/**
* Get refreshInterval_ private member for testing.
* @suppress {visibility} // access private member
*/
function getRefreshInterval() {
assertTrue(!!realtimeCpuChartElement);
return realtimeCpuChartElement.refreshInterval_;
}
/**
* Get margin_ private member for testing.
* @suppress {visibility} // access private member
*/
function getMargins() {
assertTrue(!!realtimeCpuChartElement);
return realtimeCpuChartElement.margin_;
}
/** /**
* Promise that resolves once at least one refresh interval has passed. * Promise that resolves once at least one refresh interval has passed.
* @return {!Promise} * @return {!Promise}
...@@ -52,7 +73,7 @@ export function realtimeCpuChartTestSuite() { ...@@ -52,7 +73,7 @@ export function realtimeCpuChartTestSuite() {
flushTasks().then(() => { flushTasks().then(() => {
resolve(); resolve();
}); });
}, realtimeCpuChartElement.refreshInterval_); }, getRefreshInterval());
}); });
} }
...@@ -70,30 +91,31 @@ export function realtimeCpuChartTestSuite() { ...@@ -70,30 +91,31 @@ export function realtimeCpuChartTestSuite() {
}); });
}); });
test('ChartAreaBoundary', () => { test(
const user = 10; 'ChartAreaBoundary',
const system = 30; /** @suppress {visibility} access private member for test */ () => {
return initializeRealtimeCpuChart(user, system).then(() => { const user = 10;
const svg = realtimeCpuChartElement.$$('#chart'); const system = 30;
const boundary = realtimeCpuChartElement.$$('#defClip>rect'); return initializeRealtimeCpuChart(user, system).then(() => {
const svg = realtimeCpuChartElement.$$('#chart');
// Chart area boundary must fit within svg. const boundary = realtimeCpuChartElement.$$('#defClip>rect');
assertGT(
Number(svg.getAttribute('width')), // Chart area boundary must fit within svg.
Number(boundary.getAttribute('width'))); assertGT(
assertGT( Number(svg.getAttribute('width')),
Number(svg.getAttribute('height')), Number(boundary.getAttribute('width')));
Number(boundary.getAttribute('height'))); assertGT(
Number(svg.getAttribute('height')),
const chartGroup = realtimeCpuChartElement.$$('#chartGroup'); Number(boundary.getAttribute('height')));
// Margins are in effect. const chartGroup = realtimeCpuChartElement.$$('#chartGroup');
assertEquals(
`translate(${realtimeCpuChartElement.margin_.left},${ // Margins are in effect.
realtimeCpuChartElement.margin_.top})`, assertEquals(
chartGroup.getAttribute('transform')); `translate(${getMargins().left},${getMargins().top})`,
}); chartGroup.getAttribute('transform'));
}); });
});
test('InitializePlot', () => { test('InitializePlot', () => {
const user = 10; const user = 10;
......
...@@ -6,6 +6,8 @@ import {RoutineName, RoutineResultInfo, StandardRoutineResult} from 'chrome://di ...@@ -6,6 +6,8 @@ import {RoutineName, RoutineResultInfo, StandardRoutineResult} from 'chrome://di
import {FakeSystemRoutineController} from 'chrome://diagnostics/fake_system_routine_controller.js'; import {FakeSystemRoutineController} from 'chrome://diagnostics/fake_system_routine_controller.js';
import {ExecutionProgress, ResultStatusItem, RoutineListExecutor} from 'chrome://diagnostics/routine_list_executor.js'; import {ExecutionProgress, ResultStatusItem, RoutineListExecutor} from 'chrome://diagnostics/routine_list_executor.js';
import {assertEquals, assertFalse, assertNotEquals, assertTrue} from '../../chai_assert.js';
export function fakeRoutineListExecutorTestSuite() { export function fakeRoutineListExecutorTestSuite() {
/** @type {?FakeSystemRoutineController} */ /** @type {?FakeSystemRoutineController} */
let controller = null; let controller = null;
...@@ -61,7 +63,7 @@ export function fakeRoutineListExecutorTestSuite() { ...@@ -61,7 +63,7 @@ export function fakeRoutineListExecutorTestSuite() {
/** @type {!function(!ResultStatusItem)} */ /** @type {!function(!ResultStatusItem)} */
let statusCallback = (status) => { let statusCallback = (status) => {
assertTrue(upto < expectedCallbacks.length); assertTrue(upto < expectedCallbacks.length);
assertEquals(expectedCallbacks[upto].name, status.name); assertEquals(expectedCallbacks[upto].routine, status.routine);
assertEquals(expectedCallbacks[upto].progress, status.progress); assertEquals(expectedCallbacks[upto].progress, status.progress);
if (status.progress === ExecutionProgress.kRunning) { if (status.progress === ExecutionProgress.kRunning) {
assertEquals(null, status.result); assertEquals(null, status.result);
......
...@@ -6,14 +6,16 @@ import 'chrome://diagnostics/routine_result_entry.js'; ...@@ -6,14 +6,16 @@ import 'chrome://diagnostics/routine_result_entry.js';
import {RoutineName, RoutineResult, StandardRoutineResult} from 'chrome://diagnostics/diagnostics_types.js'; import {RoutineName, RoutineResult, StandardRoutineResult} from 'chrome://diagnostics/diagnostics_types.js';
import {ExecutionProgress, ResultStatusItem} from 'chrome://diagnostics/routine_list_executor.js'; import {ExecutionProgress, ResultStatusItem} from 'chrome://diagnostics/routine_list_executor.js';
import {flushTasks} from 'chrome://test/test_util.m.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
export function routineResultEntryTestSuite() { export function routineResultEntryTestSuite() {
/** @type {?HTMLElement} */ /** @type {?RoutineResultEntryElement} */
let routineResultEntryElement = null; let routineResultEntryElement = null;
setup(function() { setup(function() {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(function() { teardown(function() {
...@@ -27,7 +29,8 @@ export function routineResultEntryTestSuite() { ...@@ -27,7 +29,8 @@ export function routineResultEntryTestSuite() {
assertFalse(!!routineResultEntryElement); assertFalse(!!routineResultEntryElement);
// Add the entry to the DOM. // Add the entry to the DOM.
routineResultEntryElement = document.createElement('routine-result-entry'); routineResultEntryElement = /** @type {!RoutineResultEntryElement} */ (
document.createElement('routine-result-entry'));
assertTrue(!!routineResultEntryElement); assertTrue(!!routineResultEntryElement);
document.body.appendChild(routineResultEntryElement); document.body.appendChild(routineResultEntryElement);
......
...@@ -6,16 +6,18 @@ import 'chrome://diagnostics/routine_result_list.js'; ...@@ -6,16 +6,18 @@ import 'chrome://diagnostics/routine_result_list.js';
import {RoutineName, StandardRoutineResult} from 'chrome://diagnostics/diagnostics_types.js'; import {RoutineName, StandardRoutineResult} from 'chrome://diagnostics/diagnostics_types.js';
import {ExecutionProgress, ResultStatusItem} from 'chrome://diagnostics/routine_list_executor.js'; import {ExecutionProgress, ResultStatusItem} from 'chrome://diagnostics/routine_list_executor.js';
import {flushTasks} from 'chrome://test/test_util.m.js';
import {assertDeepEquals, assertEquals, assertFalse, assertNotEquals, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
import * as dx_utils from './diagnostics_test_utils.js'; import * as dx_utils from './diagnostics_test_utils.js';
export function routineResultListTestSuite() { export function routineResultListTestSuite() {
/** @type {?HTMLElement} */ /** @type {?RoutineResultListElement} */
let routineResultListElement = null; let routineResultListElement = null;
setup(function() { setup(function() {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(function() { teardown(function() {
...@@ -34,7 +36,8 @@ export function routineResultListTestSuite() { ...@@ -34,7 +36,8 @@ export function routineResultListTestSuite() {
assertFalse(!!routineResultListElement); assertFalse(!!routineResultListElement);
// Add the entry to the DOM. // Add the entry to the DOM.
routineResultListElement = document.createElement('routine-result-list'); routineResultListElement = /** @type {!RoutineResultListElement} */ (
document.createElement('routine-result-list'));
assertTrue(!!routineResultListElement); assertTrue(!!routineResultListElement);
document.body.appendChild(routineResultListElement); document.body.appendChild(routineResultListElement);
...@@ -55,7 +58,7 @@ export function routineResultListTestSuite() { ...@@ -55,7 +58,7 @@ export function routineResultListTestSuite() {
/** /**
* Returns an array of the entries in the list. * Returns an array of the entries in the list.
* @return {!Array<!RoutineResultEntry>} * @return {!NodeList<!RoutineResultEntryElement>}
*/ */
function getEntries() { function getEntries() {
return dx_utils.getResultEntries(routineResultListElement); return dx_utils.getResultEntries(routineResultListElement);
......
...@@ -9,19 +9,20 @@ import {RoutineName} from 'chrome://diagnostics/diagnostics_types.js'; ...@@ -9,19 +9,20 @@ import {RoutineName} from 'chrome://diagnostics/diagnostics_types.js';
import {FakeSystemRoutineController} from 'chrome://diagnostics/fake_system_routine_controller.js'; import {FakeSystemRoutineController} from 'chrome://diagnostics/fake_system_routine_controller.js';
import {setSystemRoutineControllerForTesting} from 'chrome://diagnostics/mojo_interface_provider.js'; import {setSystemRoutineControllerForTesting} from 'chrome://diagnostics/mojo_interface_provider.js';
import {ExecutionProgress} from 'chrome://diagnostics/routine_list_executor.js'; import {ExecutionProgress} from 'chrome://diagnostics/routine_list_executor.js';
import {flushTasks} from 'chrome://test/test_util.m.js'; import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js';
import * as dx_utils from './diagnostics_test_utils.js'; import * as dx_utils from './diagnostics_test_utils.js';
export function routineSectionTestSuite() { export function routineSectionTestSuite() {
/** @type {?HTMLElement} */ /** @type {?RoutineSectionElement} */
let routineSectionElement = null; let routineSectionElement = null;
/** @type {!FakeSystemRoutineController} */ /** @type {!FakeSystemRoutineController} */
let routineController; let routineController;
setup(function() { setup(function() {
PolymerTest.clearBody(); document.body.innerHTML = '';
// Setup a fake routine controller so that nothing resolves unless // Setup a fake routine controller so that nothing resolves unless
// done explicitly. // done explicitly.
...@@ -45,7 +46,8 @@ export function routineSectionTestSuite() { ...@@ -45,7 +46,8 @@ export function routineSectionTestSuite() {
assertFalse(!!routineSectionElement); assertFalse(!!routineSectionElement);
// Add the entry to the DOM. // Add the entry to the DOM.
routineSectionElement = document.createElement('routine-section'); routineSectionElement = /** @type {!RoutineSectionElement} */ (
document.createElement('routine-section'));
assertTrue(!!routineSectionElement); assertTrue(!!routineSectionElement);
document.body.appendChild(routineSectionElement); document.body.appendChild(routineSectionElement);
...@@ -57,7 +59,7 @@ export function routineSectionTestSuite() { ...@@ -57,7 +59,7 @@ export function routineSectionTestSuite() {
/** /**
* Returns the result list element. * Returns the result list element.
* @return {!RoutineList} * @return {!RoutineResultListElement}
*/ */
function getResultList() { function getResultList() {
const resultList = dx_utils.getResultList(routineSectionElement); const resultList = dx_utils.getResultList(routineSectionElement);
...@@ -67,7 +69,7 @@ export function routineSectionTestSuite() { ...@@ -67,7 +69,7 @@ export function routineSectionTestSuite() {
/** /**
* Returns the Run Tests button. * Returns the Run Tests button.
* @return {!CrButton} * @return {!CrButtonElement}
*/ */
function getRunTestsButton() { function getRunTestsButton() {
const button = dx_utils.getRunTestsButtonFromSection(routineSectionElement); const button = dx_utils.getRunTestsButtonFromSection(routineSectionElement);
...@@ -77,7 +79,7 @@ export function routineSectionTestSuite() { ...@@ -77,7 +79,7 @@ export function routineSectionTestSuite() {
/** /**
* Returns whether the run tests button is disabled. * Returns whether the run tests button is disabled.
* @return {bool} * @return {boolean}
*/ */
function isRunTestsButtonDisabled() { function isRunTestsButtonDisabled() {
return getRunTestsButton().disabled; return getRunTestsButton().disabled;
...@@ -94,7 +96,7 @@ export function routineSectionTestSuite() { ...@@ -94,7 +96,7 @@ export function routineSectionTestSuite() {
/** /**
* Returns an array of the entries in the list. * Returns an array of the entries in the list.
* @return {!Array<!RoutineResultEntry>} * @return {!NodeList<!RoutineResultEntryElement>}
*/ */
function getEntries() { function getEntries() {
return dx_utils.getResultEntries(getResultList()); return dx_utils.getResultEntries(getResultList());
......
...@@ -150,12 +150,14 @@ js_library("routine_result_entry") { ...@@ -150,12 +150,14 @@ js_library("routine_result_entry") {
js_library("routine_result_list") { js_library("routine_result_list") {
deps = [ deps = [
":routine_list_executor",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
] ]
} }
js_library("routine_section") { js_library("routine_section") {
deps = [ deps = [
":routine_result_list",
"//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled", "//third_party/polymer/v3_0/components-chromium/polymer:polymer_bundled",
] ]
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
import {BatteryChargeStatus, BatteryHealth, BatteryInfo, CpuUsage, CpuUsageObserver, ExternalPowerSource, MemoryUsage, MemoryUsageObserver, SystemInfo} from './diagnostics_types.js'; import {BatteryChargeStatus, BatteryHealth, BatteryInfo, CpuUsage, CpuUsageObserver, ExternalPowerSource, MemoryUsage, MemoryUsageObserver, SystemDataProviderInterface, SystemInfo} from './diagnostics_types.js';
import {FakeMethodResolver} from './fake_method_resolver.js'; import {FakeMethodResolver} from './fake_method_resolver.js';
import {FakeObservables} from './fake_observables.js'; import {FakeObservables} from './fake_observables.js';
...@@ -11,6 +11,7 @@ import {FakeObservables} from './fake_observables.js'; ...@@ -11,6 +11,7 @@ import {FakeObservables} from './fake_observables.js';
* Implements a fake version of the SystemDataProvider mojo interface. * Implements a fake version of the SystemDataProvider mojo interface.
*/ */
/** @implements {SystemDataProviderInterface} */
export class FakeSystemDataProvider { export class FakeSystemDataProvider {
constructor() { constructor() {
/** @private {!FakeMethodResolver} */ /** @private {!FakeMethodResolver} */
...@@ -206,7 +207,7 @@ export class FakeSystemDataProvider { ...@@ -206,7 +207,7 @@ export class FakeSystemDataProvider {
*/ */
registerObservables() { registerObservables() {
this.observables_.register( this.observables_.register(
'BatteryChargeStatusObserver_onBatteryChargeStatusUpdated'); 'BatteryChargeStatusObserver_onBatteryChargeStatusUpdated');
this.observables_.register('BatteryHealthObserver_onBatteryHealthUpdated'); this.observables_.register('BatteryHealthObserver_onBatteryHealthUpdated');
this.observables_.register('CpuUsageObserver_onCpuUsageUpdated'); this.observables_.register('CpuUsageObserver_onCpuUsageUpdated');
this.observables_.register('MemoryUsageObserver_onMemoryUsageUpdated'); this.observables_.register('MemoryUsageObserver_onMemoryUsageUpdated');
......
...@@ -57,12 +57,10 @@ Polymer({ ...@@ -57,12 +57,10 @@ Polymer({
}); });
}, },
/** /** @private */
* @return {!HTMLElement}
* @private
**/
getResultListElem_() { getResultListElem_() {
return /** @type {!HTMLElement} */ (this.$$('routine-result-list')); return /** @type {!RoutineResultListElement} */ (
this.$$('routine-result-list'));
}, },
/** @override */ /** @override */
......
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