Commit c157d832 authored by Joon Ahn's avatar Joon Ahn Committed by Commit Bot

Scanning: Set up closure compilation 2/n

Part 2 of enabling closure compiler for scanning browser tests. Focusing on enabling and making sure it compiles, without optimization to tests themselves.

Intentionally omits registration to the main target webui:closure_compile (to be enabled later).

chrome/test/data/webui:closure_compile

Bug: 1059779
Test: browser_tests --gtest_filter=Scanning* && autoninja -C ${out}
Change-Id: I48f06cfd6776ce6cf3583e7ba2005edce8be0d7a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2513688
Commit-Queue: Joon Ahn <joonbug@chromium.org>
Reviewed-by: default avatarJesse Schettler <jschettler@chromium.org>
Reviewed-by: default avatarZentaro Kavanagh <zentaro@chromium.org>
Cr-Commit-Position: refs/heads/master@{#824101}
parent d9d25c3a
...@@ -19,7 +19,10 @@ js_type_check("closure_compile") { ...@@ -19,7 +19,10 @@ js_type_check("closure_compile") {
":scan_preview_test", ":scan_preview_test",
":scan_to_select_test", ":scan_to_select_test",
":scanner_select_test", ":scanner_select_test",
":scanning_app_test",
":scanning_app_test_utils", ":scanning_app_test_utils",
":scanning_app_unified_test",
":source_select_test",
":test_scanning_browser_proxy", ":test_scanning_browser_proxy",
] ]
} }
...@@ -68,9 +71,31 @@ js_library("scanner_select_test") { ...@@ -68,9 +71,31 @@ js_library("scanner_select_test") {
externs_list = [ "$externs_path/mocha-2.5.js" ] externs_list = [ "$externs_path/mocha-2.5.js" ]
} }
js_library("scanning_app_test") {
deps = [
":scanning_app_test_utils",
"../..:test_util.m",
"//chromeos/components/scanning/resources:scanning_app",
"//third_party/polymer/v3_0/components-chromium/iron-collapse:iron-collapse",
"//ui/webui/resources/cr_elements/cr_button:cr_button.m",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("scanning_app_test_utils") { js_library("scanning_app_test_utils") {
} }
js_library("scanning_app_unified_test") {
}
js_library("source_select_test") {
deps = [
":scanning_app_test_utils",
"//chromeos/components/scanning/resources:source_select",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("test_scanning_browser_proxy") { js_library("test_scanning_browser_proxy") {
deps = [ deps = [
"../..:test_browser_proxy.m", "../..:test_browser_proxy.m",
......
...@@ -10,6 +10,7 @@ import {setScanServiceForTesting} from 'chrome://scanning/mojo_interface_provide ...@@ -10,6 +10,7 @@ import {setScanServiceForTesting} from 'chrome://scanning/mojo_interface_provide
import {ScannerArr} from 'chrome://scanning/scanning_app_types.js'; import {ScannerArr} from 'chrome://scanning/scanning_app_types.js';
import {tokenToString} from 'chrome://scanning/scanning_app_util.js'; import {tokenToString} from 'chrome://scanning/scanning_app_util.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js'; import {flushTasks} from '../../test_util.m.js';
import * as utils from './scanning_app_test_utils.js'; import * as utils from './scanning_app_test_utils.js';
...@@ -40,6 +41,7 @@ const SourceType = { ...@@ -40,6 +41,7 @@ const SourceType = {
const pageSizes = [PageSize.A4, PageSize.Letter, PageSize.Max]; const pageSizes = [PageSize.A4, PageSize.Letter, PageSize.Max];
/** @implements {chromeos.scanning.mojom.ScanServiceInterface} */
class FakeScanService { class FakeScanService {
constructor() { constructor() {
/** @private {!Map<string, !PromiseResolver>} */ /** @private {!Map<string, !PromiseResolver>} */
...@@ -152,8 +154,8 @@ export function scanningAppTest() { ...@@ -152,8 +154,8 @@ export function scanningAppTest() {
/** @type {?ScanningAppElement} */ /** @type {?ScanningAppElement} */
let scanningApp = null; let scanningApp = null;
/** @type {?chromeos.scanning.mojom.ScanServiceRemote} */ /** @type {?FakeScanService} */
let fakeScanService_; let fakeScanService_ = null;
suiteSetup(() => { suiteSetup(() => {
fakeScanService_ = new FakeScanService(); fakeScanService_ = new FakeScanService();
...@@ -161,7 +163,7 @@ export function scanningAppTest() { ...@@ -161,7 +163,7 @@ export function scanningAppTest() {
}); });
setup(function() { setup(function() {
PolymerTest.clearBody(); document.body.innerHTML = '';
}); });
teardown(function() { teardown(function() {
...@@ -179,7 +181,8 @@ export function scanningAppTest() { ...@@ -179,7 +181,8 @@ export function scanningAppTest() {
function initializeScanningApp(scanners, capabilities) { function initializeScanningApp(scanners, capabilities) {
fakeScanService_.setScanners(scanners); fakeScanService_.setScanners(scanners);
fakeScanService_.setCapabilities(capabilities); fakeScanService_.setCapabilities(capabilities);
scanningApp = document.createElement('scanning-app'); scanningApp = /** @type {!ScanningAppElement} */ (
document.createElement('scanning-app'));
document.body.appendChild(scanningApp); document.body.appendChild(scanningApp);
assert(!!scanningApp); assert(!!scanningApp);
return fakeScanService_.whenCalled('getScanners'); return fakeScanService_.whenCalled('getScanners');
...@@ -190,7 +193,8 @@ export function scanningAppTest() { ...@@ -190,7 +193,8 @@ export function scanningAppTest() {
* @return {!CrButtonElement} * @return {!CrButtonElement}
*/ */
function getMoreSettingsButton() { function getMoreSettingsButton() {
const button = scanningApp.$$('#moreSettingsButton'); const button =
/** @type {!CrButtonElement} */ (scanningApp.$$('#moreSettingsButton'));
assertTrue(!!button); assertTrue(!!button);
return button; return button;
} }
...@@ -213,10 +217,14 @@ export function scanningAppTest() { ...@@ -213,10 +217,14 @@ export function scanningAppTest() {
} }
test('Scan', () => { test('Scan', () => {
const firstScannerId = {high: 0, low: 1}; const firstScannerId =
/** @type {!mojoBase.mojom.UnguessableToken} */ ({high: 0, low: 1});
const firstScannerName = 'Scanner 1'; const firstScannerName = 'Scanner 1';
const secondScannerId = {high: 0, low: 2};
const secondScannerId =
/** @type {!mojoBase.mojom.UnguessableToken} */ ({high: 0, low: 2});
const secondScannerName = 'Scanner 2'; const secondScannerName = 'Scanner 2';
const expectedScanners = [ const expectedScanners = [
utils.createScanner(firstScannerId, firstScannerName), utils.createScanner(firstScannerId, firstScannerName),
utils.createScanner(secondScannerId, secondScannerName) utils.createScanner(secondScannerId, secondScannerName)
......
...@@ -18,7 +18,7 @@ import {sourceSelectTest} from './source_select_test.js'; ...@@ -18,7 +18,7 @@ import {sourceSelectTest} from './source_select_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);
} }
......
...@@ -8,6 +8,8 @@ import 'chrome://scanning/scanning_app.js'; ...@@ -8,6 +8,8 @@ import 'chrome://scanning/scanning_app.js';
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js'; import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {getSourceTypeString} from 'chrome://scanning/scanning_app_util.js'; import {getSourceTypeString} from 'chrome://scanning/scanning_app_util.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import * as utils from './scanning_app_test_utils.js'; import * as utils from './scanning_app_test_utils.js';
const FileType = { const FileType = {
...@@ -31,11 +33,12 @@ const SourceType = { ...@@ -31,11 +33,12 @@ const SourceType = {
const pageSizes = [PageSize.A4, PageSize.Letter, PageSize.Max]; const pageSizes = [PageSize.A4, PageSize.Letter, PageSize.Max];
export function sourceSelectTest() { export function sourceSelectTest() {
/** @type {!SourceSelectElement} */ /** @type {?SourceSelectElement} */
let sourceSelect; let sourceSelect = null;
setup(() => { setup(() => {
sourceSelect = document.createElement('source-select'); sourceSelect = /** @type {!SourceSelectElement} */ (
document.createElement('source-select'));
assertTrue(!!sourceSelect); assertTrue(!!sourceSelect);
document.body.appendChild(sourceSelect); document.body.appendChild(sourceSelect);
}); });
......
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