Commit 45699f5a authored by Zentaro Kavanagh's avatar Zentaro Kavanagh Committed by Commit Bot

Diagnostics: Add routine controller to mojo provider

Bug: 1125150
Test: browser_tests --gtest_filter=DiagnosticsApp*
Change-Id: I274a1e66cc2959f5e3655d7e0655293a1a4f6eda
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2462349Reviewed-by: default avatarBailey Berro <baileyberro@chromium.org>
Commit-Queue: Zentaro Kavanagh <zentaro@chromium.org>
Cr-Commit-Position: refs/heads/master@{#815428}
parent 712cbe98
...@@ -5,7 +5,8 @@ ...@@ -5,7 +5,8 @@
// TODO(jimmyxgong): Use es6 module for mojo binding (crbug/1004256). // TODO(jimmyxgong): Use es6 module for mojo binding (crbug/1004256).
import 'chrome://resources/mojo/mojo/public/js/mojo_bindings_lite.js'; import 'chrome://resources/mojo/mojo/public/js/mojo_bindings_lite.js';
import {getSystemDataProvider, setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js'; import {FakeSystemRoutineController} from 'chrome://diagnostics/fake_system_routine_controller.js';
import {getSystemDataProvider, getSystemRoutineController, setSystemDataProviderForTesting, setSystemRoutineControllerForTesting} from 'chrome://diagnostics/mojo_interface_provider.js';
suite('FakeMojoProviderTest', () => { suite('FakeMojoProviderTest', () => {
test('SettingGettingTestProvider', () => { test('SettingGettingTestProvider', () => {
...@@ -15,4 +16,10 @@ suite('FakeMojoProviderTest', () => { ...@@ -15,4 +16,10 @@ suite('FakeMojoProviderTest', () => {
setSystemDataProviderForTesting(fake_provider); setSystemDataProviderForTesting(fake_provider);
assertEquals(fake_provider, getSystemDataProvider()); assertEquals(fake_provider, getSystemDataProvider());
}); });
test('SettingGettingTestController', () => {
let fake_controller = new FakeSystemRoutineController();
setSystemRoutineControllerForTesting(fake_controller);
assertEquals(fake_controller, getSystemRoutineController());
});
}); });
\ No newline at end of file
...@@ -107,6 +107,8 @@ js_library("mojo_interface_provider") { ...@@ -107,6 +107,8 @@ js_library("mojo_interface_provider") {
deps = [ deps = [
":diagnostics_types", ":diagnostics_types",
":fake_data", ":fake_data",
":fake_system_data_provider",
":fake_system_routine_controller",
"//ui/webui/resources/js:cr.m", "//ui/webui/resources/js:cr.m",
] ]
} }
......
...@@ -3,9 +3,10 @@ ...@@ -3,9 +3,10 @@
// found in the LICENSE file. // found in the LICENSE file.
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, SystemRoutineControllerInterface} from './diagnostics_types.js';
import {fakeBatteryChargeStatus, fakeBatteryHealth, 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';
import {FakeSystemRoutineController} from './fake_system_routine_controller.js';
/** /**
* @fileoverview * @fileoverview
...@@ -36,11 +37,28 @@ function setupFakeSystemDataProvider_() { ...@@ -36,11 +37,28 @@ function setupFakeSystemDataProvider_() {
setSystemDataProviderForTesting(provider); setSystemDataProviderForTesting(provider);
} }
/**
* Sets up a FakeSystemRoutineController to be used at runtime.
* TODO(zentaro): Remove once mojo bindings are implemented.
*/
function setupFakeSystemRoutineController_() {
// Create controller.
let controller = new FakeSystemRoutineController();
// Set the fake controller.
setSystemRoutineControllerForTesting(controller);
}
/** /**
* @type {?SystemDataProviderInterface} * @type {?SystemDataProviderInterface}
*/ */
let systemDataProvider = null; let systemDataProvider = null;
/**
* @type {?SystemRoutineControllerInterface}
*/
let systemRoutineController = null;
/** /**
* @param {!SystemDataProviderInterface} testProvider * @param {!SystemDataProviderInterface} testProvider
*/ */
...@@ -60,3 +78,23 @@ export function getSystemDataProvider() { ...@@ -60,3 +78,23 @@ export function getSystemDataProvider() {
assert(!!systemDataProvider); assert(!!systemDataProvider);
return systemDataProvider; return systemDataProvider;
} }
/**
* @param {!SystemRoutineControllerInterface} testController
*/
export function setSystemRoutineControllerForTesting(testController) {
systemRoutineController = testController;
}
/**
* @return {!SystemRoutineControllerInterface}
*/
export function getSystemRoutineController() {
if (!systemRoutineController) {
// TODO(zentaro): Instantiate a real mojo interface here.
setupFakeSystemRoutineController_();
}
assert(!!systemRoutineController);
return systemRoutineController;
}
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