Commit f919e456 authored by Trent Apted's avatar Trent Apted Committed by Commit Bot

Closure compile file_manager/.../thumbnail_loader_unittest.js.

The //ui/file_manager/common/js:util target has a dependency on the
file_manager_private extern. Break out that extern to a separate target
to bundle its hidden dependencies together, since multiple things
depend on it.

Bug: 860355
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: Icfa65dff5c692b6bd415f9f2d5c67b14a0db0ef6
Reviewed-on: https://chromium-review.googlesource.com/1212706Reviewed-by: default avatarNoel Gordon <noel@chromium.org>
Commit-Queue: Trent Apted <tapted@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589437}
parent f3b67c85
...@@ -121,8 +121,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerJsTest, FileTasks) { ...@@ -121,8 +121,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerJsTest, FileTasks) {
} }
IN_PROC_BROWSER_TEST_F(FileManagerJsTest, ThumbnailLoader) { IN_PROC_BROWSER_TEST_F(FileManagerJsTest, ThumbnailLoader) {
RunTest(base::FilePath( RunGeneratedTest("/foreground/js/thumbnail_loader_unittest.html");
FILE_PATH_LITERAL("foreground/js/thumbnail_loader_unittest.html")));
} }
IN_PROC_BROWSER_TEST_F(FileManagerJsTest, MetadataCacheItem) { IN_PROC_BROWSER_TEST_F(FileManagerJsTest, MetadataCacheItem) {
......
...@@ -50,6 +50,7 @@ group("closure_compile") { ...@@ -50,6 +50,7 @@ group("closure_compile") {
group("unit_test_data") { group("unit_test_data") {
deps = [ deps = [
"file_manager/foreground/js:unit_tests",
"gallery/js:unit_tests", "gallery/js:unit_tests",
"gallery/js/image_editor:unit_tests", "gallery/js/image_editor:unit_tests",
"image_loader:unit_tests", "image_loader:unit_tests",
......
...@@ -15,3 +15,16 @@ js_library("webview_tag") { ...@@ -15,3 +15,16 @@ js_library("webview_tag") {
"webview_tag.js", "webview_tag.js",
] ]
} }
js_library("file_manager_private") {
sources = []
# The file_manager_private extern depends on file_system_provider and
# extension APIs. Ensure they're pulled in together.
externs_list = [
"$externs_path/chrome.js",
"$externs_path/chrome_extensions.js",
"$externs_path/file_manager_private.js",
"$externs_path/file_system_provider.js",
]
}
...@@ -40,8 +40,6 @@ js_library("closure_compile_externs") { ...@@ -40,8 +40,6 @@ js_library("closure_compile_externs") {
sources = [] sources = []
externs_list = [ externs_list = [
"$externs_path/command_line_private.js", "$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/file_system_provider.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",
......
...@@ -58,13 +58,10 @@ js_library("lru_cache") { ...@@ -58,13 +58,10 @@ js_library("lru_cache") {
js_library("metrics") { js_library("metrics") {
deps = [ deps = [
":metrics_base", ":metrics_base",
"../../../externs:file_manager_private",
"//ui/webui/resources/js:assert", "//ui/webui/resources/js:assert",
] ]
externs_list = [ externs_list = [
"$externs_path/chrome.js",
"$externs_path/chrome_extensions.js",
"$externs_path/file_manager_private.js",
"$externs_path/file_system_provider.js",
"$externs_path/metrics_private.js", "$externs_path/metrics_private.js",
"//third_party/analytics/externs.js", "//third_party/analytics/externs.js",
] ]
...@@ -99,14 +96,13 @@ js_library("util") { ...@@ -99,14 +96,13 @@ js_library("util") {
deps = [ deps = [
":files_app_entry_types", ":files_app_entry_types",
":volume_manager_common", ":volume_manager_common",
"../../../externs:file_manager_private",
"//ui/webui/resources/js:load_time_data", "//ui/webui/resources/js:load_time_data",
"//ui/webui/resources/js:util", "//ui/webui/resources/js:util",
"//ui/webui/resources/js/cr:event_target", "//ui/webui/resources/js/cr:event_target",
"//ui/webui/resources/js/cr:ui", "//ui/webui/resources/js/cr:ui",
] ]
externs_list = [ externs_list = [
"$externs_path/chrome.js",
"$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js", "$externs_path/command_line_private.js",
"../../../externs/app_window_common.js", "../../../externs/app_window_common.js",
"../../../externs/entry_location.js", "../../../externs/entry_location.js",
......
...@@ -3,8 +3,9 @@ ...@@ -3,8 +3,9 @@
# found in the LICENSE file. # found in the LICENSE file.
import("//third_party/closure_compiler/compile_js.gni") import("//third_party/closure_compiler/compile_js.gni")
import("//ui/file_manager/js_unit_tests.gni")
js_type_check("closure_compile") { js_type_check("closure_compile_module") {
deps = [ deps = [
":actions_controller", ":actions_controller",
":actions_model", ":actions_model",
...@@ -586,6 +587,15 @@ js_library("thumbnail_loader") { ...@@ -586,6 +587,15 @@ js_library("thumbnail_loader") {
] ]
} }
js_library("thumbnail_loader_unittest") {
deps = [
":thumbnail_loader",
"../../common/js:mock_entry",
"../../common/js:unittest_util",
"//ui/webui/resources/js:webui_resource_test",
]
}
js_library("toolbar_controller") { js_library("toolbar_controller") {
deps = [ deps = [
":file_selection", ":file_selection",
...@@ -598,6 +608,7 @@ js_library("toolbar_controller") { ...@@ -598,6 +608,7 @@ js_library("toolbar_controller") {
js_library("volume_manager_wrapper") { js_library("volume_manager_wrapper") {
deps = [ deps = [
"../../../externs:file_manager_private",
"../../common/js:async_util", "../../common/js:async_util",
"../../common/js:volume_manager_common", "../../common/js:volume_manager_common",
"//ui/webui/resources/js:cr", "//ui/webui/resources/js:cr",
...@@ -605,11 +616,6 @@ js_library("volume_manager_wrapper") { ...@@ -605,11 +616,6 @@ js_library("volume_manager_wrapper") {
"//ui/webui/resources/js/cr/ui:array_data_model", "//ui/webui/resources/js/cr/ui:array_data_model",
] ]
externs_list = [ externs_list = [
# Note: volume_info has a dependency on chrome.fileManagerPrivate.IconSet.
# Also, fileManagerPrivate depends on chrome.fileSystemProvider, so these
# must be introduced together.
"$externs_path/file_manager_private.js",
"$externs_path/file_system_provider.js",
"../../../externs/background/volume_manager_factory.js", "../../../externs/background/volume_manager_factory.js",
"../../../externs/volume_info.js", "../../../externs/volume_info.js",
"../../../externs/volume_info_list.js", "../../../externs/volume_info_list.js",
...@@ -629,3 +635,16 @@ js_library("webui_command_extender") { ...@@ -629,3 +635,16 @@ js_library("webui_command_extender") {
"//ui/webui/resources/js/cr/ui:command", "//ui/webui/resources/js/cr/ui:command",
] ]
} }
js_unit_tests("unit_tests") {
deps = [
":thumbnail_loader_unittest",
]
}
group("closure_compile") {
deps = [
":closure_compile_module",
":unit_tests_type_check",
]
}
...@@ -36,8 +36,6 @@ js_library("closure_compile_externs") { ...@@ -36,8 +36,6 @@ js_library("closure_compile_externs") {
sources = [] sources = []
externs_list = [ externs_list = [
"$externs_path/command_line_private.js", "$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/file_system_provider.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",
......
<!DOCTYPE html>
<!-- Copyright 2015 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.
-->
<script src="../../../../webui/resources/js/assert.js"></script>
<script src="../../common/js/file_type.js"></script>
<script src="../../common/js/mock_entry.js"></script>
<script src="../../common/js/unittest_util.js"></script>
<script src="../../../image_loader/image_loader_client.js"></script>
<script src="thumbnail_loader.js"></script>
<script src="thumbnail_loader_unittest.js"></script>
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
// found in the LICENSE file. // found in the LICENSE file.
function getLoadTarget(entry, metadata) { function getLoadTarget(entry, metadata) {
return new ThumbnailLoader(entry, null, metadata).getLoadTarget(); return new ThumbnailLoader(entry, ThumbnailLoader.LoaderType.CANVAS, metadata)
.getLoadTarget();
} }
/** /**
...@@ -26,6 +27,17 @@ function generateSampleImageDataUrl(width, height) { ...@@ -26,6 +27,17 @@ function generateSampleImageDataUrl(width, height) {
return canvas.toDataURL('image/png'); return canvas.toDataURL('image/png');
} }
/**
* Installs a mock ImageLoader with a compatible load method.
*
* @param {function(string, function(!Object), Object=)} mockLoad
*/
function installMockLoad(mockLoad) {
ImageLoaderClient.getInstance = function() {
return /** @type {!ImageLoaderClient} */ ({load: mockLoad});
};
}
function testShouldUseMetadataThumbnail() { function testShouldUseMetadataThumbnail() {
var mockFileSystem = new MockFileSystem('volumeId'); var mockFileSystem = new MockFileSystem('volumeId');
var imageEntry = new MockEntry(mockFileSystem, '/test.jpg'); var imageEntry = new MockEntry(mockFileSystem, '/test.jpg');
...@@ -55,14 +67,9 @@ function testShouldUseMetadataThumbnail() { ...@@ -55,14 +67,9 @@ function testShouldUseMetadataThumbnail() {
} }
function testLoadAsDataUrlFromImageClient(callback) { function testLoadAsDataUrlFromImageClient(callback) {
ImageLoaderClient.getInstance = function() { installMockLoad(function(url, callback, opt_option) {
return { callback({status: 'success', data: 'imageDataUrl', width: 32, height: 32});
load: function(url, callback, opt_option) { });
callback({
status: 'success', data: 'imageDataUrl', width: 32, height: 32});
}
};
};
var fileSystem = new MockFileSystem('volume-id'); var fileSystem = new MockFileSystem('volume-id');
var entry = new MockEntry(fileSystem, '/Test1.jpg'); var entry = new MockEntry(fileSystem, '/Test1.jpg');
...@@ -75,15 +82,11 @@ function testLoadAsDataUrlFromImageClient(callback) { ...@@ -75,15 +82,11 @@ function testLoadAsDataUrlFromImageClient(callback) {
} }
function testLoadAsDataUrlFromExifThumbnail(callback) { function testLoadAsDataUrlFromExifThumbnail(callback) {
ImageLoaderClient.getInstance = function() { installMockLoad(function(url, callback, opt_option) {
return { // Assert that data url is passed.
load: function(url, callback, opt_option) { assertTrue(/^data:/i.test(url));
// Assert that data url is passed. callback({status: 'success', data: url, width: 32, height: 32});
assertTrue(/^data:/i.test(url)); });
callback({status: 'success', data: url, width: 32, height: 32});
}
};
};
var metadata = { var metadata = {
thumbnail: { thumbnail: {
...@@ -102,17 +105,17 @@ function testLoadAsDataUrlFromExifThumbnail(callback) { ...@@ -102,17 +105,17 @@ function testLoadAsDataUrlFromExifThumbnail(callback) {
} }
function testLoadAsDataUrlFromExifThumbnailPropagatesTransform(callback) { function testLoadAsDataUrlFromExifThumbnailPropagatesTransform(callback) {
ImageLoaderClient.getInstance = function() { installMockLoad(function(url, callback, opt_option) {
return { // Assert that data url and transform info is passed.
load: function(url, callback, opt_option) { assertTrue(/^data:/i.test(url));
// Assert that data url and transform info is passed. assertEquals(1, opt_option.orientation.rotate90);
assertTrue(/^data:/i.test(url)); callback({
assertEquals(1, opt_option.orientation.rotate90); status: 'success',
callback({status: 'success', data: generateSampleImageDataUrl(32, 64), data: generateSampleImageDataUrl(32, 64),
width: 32, height: 64}); width: 32,
} height: 64
}; });
}; });
var metadata = { var metadata = {
thumbnail: { thumbnail: {
...@@ -142,15 +145,15 @@ function testLoadAsDataUrlFromExternal(callback) { ...@@ -142,15 +145,15 @@ function testLoadAsDataUrlFromExternal(callback) {
var externalCroppedThumbnailUrl = 'https://external-cropped-thumbnail-url/'; var externalCroppedThumbnailUrl = 'https://external-cropped-thumbnail-url/';
var externalThumbnailDataUrl = generateSampleImageDataUrl(32, 32); var externalThumbnailDataUrl = generateSampleImageDataUrl(32, 32);
ImageLoaderClient.getInstance = function() { installMockLoad(function(url, callback, opt_option) {
return { assertEquals(externalCroppedThumbnailUrl, url);
load: function(url, callback, opt_option) { callback({
assertEquals(externalCroppedThumbnailUrl, url); status: 'success',
callback({status: 'success', data: externalThumbnailDataUrl, data: externalThumbnailDataUrl,
width: 32, height: 32}); width: 32,
} height: 32
}; });
}; });
var metadata = { var metadata = {
external: { external: {
...@@ -170,19 +173,19 @@ function testLoadAsDataUrlFromExternal(callback) { ...@@ -170,19 +173,19 @@ function testLoadAsDataUrlFromExternal(callback) {
} }
function testLoadDetachedFromExifInCavnasModeThumbnailDoesNotRotate(callback) { function testLoadDetachedFromExifInCavnasModeThumbnailDoesNotRotate(callback) {
ImageLoaderClient.getInstance = function() { installMockLoad(function(url, callback, opt_option) {
return { // Assert that data url is passed.
load: function(url, callback, opt_option) { assertTrue(/^data:/i.test(url));
// Assert that data url is passed. // Assert that the rotation is propagated to ImageLoader.
assertTrue(/^data:/i.test(url)); assertEquals(1, opt_option.orientation.rotate90);
// Assert that the rotation is propagated to ImageLoader. // ImageLoader returns rotated image.
assertEquals(1, opt_option.orientation.rotate90); callback({
// ImageLoader returns rotated image. status: 'success',
callback({status: 'success', data: generateSampleImageDataUrl(32, 64), data: generateSampleImageDataUrl(32, 64),
width: 32, height: 64}); width: 32,
} height: 64
}; });
}; });
var metadata = { var metadata = {
thumbnail: { thumbnail: {
......
...@@ -50,8 +50,6 @@ js_library("closure_compile_externs") { ...@@ -50,8 +50,6 @@ js_library("closure_compile_externs") {
externs_list = [ externs_list = [
"js/externs.js", "js/externs.js",
"$externs_path/command_line_private.js", "$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/file_system_provider.js",
"$externs_path/metrics_private.js", "$externs_path/metrics_private.js",
"../../externs/app_window_common.js", "../../externs/app_window_common.js",
"../../externs/background/file_browser_background.js", "../../externs/background/file_browser_background.js",
......
...@@ -52,13 +52,10 @@ js_library("dimmable_ui_controller_unittest") { ...@@ -52,13 +52,10 @@ js_library("dimmable_ui_controller_unittest") {
js_library("entry_list_watcher") { js_library("entry_list_watcher") {
deps = [ deps = [
"../../externs:file_manager_private",
"//ui/webui/resources/js:assert", "//ui/webui/resources/js:assert",
"//ui/webui/resources/js/cr/ui:array_data_model", "//ui/webui/resources/js/cr/ui:array_data_model",
] ]
externs_list = [
"$externs_path/file_system_provider.js",
"$externs_path/file_manager_private.js",
]
} }
js_library("entry_list_watcher_unittest") { js_library("entry_list_watcher_unittest") {
......
...@@ -40,10 +40,7 @@ js_library("image_loader") { ...@@ -40,10 +40,7 @@ js_library("image_loader") {
":piex_loader", ":piex_loader",
":request", ":request",
":scheduler", ":scheduler",
] "../externs:file_manager_private",
externs_list = [
"$externs_path/file_manager_private.js",
"$externs_path/file_system_provider.js",
] ]
} }
......
...@@ -19,8 +19,6 @@ js_library("closure_compile_externs") { ...@@ -19,8 +19,6 @@ js_library("closure_compile_externs") {
externs_list = [ externs_list = [
"$externs_path/chrome_extensions.js", "$externs_path/chrome_extensions.js",
"$externs_path/command_line_private.js", "$externs_path/command_line_private.js",
"$externs_path/file_manager_private.js",
"$externs_path/file_system_provider.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