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';
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {getColorModeString} from 'chrome://scanning/scanning_app_util.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
const ColorMode = {
BLACK_AND_WHITE: chromeos.scanning.mojom.ColorMode.kBlackAndWhite,
GRAYSCALE: chromeos.scanning.mojom.ColorMode.kGrayscale,
......@@ -15,11 +17,12 @@ const ColorMode = {
};
export function colorModeSelectTest() {
/** @type {!ColorModeSelectElement} */
let colorModeSelect;
/** @type {?ColorModeSelectElement} */
let colorModeSelect = null;
setup(() => {
colorModeSelect = document.createElement('color-mode-select');
colorModeSelect = /** @type {!ColorModeSelectElement} */ (
document.createElement('color-mode-select'));
assertTrue(!!colorModeSelect);
document.body.appendChild(colorModeSelect);
});
......
......@@ -7,6 +7,8 @@ import 'chrome://scanning/scanning_app.js';
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
const FileType = {
JPG: chromeos.scanning.mojom.FileType.kJpg,
PDF: chromeos.scanning.mojom.FileType.kPdf,
......@@ -14,11 +16,12 @@ const FileType = {
};
export function fileTypeSelectTest() {
/** @type {!FileTypeSelectElement} */
let fileTypeSelect;
/** @type {?FileTypeSelectElement} */
let fileTypeSelect = null;
setup(() => {
fileTypeSelect = document.createElement('file-type-select');
fileTypeSelect = /** @type {!FileTypeSelectElement} */ (
document.createElement('file-type-select'));
assertTrue(!!fileTypeSelect);
document.body.appendChild(fileTypeSelect);
});
......
......@@ -8,6 +8,8 @@ import 'chrome://scanning/scanning_app.js';
import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
import {getPageSizeString} from 'chrome://scanning/scanning_app_util.js';
import {assertEquals, assertFalse, assertTrue} from '../../chai_assert.js';
const PageSize = {
A4: chromeos.scanning.mojom.PageSize.kIsoA4,
Letter: chromeos.scanning.mojom.PageSize.kNaLetter,
......@@ -15,11 +17,12 @@ const PageSize = {
};
export function pageSizeSelectTest() {
/** @type {!PageSizeSelectElement} */
let pageSizeSelect;
/** @type {?PageSizeSelectElement} */
let pageSizeSelect = null;
setup(() => {
pageSizeSelect = document.createElement('page-size-select');
pageSizeSelect = /** @type {!PageSizeSelectElement} */ (
document.createElement('page-size-select'));
assertTrue(!!pageSizeSelect);
document.body.appendChild(pageSizeSelect);
});
......
......@@ -7,12 +7,15 @@ import 'chrome://scanning/scanning_app.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() {
/** @type {!ResolutionSelectElement} */
let resolutionSelect;
/** @type {?ResolutionSelectElement} */
let resolutionSelect = null;
setup(() => {
resolutionSelect = document.createElement('resolution-select');
resolutionSelect = /** @type {!ResolutionSelectElement} */ (
document.createElement('resolution-select'));
assertTrue(!!resolutionSelect);
document.body.appendChild(resolutionSelect);
});
......
......@@ -3,14 +3,16 @@
// found in the LICENSE file.
import 'chrome://scanning/scan_preview.js';
import 'chrome://scanning/scanning_app.js';
import {assertTrue} from '../../chai_assert.js';
export function scanPreviewTest() {
/** @type {?ScanPreviewElement} */
let scanPreview = null;
setup(() => {
scanPreview = document.createElement('scan-preview');
scanPreview = /** @type {!ScanPreviewElement} */ (
document.createElement('scan-preview'));
assertTrue(!!scanPreview);
document.body.appendChild(scanPreview);
});
......
......@@ -7,6 +7,7 @@ import 'chrome://scanning/scanning_app.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 {TestScanningBrowserProxy} from './test_scanning_browser_proxy.js';
......@@ -18,17 +19,15 @@ export function scanToSelectTest() {
/** @type {?TestScanningBrowserProxy} */
let scanningBrowserProxy = null;
/** @const {string} */
const myFiles = 'My files';
/** @const {string} */
const selectFolderText = 'Select folder in Files app…';
setup(() => {
scanningBrowserProxy = new TestScanningBrowserProxy();
ScanningBrowserProxyImpl.instance_ = scanningBrowserProxy;
scanToSelect = document.createElement('scan-to-select');
scanToSelect = /** @type {!ScanToSelectElement} */ (
document.createElement('scan-to-select'));
assertTrue(!!scanToSelect);
document.body.appendChild(scanToSelect);
});
......
......@@ -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 {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';
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() {
/** @type {!ScannerSelectElement} */
let scannerSelect;
/** @type {?ScannerSelectElement} */
let scannerSelect = null;
setup(() => {
scannerSelect = document.createElement('scanner-select');
scannerSelect = /** @type {!ScannerSelectElement} */ (
document.createElement('scanner-select'));
assertTrue(!!scannerSelect);
scannerSelect.loaded = false;
document.body.appendChild(scannerSelect);
......@@ -37,10 +48,6 @@ export function scannerSelectTest() {
assertTrue(!!throbber);
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 = [
utils.createScanner(firstScannerId, firstScannerName),
utils.createScanner(secondScannerId, secondScannerName)
......@@ -64,7 +71,7 @@ export function scannerSelectTest() {
const select = scannerSelect.$$('select');
assertTrue(!!select);
let scannerArr = [utils.createScanner({high: 0, low: 1}, 'Scanner 1')];
let scannerArr = [utils.createScanner(firstScannerId, firstScannerName)];
scannerSelect.scanners = scannerArr;
scannerSelect.loaded = true;
flush();
......@@ -74,7 +81,7 @@ export function scannerSelectTest() {
assertTrue(select.disabled);
scannerArr = scannerArr.concat(
[utils.createScanner({high: 0, low: 2}, 'Scanner 2')]);
[utils.createScanner(secondScannerId, secondScannerName)]);
scannerSelect.scanners = scannerArr;
flush();
......
......@@ -18,7 +18,8 @@ export function createScanner(id, displayName) {
* @return {!chromeos.scanning.mojom.ScanSource}
*/
export function createScannerSource(type, name, pageSizes) {
return {type, name, pageSizes};
return /** @type {!chromeos.scanning.mojom.ScanSource} */ (
{type, name, pageSizes});
}
/**
......
......@@ -3,7 +3,7 @@
// found in the LICENSE file.
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.
......
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