Commit 689a69cd authored by Trent Apted's avatar Trent Apted Committed by Commit Bot

Use strictCheckTypes for image_loader unittests.

 - capture unittest_util.js's use of commandLinePrivate
 - audit remaining things using command_line_private.js unnecessarily
   (Only files in file_manager/common/js and file_manager/foreground/js
    use it directly.)
 - Remove an annoying dep that piex_loader_unittest.js has on webui
   (Use a custom element instead: cr/ui.js dislikes strictCheckTypes.).

Bug: 882750, 879958
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: I70c9e16b1ba7b9af64e0ce01b7177ef02500c948
Reviewed-on: https://chromium-review.googlesource.com/1245079
Commit-Queue: Trent Apted <tapted@chromium.org>
Reviewed-by: default avatarNoel Gordon <noel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594945}
parent bad06602
...@@ -18,7 +18,6 @@ js_library("closure_compile_externs") { ...@@ -18,7 +18,6 @@ js_library("closure_compile_externs") {
sources = [] sources = []
externs_list = [ externs_list = [
"$externs_path/chrome_extensions.js", "$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/metrics_private.js", "$externs_path/metrics_private.js",
"../../externs/audio_player_foreground.js", "../../externs/audio_player_foreground.js",
"../../externs/entry_location.js", "../../externs/entry_location.js",
......
...@@ -55,7 +55,6 @@ js_type_check("closure_compile") { ...@@ -55,7 +55,6 @@ js_type_check("closure_compile") {
js_library("closure_compile_externs") { js_library("closure_compile_externs") {
sources = [] sources = []
externs_list = [ externs_list = [
"$externs_path/command_line_private.js",
"$externs_path/metrics_private.js", "$externs_path/metrics_private.js",
"../../../externs/background/file_browser_background.js", "../../../externs/background/file_browser_background.js",
"../../../externs/background/file_browser_background_full.js", "../../../externs/background/file_browser_background_full.js",
......
...@@ -101,6 +101,7 @@ js_library("unittest_util") { ...@@ -101,6 +101,7 @@ js_library("unittest_util") {
deps = [ deps = [
"//ui/webui/resources/js:webui_resource_test", "//ui/webui/resources/js:webui_resource_test",
] ]
externs_list = [ "$externs_path/command_line_private.js" ]
} }
js_library("util") { js_library("util") {
......
...@@ -12,12 +12,14 @@ var INTERVAL_FOR_WAIT_UNTIL = 100; // ms ...@@ -12,12 +12,14 @@ var INTERVAL_FOR_WAIT_UNTIL = 100; // ms
* test failed. * test failed.
*/ */
function reportPromise(promise, callback) { function reportPromise(promise, callback) {
promise.then(function() { promise.then(
callback(/* error */ false); function() {
}, function(error) { callback(/* error */ false);
console.error(error.stack || error); },
callback(/* error */ true); function(/** @type {Error} */ error) {
}); console.error(error.stack || error);
callback(/* error */ true);
});
} }
/** /**
......
...@@ -38,7 +38,6 @@ js_type_check("closure_compile") { ...@@ -38,7 +38,6 @@ js_type_check("closure_compile") {
js_library("closure_compile_externs") { js_library("closure_compile_externs") {
sources = [] sources = []
externs_list = [ externs_list = [
"$externs_path/command_line_private.js",
"../../../../externs/app_window_common.js", "../../../../externs/app_window_common.js",
"../../../../externs/entry_location.js", "../../../../externs/entry_location.js",
"../../../../externs/platform.js", "../../../../externs/platform.js",
......
...@@ -45,7 +45,6 @@ js_type_check("closure_compile") { ...@@ -45,7 +45,6 @@ js_type_check("closure_compile") {
js_library("closure_compile_externs") { js_library("closure_compile_externs") {
sources = [] sources = []
externs_list = [ externs_list = [
"$externs_path/command_line_private.js",
"$externs_path/metrics_private.js", "$externs_path/metrics_private.js",
"$externs_path/web_animations.js", "$externs_path/web_animations.js",
"../../../../externs/app_window_common.js", "../../../../externs/app_window_common.js",
......
...@@ -102,7 +102,6 @@ js_library("piex_loader_unittest") { ...@@ -102,7 +102,6 @@ js_library("piex_loader_unittest") {
":piex_loader", ":piex_loader",
"../file_manager/common/js:unittest_util", "../file_manager/common/js:unittest_util",
"//ui/webui/resources/js:webui_resource_test", "//ui/webui/resources/js:webui_resource_test",
"//ui/webui/resources/js/cr:ui",
] ]
} }
...@@ -126,8 +125,7 @@ js_library("scheduler") { ...@@ -126,8 +125,7 @@ js_library("scheduler") {
} }
js_unit_tests("unit_tests") { js_unit_tests("unit_tests") {
# TODO(tapted): Uncomment the next line. closure_flags = default_closure_args + [ "jscomp_error=strictCheckTypes" ]
# closure_flags = default_closure_args + [ "jscomp_error=strictCheckTypes" ]
deps = [ deps = [
":cache_unittest", ":cache_unittest",
":image_loader_client_unittest", ":image_loader_client_unittest",
......
...@@ -8,36 +8,37 @@ chrome.fileManagerPrivate = { ...@@ -8,36 +8,37 @@ chrome.fileManagerPrivate = {
} }
}; };
/** class MockModule extends HTMLDivElement {
* @constructor constructor() {
* @extends {HTMLDivElement} super();
*/ /** @type{?function()} */
var MockModule = /** @type{function(new:MockModule)}*/ (cr.ui.define('div')); this.onBeforeMessageCallback_ = null;
MockModule.prototype = Object.create(HTMLDivElement.prototype); setTimeout(() => {
MockModule.prototype.constructor = MockModule; this.dispatchEvent(new Event('load', {bubbles: true}));
});
}
MockModule.prototype.setBeforeMessageCallback = function(callback) { setBeforeMessageCallback(callback) {
this.onBeforeMessageCallback_ = callback; this.onBeforeMessageCallback_ = callback;
}; }
MockModule.prototype.decorate = function() { postMessage(message) {
this.onBeforeMessageCallback_ = null; setTimeout(() => {
setTimeout(function() { this.dispatchEvent(new Event('load', {bubbles: true}));
this.dispatchEvent(new Event('load', {bubbles: true})); if (this.onBeforeMessageCallback_)
}.bind(this)); this.onBeforeMessageCallback_();
};
MockModule.prototype.postMessage = function(message) { let e = new Event('message', {bubbles: true});
setTimeout(function() { // Cast to a MessageEvent to write to |data|. We can't use
this.dispatchEvent(new Event('load', {bubbles: true})); // `new MessageEvent` since its |data| property is read-only.
if (this.onBeforeMessageCallback_) /** @type{MessageEvent} */ (e)
this.onBeforeMessageCallback_(); .data = {id: message.id, thumbnail: 'thumbnail-data', orientation: 1};
this.dispatchEvent(e);
});
}
}
var e = new CustomEvent('message', {bubbles: true}); customElements.define('mock-module', MockModule, {extends: 'div'});
e.data = {id: message.id, thumbnail: 'thumbnail-data', orientation: 1};
this.dispatchEvent(e);
}.bind(this));
};
function testUnloadingAfterTimeout(callback) { function testUnloadingAfterTimeout(callback) {
var loadCount = 0; var loadCount = 0;
......
...@@ -20,7 +20,6 @@ js_library("closure_compile_externs") { ...@@ -20,7 +20,6 @@ js_library("closure_compile_externs") {
sources = [] sources = []
externs_list = [ externs_list = [
"$externs_path/chrome_extensions.js", "$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/media_player_private.js", "$externs_path/media_player_private.js",
"$externs_path/metrics_private.js", "$externs_path/metrics_private.js",
"../../externs/chrome_cast.js", "../../externs/chrome_cast.js",
......
...@@ -18,7 +18,6 @@ js_library("closure_compile_externs") { ...@@ -18,7 +18,6 @@ js_library("closure_compile_externs") {
sources = [] sources = []
externs_list = [ externs_list = [
"$externs_path/chrome_extensions.js", "$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js",
"$externs_path/media_player_private.js", "$externs_path/media_player_private.js",
"$externs_path/metrics_private.js", "$externs_path/metrics_private.js",
"../../../externs/app_window_common.js", "../../../externs/app_window_common.js",
......
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