diagnostics: Convert diagnostics_app_input_hiding_test to TS
Bug: b/245336251
Change-Id: I68642fb9f067f06ada622fc21f1d04400f81d7d8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5454937
Commit-Queue: Michael Checo <michaelcheco@google.com>
Reviewed-by: Gavin Williams <gavinwill@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1290912}
diff --git a/chrome/test/data/webui/chromeos/diagnostics/BUILD.gn b/chrome/test/data/webui/chromeos/diagnostics/BUILD.gn
index 4244cbb3..57c0933 100644
--- a/chrome/test/data/webui/chromeos/diagnostics/BUILD.gn
+++ b/chrome/test/data/webui/chromeos/diagnostics/BUILD.gn
@@ -20,7 +20,7 @@
"connectivity_card_test.ts",
"cpu_card_test.ts",
"data_point_test.ts",
- "diagnostics_app_input_hiding_test.js",
+ "diagnostics_app_input_hiding_test.ts",
"diagnostics_app_test.js",
"diagnostics_network_icon_test.js",
"diagnostics_sticky_banner_test.js",
diff --git a/chrome/test/data/webui/chromeos/diagnostics/diagnostics_app_input_hiding_test.js b/chrome/test/data/webui/chromeos/diagnostics/diagnostics_app_input_hiding_test.ts
similarity index 71%
rename from chrome/test/data/webui/chromeos/diagnostics/diagnostics_app_input_hiding_test.js
rename to chrome/test/data/webui/chromeos/diagnostics/diagnostics_app_input_hiding_test.ts
index 443d4da1..90351459 100644
--- a/chrome/test/data/webui/chromeos/diagnostics/diagnostics_app_input_hiding_test.js
+++ b/chrome/test/data/webui/chromeos/diagnostics/diagnostics_app_input_hiding_test.ts
@@ -14,26 +14,23 @@
import {KeyboardInfo} from 'chrome://diagnostics/input.mojom-webui.js';
import {setInputDataProviderForTesting, setSystemDataProviderForTesting} from 'chrome://diagnostics/mojo_interface_provider.js';
import {loadTimeData} from 'chrome://resources/ash/common/load_time_data.m.js';
+import {SelectorItem} from 'chrome://resources/ash/common/navigation_selector.js';
+import {assert} from 'chrome://resources/js/assert.js';
import {assertFalse, assertTrue} from 'chrome://webui-test/chromeos/chai_assert.js';
import {flushTasks} from 'chrome://webui-test/polymer_test_util.js';
import {TestDiagnosticsBrowserProxy} from './test_diagnostics_browser_proxy.js';
suite('appTestSuiteForInputHiding', function() {
- /** @type {?DiagnosticsAppElement} */
- let page = null;
+ let page: DiagnosticsAppElement|null = null;
- /** @type {?FakeSystemDataProvider} */
- let systemDataProvider = null;
+ const systemDataProvider = new FakeSystemDataProvider();
- /** @type {?FakeInputDataProvider} */
- let inputDataProvider = null;
+ const inputDataProvider = new FakeInputDataProvider();
- /** @type {?TestDiagnosticsBrowserProxy} */
- let DiagnosticsBrowserProxy = null;
+ const DiagnosticsBrowserProxy = new TestDiagnosticsBrowserProxy();
suiteSetup(() => {
- systemDataProvider = new FakeSystemDataProvider();
systemDataProvider.setFakeSystemInfo(fakeSystemInfo);
systemDataProvider.setFakeBatteryChargeStatus(fakeBatteryChargeStatus);
systemDataProvider.setFakeBatteryHealth(fakeBatteryHealth);
@@ -42,15 +39,13 @@
systemDataProvider.setFakeMemoryUsage(fakeMemoryUsage);
setSystemDataProviderForTesting(systemDataProvider);
- inputDataProvider = new FakeInputDataProvider();
setInputDataProviderForTesting(inputDataProvider);
- DiagnosticsBrowserProxy = new TestDiagnosticsBrowserProxy();
DiagnosticsBrowserProxyImpl.setInstance(DiagnosticsBrowserProxy);
});
setup(() => {
- document.body.innerHTML = window.trustedTypes.emptyHTML;
+ document.body.innerHTML = window.trustedTypes!.emptyHTML;
loadTimeData.overrideValues(
{isTouchpadEnabled: false, isTouchscreenEnabled: false});
@@ -60,50 +55,47 @@
loadTimeData.overrideValues(
{isTouchpadEnabled: true, isTouchscreenEnabled: true});
- page.remove();
+ page?.remove();
page = null;
inputDataProvider.reset();
});
- /** @param {!Array<!KeyboardInfo>} keyboards */
- function initializeDiagnosticsApp(keyboards) {
- assertFalse(!!page);
-
+ function initializeDiagnosticsApp(keyboards: KeyboardInfo[]): Promise<void> {
inputDataProvider.setFakeConnectedDevices(keyboards, fakeTouchDevices);
- page = /** @type {!DiagnosticsAppElement} */ (
- document.createElement('diagnostics-app'));
- assertTrue(!!page);
+ page = document.createElement('diagnostics-app');
+ assert(page);
document.body.appendChild(page);
return flushTasks();
}
- /** @param {!string} id */
- function navigationSelectorHasId(id) {
- const items = page.shadowRoot.querySelector('navigation-view-panel')
- .shadowRoot.querySelector('navigation-selector')
- .selectorItems;
- return !!items.find((item) => item.id === id);
+ function navigationSelectorHasId(id: string): boolean {
+ assert(page);
+ const items =
+ page.shadowRoot!.querySelector('navigation-view-panel')!.shadowRoot!
+ .querySelector('navigation-selector')!.selectorItems;
+ return !!items.find((item: SelectorItem) => item.id === id);
}
test('InputPageHiddenWhenNoKeyboardsConnected', async () => {
await initializeDiagnosticsApp([]);
assertFalse(navigationSelectorHasId('input'));
- inputDataProvider.addFakeConnectedKeyboard(fakeKeyboards[0]);
+ inputDataProvider.addFakeConnectedKeyboard(
+ (fakeKeyboards[0] as KeyboardInfo));
await flushTasks();
assertTrue(navigationSelectorHasId('input'));
- inputDataProvider.removeFakeConnectedKeyboardById(fakeKeyboards[0].id);
+ inputDataProvider.removeFakeConnectedKeyboardById(fakeKeyboards[0]!.id);
await flushTasks();
assertFalse(navigationSelectorHasId('input'));
});
test('InputPageShownWhenKeyboardConnectedAtLaunch', async () => {
- await initializeDiagnosticsApp([fakeKeyboards[0]]);
+ await initializeDiagnosticsApp([(fakeKeyboards[0] as KeyboardInfo)]);
assertTrue(navigationSelectorHasId('input'));
- inputDataProvider.removeFakeConnectedKeyboardById(fakeKeyboards[0].id);
+ inputDataProvider.removeFakeConnectedKeyboardById(fakeKeyboards[0]!.id);
await flushTasks();
assertFalse(navigationSelectorHasId('input'));
});