Commit 4d99c97f authored by Joon Ahn's avatar Joon Ahn Committed by Commit Bot

Scanning: Set up closure compilation 1/n

Part 1 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).

Bug: 1059779
Test: browser_tests --gtest_filter=Scanning* && autoninja -C ${out} chrome/test/data/webui:closure_compile
Change-Id: I2919208ffe58ff422dcc675a40dfd9a8fe573246
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2511758
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@{#824087}
parent a3003e11
# 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://scanning/=../../chromeos/components/scanning/resources/\"",
"js_module_root=../../chrome/test/data/webui/",
"js_module_root=./gen/chrome/test/data/webui/",
]
deps = [
":color_mode_select_test",
":file_type_select_test",
":page_size_select_test",
":resolution_select_test",
":scan_preview_test",
":scan_to_select_test",
":scanner_select_test",
":scanning_app_test_utils",
":test_scanning_browser_proxy",
]
}
js_library("color_mode_select_test") {
deps = [
":scanning_app_test_utils",
"//chromeos/components/scanning/resources:color_mode_select",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("file_type_select_test") {
deps = [ "//chromeos/components/scanning/resources:file_type_select" ]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("page_size_select_test") {
deps = [ "//chromeos/components/scanning/resources:page_size_select" ]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("resolution_select_test") {
deps = [ "//chromeos/components/scanning/resources:resolution_select" ]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("scan_preview_test") {
deps = [ "//chromeos/components/scanning/resources:scan_preview" ]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("scan_to_select_test") {
deps = [
":test_scanning_browser_proxy",
"//chromeos/components/scanning/resources:scan_to_select",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("scanner_select_test") {
deps = [
":scanning_app_test_utils",
"//chromeos/components/scanning/resources:scanner_select",
]
externs_list = [ "$externs_path/mocha-2.5.js" ]
}
js_library("scanning_app_test_utils") {
}
js_library("test_scanning_browser_proxy") {
deps = [
"../..:test_browser_proxy.m",
"//chromeos/components/scanning/resources:scanning_browser_proxy",
]
}
...@@ -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 {getColorModeString} from 'chrome://scanning/scanning_app_util.js'; import {getColorModeString} from 'chrome://scanning/scanning_app_util.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
const ColorMode = { const ColorMode = {
BLACK_AND_WHITE: chromeos.scanning.mojom.ColorMode.kBlackAndWhite, BLACK_AND_WHITE: chromeos.scanning.mojom.ColorMode.kBlackAndWhite,
GRAYSCALE: chromeos.scanning.mojom.ColorMode.kGrayscale, GRAYSCALE: chromeos.scanning.mojom.ColorMode.kGrayscale,
...@@ -15,11 +17,12 @@ const ColorMode = { ...@@ -15,11 +17,12 @@ const ColorMode = {
}; };
export function colorModeSelectTest() { export function colorModeSelectTest() {
/** @type {!ColorModeSelectElement} */ /** @type {?ColorModeSelectElement} */
let colorModeSelect; let colorModeSelect = null;
setup(() => { setup(() => {
colorModeSelect = document.createElement('color-mode-select'); colorModeSelect = /** @type {!ColorModeSelectElement} */ (
document.createElement('color-mode-select'));
assertTrue(!!colorModeSelect); assertTrue(!!colorModeSelect);
document.body.appendChild(colorModeSelect); document.body.appendChild(colorModeSelect);
}); });
......
...@@ -7,6 +7,8 @@ import 'chrome://scanning/scanning_app.js'; ...@@ -7,6 +7,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 {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
const FileType = { const FileType = {
JPG: chromeos.scanning.mojom.FileType.kJpg, JPG: chromeos.scanning.mojom.FileType.kJpg,
PDF: chromeos.scanning.mojom.FileType.kPdf, PDF: chromeos.scanning.mojom.FileType.kPdf,
...@@ -14,11 +16,12 @@ const FileType = { ...@@ -14,11 +16,12 @@ const FileType = {
}; };
export function fileTypeSelectTest() { export function fileTypeSelectTest() {
/** @type {!FileTypeSelectElement} */ /** @type {?FileTypeSelectElement} */
let fileTypeSelect; let fileTypeSelect = null;
setup(() => { setup(() => {
fileTypeSelect = document.createElement('file-type-select'); fileTypeSelect = /** @type {!FileTypeSelectElement} */ (
document.createElement('file-type-select'));
assertTrue(!!fileTypeSelect); assertTrue(!!fileTypeSelect);
document.body.appendChild(fileTypeSelect); document.body.appendChild(fileTypeSelect);
}); });
......
...@@ -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 {getPageSizeString} from 'chrome://scanning/scanning_app_util.js'; import {getPageSizeString} from 'chrome://scanning/scanning_app_util.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
const PageSize = { const PageSize = {
A4: chromeos.scanning.mojom.PageSize.kIsoA4, A4: chromeos.scanning.mojom.PageSize.kIsoA4,
Letter: chromeos.scanning.mojom.PageSize.kNaLetter, Letter: chromeos.scanning.mojom.PageSize.kNaLetter,
...@@ -15,11 +17,12 @@ const PageSize = { ...@@ -15,11 +17,12 @@ const PageSize = {
}; };
export function pageSizeSelectTest() { export function pageSizeSelectTest() {
/** @type {!PageSizeSelectElement} */ /** @type {?PageSizeSelectElement} */
let pageSizeSelect; let pageSizeSelect = null;
setup(() => { setup(() => {
pageSizeSelect = document.createElement('page-size-select'); pageSizeSelect = /** @type {!PageSizeSelectElement} */ (
document.createElement('page-size-select'));
assertTrue(!!pageSizeSelect); assertTrue(!!pageSizeSelect);
document.body.appendChild(pageSizeSelect); document.body.appendChild(pageSizeSelect);
}); });
......
...@@ -7,12 +7,15 @@ import 'chrome://scanning/scanning_app.js'; ...@@ -7,12 +7,15 @@ 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 {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
export function resolutionSelectTest() { export function resolutionSelectTest() {
/** @type {!ResolutionSelectElement} */ /** @type {?ResolutionSelectElement} */
let resolutionSelect; let resolutionSelect = null;
setup(() => { setup(() => {
resolutionSelect = document.createElement('resolution-select'); resolutionSelect = /** @type {!ResolutionSelectElement} */ (
document.createElement('resolution-select'));
assertTrue(!!resolutionSelect); assertTrue(!!resolutionSelect);
document.body.appendChild(resolutionSelect); document.body.appendChild(resolutionSelect);
}); });
......
...@@ -3,14 +3,16 @@ ...@@ -3,14 +3,16 @@
// found in the LICENSE file. // found in the LICENSE file.
import 'chrome://scanning/scan_preview.js'; import 'chrome://scanning/scan_preview.js';
import 'chrome://scanning/scanning_app.js';
import {assertTrue} from '../../chai_assert.js';
export function scanPreviewTest() { export function scanPreviewTest() {
/** @type {?ScanPreviewElement} */ /** @type {?ScanPreviewElement} */
let scanPreview = null; let scanPreview = null;
setup(() => { setup(() => {
scanPreview = document.createElement('scan-preview'); scanPreview = /** @type {!ScanPreviewElement} */ (
document.createElement('scan-preview'));
assertTrue(!!scanPreview); assertTrue(!!scanPreview);
document.body.appendChild(scanPreview); document.body.appendChild(scanPreview);
}); });
......
...@@ -7,6 +7,7 @@ import 'chrome://scanning/scanning_app.js'; ...@@ -7,6 +7,7 @@ import 'chrome://scanning/scanning_app.js';
import {ScanningBrowserProxyImpl} from 'chrome://scanning/scanning_browser_proxy.js'; import {ScanningBrowserProxyImpl} from 'chrome://scanning/scanning_browser_proxy.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
import {flushTasks} from '../../test_util.m.js'; import {flushTasks} from '../../test_util.m.js';
import {TestScanningBrowserProxy} from './test_scanning_browser_proxy.js'; import {TestScanningBrowserProxy} from './test_scanning_browser_proxy.js';
...@@ -18,17 +19,15 @@ export function scanToSelectTest() { ...@@ -18,17 +19,15 @@ export function scanToSelectTest() {
/** @type {?TestScanningBrowserProxy} */ /** @type {?TestScanningBrowserProxy} */
let scanningBrowserProxy = null; let scanningBrowserProxy = null;
/** @const {string} */
const myFiles = 'My files'; const myFiles = 'My files';
/** @const {string} */
const selectFolderText = 'Select folder in Files app…'; const selectFolderText = 'Select folder in Files app…';
setup(() => { setup(() => {
scanningBrowserProxy = new TestScanningBrowserProxy(); scanningBrowserProxy = new TestScanningBrowserProxy();
ScanningBrowserProxyImpl.instance_ = scanningBrowserProxy; ScanningBrowserProxyImpl.instance_ = scanningBrowserProxy;
scanToSelect = document.createElement('scan-to-select'); scanToSelect = /** @type {!ScanToSelectElement} */ (
document.createElement('scan-to-select'));
assertTrue(!!scanToSelect); assertTrue(!!scanToSelect);
document.body.appendChild(scanToSelect); document.body.appendChild(scanToSelect);
}); });
......
...@@ -9,14 +9,25 @@ import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min ...@@ -9,14 +9,25 @@ import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min
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 * as utils from './scanning_app_test_utils.js'; import * as utils from './scanning_app_test_utils.js';
const firstScannerId =
/** @type {!mojoBase.mojom.UnguessableToken} */ ({high: 0, low: 1});
const firstScannerName = 'Scanner 1';
const secondScannerId =
/** @type {!mojoBase.mojom.UnguessableToken} */ ({high: 0, low: 2});
const secondScannerName = 'Scanner 2';
export function scannerSelectTest() { export function scannerSelectTest() {
/** @type {!ScannerSelectElement} */ /** @type {?ScannerSelectElement} */
let scannerSelect; let scannerSelect = null;
setup(() => { setup(() => {
scannerSelect = document.createElement('scanner-select'); scannerSelect = /** @type {!ScannerSelectElement} */ (
document.createElement('scanner-select'));
assertTrue(!!scannerSelect); assertTrue(!!scannerSelect);
scannerSelect.loaded = false; scannerSelect.loaded = false;
document.body.appendChild(scannerSelect); document.body.appendChild(scannerSelect);
...@@ -37,10 +48,6 @@ export function scannerSelectTest() { ...@@ -37,10 +48,6 @@ export function scannerSelectTest() {
assertTrue(!!throbber); assertTrue(!!throbber);
assertFalse(throbber.hidden); assertFalse(throbber.hidden);
const firstScannerId = {high: 0, low: 1};
const firstScannerName = 'Scanner 1';
const secondScannerId = {high: 0, low: 2};
const secondScannerName = 'Scanner 2';
const scannerArr = [ const scannerArr = [
utils.createScanner(firstScannerId, firstScannerName), utils.createScanner(firstScannerId, firstScannerName),
utils.createScanner(secondScannerId, secondScannerName) utils.createScanner(secondScannerId, secondScannerName)
...@@ -64,7 +71,7 @@ export function scannerSelectTest() { ...@@ -64,7 +71,7 @@ export function scannerSelectTest() {
const select = scannerSelect.$$('select'); const select = scannerSelect.$$('select');
assertTrue(!!select); assertTrue(!!select);
let scannerArr = [utils.createScanner({high: 0, low: 1}, 'Scanner 1')]; let scannerArr = [utils.createScanner(firstScannerId, firstScannerName)];
scannerSelect.scanners = scannerArr; scannerSelect.scanners = scannerArr;
scannerSelect.loaded = true; scannerSelect.loaded = true;
flush(); flush();
...@@ -74,7 +81,7 @@ export function scannerSelectTest() { ...@@ -74,7 +81,7 @@ export function scannerSelectTest() {
assertTrue(select.disabled); assertTrue(select.disabled);
scannerArr = scannerArr.concat( scannerArr = scannerArr.concat(
[utils.createScanner({high: 0, low: 2}, 'Scanner 2')]); [utils.createScanner(secondScannerId, secondScannerName)]);
scannerSelect.scanners = scannerArr; scannerSelect.scanners = scannerArr;
flush(); flush();
......
...@@ -18,7 +18,8 @@ export function createScanner(id, displayName) { ...@@ -18,7 +18,8 @@ export function createScanner(id, displayName) {
* @return {!chromeos.scanning.mojom.ScanSource} * @return {!chromeos.scanning.mojom.ScanSource}
*/ */
export function createScannerSource(type, name, pageSizes) { export function createScannerSource(type, name, pageSizes) {
return {type, name, pageSizes}; return /** @type {!chromeos.scanning.mojom.ScanSource} */ (
{type, name, pageSizes});
} }
/** /**
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
// found in the LICENSE file. // found in the LICENSE file.
import {ScanningBrowserProxy, SelectedPath} from 'chrome://scanning/scanning_browser_proxy.js'; import {ScanningBrowserProxy, SelectedPath} from 'chrome://scanning/scanning_browser_proxy.js';
import {TestBrowserProxy} from 'chrome://test/test_browser_proxy.m.js'; import {TestBrowserProxy} from '../../test_browser_proxy.m.js';
/** /**
* Test version of ScanningBrowserProxy. * Test version of ScanningBrowserProxy.
......
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