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 @@
// TODO(jimmyxgong): Use es6 module for mojo binding (crbug/1004256).
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', () => {
test('SettingGettingTestProvider', () => {
......@@ -15,4 +16,10 @@ suite('FakeMojoProviderTest', () => {
setSystemDataProviderForTesting(fake_provider);
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") {
deps = [
":diagnostics_types",
":fake_data",
":fake_system_data_provider",
":fake_system_routine_controller",
"//ui/webui/resources/js:cr.m",
]
}
......
......@@ -3,9 +3,10 @@
// found in the LICENSE file.
import {assert} from 'chrome://resources/js/assert.m.js';
import {SystemDataProviderInterface, SystemInfo} from './diagnostics_types.js'
import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo, fakeCpuUsage, fakeMemoryUsage, fakeSystemInfo} from './fake_data.js'
import {FakeSystemDataProvider} from './fake_system_data_provider.js'
import {SystemDataProviderInterface, SystemInfo, SystemRoutineControllerInterface} from './diagnostics_types.js';
import {fakeBatteryChargeStatus, fakeBatteryHealth, fakeBatteryInfo, fakeCpuUsage, fakeMemoryUsage, fakeSystemInfo} from './fake_data.js';
import {FakeSystemDataProvider} from './fake_system_data_provider.js';
import {FakeSystemRoutineController} from './fake_system_routine_controller.js';
/**
* @fileoverview
......@@ -36,11 +37,28 @@ function setupFakeSystemDataProvider_() {
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}
*/
let systemDataProvider = null;
/**
* @type {?SystemRoutineControllerInterface}
*/
let systemRoutineController = null;
/**
* @param {!SystemDataProviderInterface} testProvider
*/
......@@ -60,3 +78,23 @@ export function getSystemDataProvider() {
assert(!!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