Commit 6fc0f5dd authored by Trent Apted's avatar Trent Apted Committed by Commit Bot

FilesApp: Closure compile background/.../volume_manager_unittest

Related apps under ui/file_manager all use background_base.js, which
instantiates a VolumeManagerFactory. VolumeManagerFactory,
BackgroundBase, their tests, and things they depend on should all move
to //ui/file_manager/base/*.

Capturing deps by Closure-compiling makes things easier to move.
Start with volume_manager_unittest.js. Break its dependency on the
files app `unittest_util.js` (which shouldn't move) by splitting out
some test utility functions to ui/file_manager/base/js/mock_chrome.js.

Bug: 879035, 860355
Cq-Include-Trybots: luci.chromium.try:closure_compilation
Change-Id: Ieab83e90607da78cf06352ecce73c0f8d62a2838
Reviewed-on: https://chromium-review.googlesource.com/c/1278622
Commit-Queue: Trent Apted <tapted@chromium.org>
Reviewed-by: default avatarNoel Gordon <noel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#599845}
parent def776e7
...@@ -55,8 +55,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerJsTest, ImportHistoryTest) { ...@@ -55,8 +55,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerJsTest, ImportHistoryTest) {
} }
IN_PROC_BROWSER_TEST_F(FileManagerJsTest, VolumeManagerTest) { IN_PROC_BROWSER_TEST_F(FileManagerJsTest, VolumeManagerTest) {
RunTest(base::FilePath( RunGeneratedTest("/background/js/volume_manager_unittest.html");
FILE_PATH_LITERAL("background/js/volume_manager_unittest.html")));
} }
IN_PROC_BROWSER_TEST_F(FileManagerJsTest, DirectoryTreeTest) { IN_PROC_BROWSER_TEST_F(FileManagerJsTest, DirectoryTreeTest) {
......
...@@ -51,6 +51,7 @@ group("closure_compile") { ...@@ -51,6 +51,7 @@ group("closure_compile") {
group("unit_test_data") { group("unit_test_data") {
deps = [ deps = [
"file_manager/background/js:unit_tests",
"file_manager/common/js:unit_tests", "file_manager/common/js:unit_tests",
"file_manager/foreground/js:unit_tests", "file_manager/foreground/js:unit_tests",
"gallery/js:unit_tests", "gallery/js:unit_tests",
......
...@@ -21,6 +21,7 @@ js_type_check("closure_compile_module") { ...@@ -21,6 +21,7 @@ js_type_check("closure_compile_module") {
js_type_check("test_support_type_check") { js_type_check("test_support_type_check") {
deps = [ deps = [
":mock_chrome",
":test_error_reporting", ":test_error_reporting",
] ]
} }
...@@ -39,6 +40,9 @@ js_library("filtered_volume_manager") { ...@@ -39,6 +40,9 @@ js_library("filtered_volume_manager") {
[ "//ui/file_manager/externs/background/volume_manager_factory.js" ] [ "//ui/file_manager/externs/background/volume_manager_factory.js" ]
} }
js_library("mock_chrome") {
}
js_library("test_error_reporting") { js_library("test_error_reporting") {
deps = [ deps = [
# Note we allow targets depending on test_error_reporting to access # Note we allow targets depending on test_error_reporting to access
......
// Copyright 2018 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.
/**
* Installs a mock object to replace window.chrome in a unit test.
* @param {Object} mockChrome
*/
function installMockChrome(mockChrome) {
/** @suppress {const|checkTypes} */
chrome = mockChrome;
}
/**
* Mocks chrome.commandLinePrivate.
* @constructor
*/
function MockCommandLinePrivate() {
this.flags_ = {};
if (!chrome)
installMockChrome({});
if (!chrome.commandLinePrivate) {
/** @suppress {checkTypes} */
chrome.commandLinePrivate = {};
}
chrome.commandLinePrivate.hasSwitch = (name, callback) => {
window.setTimeout(() => {
callback(name in this.flags_);
}, 0);
};
}
/**
* Add a switch.
* @param {string} name of the switch to add.
*/
MockCommandLinePrivate.prototype.addSwitch = function(name) {
this.flags_[name] = true;
};
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
# 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("//third_party/closure_compiler/js_unit_tests.gni")
# TODO(tapted): This folder should be restricted to file_manager, but related # TODO(tapted): This folder should be restricted to file_manager, but related
# apps currently depend on background_base, which depends on # apps currently depend on background_base, which depends on
...@@ -17,10 +18,17 @@ related_apps = [ ...@@ -17,10 +18,17 @@ related_apps = [
"//ui/file_manager/video_player/*", "//ui/file_manager/video_player/*",
] ]
group("closure_compile") {
deps = [
":closure_compile_module",
":unit_tests_type_check",
]
}
# Default to private. # Default to private.
visibility = [ ":*" ] visibility = [ ":*" ]
js_type_check("closure_compile") { js_type_check("closure_compile_module") {
deps = [ deps = [
":app_window_wrapper", ":app_window_wrapper",
":app_windows", ":app_windows",
...@@ -63,13 +71,9 @@ js_library("closure_compile_externs") { ...@@ -63,13 +71,9 @@ js_library("closure_compile_externs") {
"../../../externs/background/media_scanner.js", "../../../externs/background/media_scanner.js",
"../../../externs/background_window.js", "../../../externs/background_window.js",
"../../../externs/css_rule.js", "../../../externs/css_rule.js",
"../../../externs/entry_location.js",
"../../../externs/file_operation_progress_event.js", "../../../externs/file_operation_progress_event.js",
"../../../externs/launcher_search_provider.js", "../../../externs/launcher_search_provider.js",
"../../../externs/platform.js", "../../../externs/platform.js",
"../../../externs/volume_info.js",
"../../../externs/volume_info_list.js",
"../../../externs/volume_manager.js",
"//third_party/analytics/externs.js", "//third_party/analytics/externs.js",
] ]
} }
...@@ -148,6 +152,7 @@ js_library("entry_location_impl") { ...@@ -148,6 +152,7 @@ js_library("entry_location_impl") {
deps = [ deps = [
"../../common/js:volume_manager_common", "../../common/js:volume_manager_common",
] ]
externs_list = [ "../../../externs/entry_location.js" ]
} }
js_library("file_operation_handler") { js_library("file_operation_handler") {
...@@ -270,6 +275,7 @@ js_library("volume_info_impl") { ...@@ -270,6 +275,7 @@ js_library("volume_info_impl") {
deps = [ deps = [
"../../common/js:volume_manager_common", "../../common/js:volume_manager_common",
] ]
externs_list = [ "../../../externs/volume_info.js" ]
} }
js_library("volume_info_list_impl") { js_library("volume_info_list_impl") {
...@@ -280,6 +286,7 @@ js_library("volume_info_list_impl") { ...@@ -280,6 +286,7 @@ js_library("volume_info_list_impl") {
"//ui/webui/resources/js/cr:ui", "//ui/webui/resources/js/cr:ui",
"//ui/webui/resources/js/cr/ui:array_data_model", "//ui/webui/resources/js/cr/ui:array_data_model",
] ]
externs_list = [ "../../../externs/volume_info_list.js" ]
} }
js_library("volume_manager_impl") { js_library("volume_manager_impl") {
...@@ -289,6 +296,7 @@ js_library("volume_manager_impl") { ...@@ -289,6 +296,7 @@ js_library("volume_manager_impl") {
":volume_manager_util", ":volume_manager_util",
"../../common/js:async_util", "../../common/js:async_util",
] ]
externs_list = [ "../../../externs/volume_manager.js" ]
} }
js_library("volume_manager_factory") { js_library("volume_manager_factory") {
...@@ -297,6 +305,15 @@ js_library("volume_manager_factory") { ...@@ -297,6 +305,15 @@ js_library("volume_manager_factory") {
] ]
} }
js_library("volume_manager_unittest") {
deps = [
":volume_manager_factory",
"//ui/file_manager/base/js:mock_chrome",
"//ui/file_manager/base/js:test_error_reporting",
"//ui/file_manager/file_manager/common/js:mock_entry",
]
}
js_library("volume_manager_util") { js_library("volume_manager_util") {
deps = [ deps = [
":volume_info_impl", ":volume_info_impl",
...@@ -306,3 +323,9 @@ js_library("volume_manager_util") { ...@@ -306,3 +323,9 @@ js_library("volume_manager_util") {
"../../common/js:volume_manager_common", "../../common/js:volume_manager_common",
] ]
} }
js_unit_tests("unit_tests") {
deps = [
":volume_manager_unittest",
]
}
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
<!-- Need to load async_util.js before device_handler.js --> <!-- Need to load async_util.js before device_handler.js -->
<script src="../../common/js/async_util.js"></script> <script src="../../common/js/async_util.js"></script>
<script src="../../../base/js/test_error_reporting.js"></script> <script src="../../../base/js/test_error_reporting.js"></script>
<script src="../../../base/js/mock_chrome.js"></script>
<script src="../../common/js/unittest_util.js"></script> <script src="../../common/js/unittest_util.js"></script>
<script src="../../common/js/mock_entry.js"></script> <script src="../../common/js/mock_entry.js"></script>
<script src="../../common/js/volume_manager_common.js"></script> <script src="../../common/js/volume_manager_common.js"></script>
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<script src="../../common/js/mock_entry.js"></script> <script src="../../common/js/mock_entry.js"></script>
<script src="../../common/js/test_tracker.js"></script> <script src="../../common/js/test_tracker.js"></script>
<script src="../../../base/js/test_error_reporting.js"></script> <script src="../../../base/js/test_error_reporting.js"></script>
<script src="../../../base/js/mock_chrome.js"></script>
<script src="../../common/js/unittest_util.js"></script> <script src="../../common/js/unittest_util.js"></script>
<script src="../../common/js/files_app_entry_types.js"></script> <script src="../../common/js/files_app_entry_types.js"></script>
<script src="../../common/js/util.js"></script> <script src="../../common/js/util.js"></script>
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<script src="../../common/js/metrics_events.js"></script> <script src="../../common/js/metrics_events.js"></script>
<script src="../../common/js/mock_entry.js"></script> <script src="../../common/js/mock_entry.js"></script>
<script src="../../../base/js/test_error_reporting.js"></script> <script src="../../../base/js/test_error_reporting.js"></script>
<script src="../../../base/js/mock_chrome.js"></script>
<script src="../../common/js/unittest_util.js"></script> <script src="../../common/js/unittest_util.js"></script>
<script src="../../common/js/files_app_entry_types.js"></script> <script src="../../common/js/files_app_entry_types.js"></script>
<script src="../../common/js/util.js"></script> <script src="../../common/js/util.js"></script>
......
<!DOCTYPE html>
<!-- Copyright 2014 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.
-->
<html>
<body>
<script src="../../../../../ui/webui/resources/js/cr.js"></script>
<script src="../../../../../ui/webui/resources/js/cr/event_target.js"></script>
<script src="../../../../../ui/webui/resources/js/cr/ui/array_data_model.js"></script>
<script src="../../../../../ui/webui/resources/js/load_time_data.js"></script>
<script src="../../common/js/async_util.js"></script>
<script src="../../common/js/mock_entry.js"></script>
<script src="../../../base/js/test_error_reporting.js"></script>
<script src="../../common/js/unittest_util.js"></script>
<script src="../../common/js/files_app_entry_types.js"></script>
<script src="../../common/js/util.js"></script>
<script src="../../common/js/volume_manager_common.js"></script>
<script src="entry_location_impl.js"></script>
<script src="volume_info_impl.js"></script>
<script src="volume_info_list_impl.js"></script>
<script src="volume_manager_factory.js"></script>
<script src="volume_manager_impl.js"></script>
<script src="volume_manager_util.js"></script>
<script src="volume_manager_unittest.js"></script>
</body>
</html>
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be // Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file. // found in the LICENSE file.
var chrome; let mockChrome;
loadTimeData.data = { loadTimeData.data = {
DRIVE_DIRECTORY_LABEL: 'My Drive', DRIVE_DIRECTORY_LABEL: 'My Drive',
...@@ -12,10 +12,8 @@ loadTimeData.data = { ...@@ -12,10 +12,8 @@ loadTimeData.data = {
function setUp() { function setUp() {
// Set up mock of chrome.fileManagerPrivate APIs. // Set up mock of chrome.fileManagerPrivate APIs.
chrome = { mockChrome = {
runtime: { runtime: {lastError: undefined},
lastError: undefined
},
fileSystem: { fileSystem: {
requestFileSystem: function(options, callback) { requestFileSystem: function(options, callback) {
if (!(options.volumeId in chrome.fileManagerPrivate.fileSystemMap_)) { if (!(options.volumeId in chrome.fileManagerPrivate.fileSystemMap_)) {
...@@ -28,8 +26,10 @@ function setUp() { ...@@ -28,8 +26,10 @@ function setUp() {
mountSourcePath_: null, mountSourcePath_: null,
onMountCompletedListeners_: [], onMountCompletedListeners_: [],
onDriveConnectionStatusChangedListeners_: [], onDriveConnectionStatusChangedListeners_: [],
driveConnectionState_: VolumeManagerCommon.DriveConnectionType.ONLINE,
volumeMetadataList_: [],
addMount: function(fileUrl, callback) { addMount: function(fileUrl, callback) {
callback(chrome.fileManagerPrivate.mountSourcePath_); callback(mockChrome.fileManagerPrivate.mountSourcePath_);
}, },
removeMount: function(volumeId) { removeMount: function(volumeId) {
var event = { var event = {
...@@ -39,54 +39,51 @@ function setUp() { ...@@ -39,54 +39,51 @@ function setUp() {
volumeId: volumeId volumeId: volumeId
} }
}; };
chrome.fileManagerPrivate.onMountCompleted.dispatchEvent(event); mockChrome.fileManagerPrivate.onMountCompleted.dispatchEvent(event);
}, },
onDriveConnectionStatusChanged: { onDriveConnectionStatusChanged: {
addListener: function(listener) { addListener: function(listener) {
chrome.fileManagerPrivate.onDriveConnectionStatusChangedListeners_ mockChrome.fileManagerPrivate.onDriveConnectionStatusChangedListeners_
.push(listener); .push(listener);
}, },
dispatchEvent: function(event) { dispatchEvent: function(event) {
chrome.fileManagerPrivate mockChrome.fileManagerPrivate.onDriveConnectionStatusChangedListeners_
.onDriveConnectionStatusChangedListeners_ .forEach(function(listener) {
.forEach(function(listener) { listener(event); }); listener(event);
});
} }
}, },
onMountCompleted: { onMountCompleted: {
addListener: function(listener) { addListener: function(listener) {
chrome.fileManagerPrivate.onMountCompletedListeners_.push(listener); mockChrome.fileManagerPrivate.onMountCompletedListeners_.push(
listener);
}, },
dispatchEvent: function(event) { dispatchEvent: function(event) {
chrome.fileManagerPrivate mockChrome.fileManagerPrivate.onMountCompletedListeners_.forEach(
.onMountCompletedListeners_.forEach(function(listener) { function(listener) {
listener(event); listener(event);
}); });
} }
}, },
getDriveConnectionState: function(callback) { getDriveConnectionState: function(callback) {
callback(chrome.fileManagerPrivate.driveConnectionState_); callback(mockChrome.fileManagerPrivate.driveConnectionState_);
}, },
getVolumeMetadataList: function(callback) { getVolumeMetadataList: function(callback) {
callback(chrome.fileManagerPrivate.volumeMetadataList_); callback(mockChrome.fileManagerPrivate.volumeMetadataList_);
}, },
resolveIsolatedEntries: function(entries, callback) { resolveIsolatedEntries: function(entries, callback) {
console.log('*** RESOLVE ISOLATED'); console.log('*** RESOLVE ISOLATED');
callback(entries); callback(entries);
}, },
set driveConnectionState(state) { set driveConnectionState(state) {
chrome.fileManagerPrivate.driveConnectionState_ = state; mockChrome.fileManagerPrivate.driveConnectionState_ = state;
chrome.fileManagerPrivate.onDriveConnectionStatusChanged mockChrome.fileManagerPrivate.onDriveConnectionStatusChanged
.dispatchEvent(null); .dispatchEvent(null);
} },
} }
}; };
installMockChrome(mockChrome);
new MockCommandLinePrivate(); new MockCommandLinePrivate();
chrome.fileManagerPrivate.mountSourcePath_ = null;
chrome.fileManagerPrivate.onMountCompletedListeners_ = [];
chrome.fileManagerPrivate.onDriveConnectionStatusChangedListeners_ = [];
chrome.fileManagerPrivate.driveConnectionState_ =
VolumeManagerCommon.DriveConnectionType.ONLINE;
chrome.fileManagerPrivate.volumeMetadataList_ = [ chrome.fileManagerPrivate.volumeMetadataList_ = [
{ {
volumeId: 'download:Downloads', volumeId: 'download:Downloads',
...@@ -129,7 +126,8 @@ function setUp() { ...@@ -129,7 +126,8 @@ function setUp() {
function tearDown() { function tearDown() {
volumeManagerFactory.revokeInstanceForTesting(); volumeManagerFactory.revokeInstanceForTesting();
chrome = null; // To avoid a closure warning assigning to |chrome|, tearDown() does not
// balance the call to installMockChrome() here.
} }
/** /**
...@@ -200,7 +198,7 @@ function testMountArchiveAndUnmount(callback) { ...@@ -200,7 +198,7 @@ function testMountArchiveAndUnmount(callback) {
'Downloads-test/foobar.zip', 'Downloads-test/foobar.zip',
resolve, reject); resolve, reject);
chrome.fileManagerPrivate.onMountCompleted.dispatchEvent({ mockChrome.fileManagerPrivate.onMountCompleted.dispatchEvent({
eventType: 'mount', eventType: 'mount',
status: 'success', status: 'success',
volumeMetadata: { volumeMetadata: {
...@@ -365,21 +363,23 @@ function testWhenReady(callback) { ...@@ -365,21 +363,23 @@ function testWhenReady(callback) {
volumeManagerFactory.getInstance().then((volumeManager) => { volumeManagerFactory.getInstance().then((volumeManager) => {
const promiseBeforeAdd = volumeManager.whenVolumeInfoReady('volumeId'); const promiseBeforeAdd = volumeManager.whenVolumeInfoReady('volumeId');
const volumeInfo = new VolumeInfoImpl( const volumeInfo = new VolumeInfoImpl(
/* volumeType */ null, /* volumeType */ VolumeManagerCommon.VolumeType.MY_FILES,
/* volumeId */ 'volumeId', /* volumeId */ 'volumeId',
/* fileSystem */ null, /* fileSystem */ null,
/* error */ null, /* error */ undefined,
/* deviceType */ null, /* deviceType */ undefined,
/* devicePath */ null, /* devicePath */ undefined,
/* isReadOnly */ false, /* isReadOnly */ false,
/* isReadOnlyRemovableDevice */ false, /* isReadOnlyRemovableDevice */ false,
/* profile */ {}, /* profile */ {displayName: '', isCurrentProfile: true},
/* label */ null, /* label */ 'testLabel',
/* extensionid */ null, /* extensionid */ undefined,
/* hasMedia */ false, /* hasMedia */ false,
/* configurable */ false, /* configurable */ false,
/* watchable */ true, /* watchable */ true,
/* source */ VolumeManagerCommon.Source.FILE); /* source */ VolumeManagerCommon.Source.FILE,
/* diskFileSystemType */ VolumeManagerCommon.FileSystemType.UNKNOWN,
/* iconSet*/ {});
volumeManager.volumeInfoList.add(volumeInfo); volumeManager.volumeInfoList.add(volumeInfo);
const promiseAfterAdd = volumeManager.whenVolumeInfoReady('volumeId'); const promiseAfterAdd = volumeManager.whenVolumeInfoReady('volumeId');
reportPromise( reportPromise(
...@@ -401,7 +401,7 @@ function testDriveMountedDuringInitialization(callback) { ...@@ -401,7 +401,7 @@ function testDriveMountedDuringInitialization(callback) {
var instancePromise = volumeManagerFactory.getInstance(); var instancePromise = volumeManagerFactory.getInstance();
// Drive is mounted during initialization. // Drive is mounted during initialization.
chrome.fileManagerPrivate.onMountCompleted.dispatchEvent({ mockChrome.fileManagerPrivate.onMountCompleted.dispatchEvent({
eventType: 'mount', eventType: 'mount',
status: 'success', status: 'success',
volumeMetadata: { volumeMetadata: {
......
...@@ -89,7 +89,6 @@ js_library("importer_common") { ...@@ -89,7 +89,6 @@ js_library("importer_common") {
] ]
externs_list = [ externs_list = [
"//third_party/analytics/externs.js", "//third_party/analytics/externs.js",
"../../../externs/volume_info_list.js",
"../../../externs/background_window.js", "../../../externs/background_window.js",
"../../../externs/background/file_browser_background.js", "../../../externs/background/file_browser_background.js",
] ]
...@@ -110,6 +109,7 @@ js_library("importer_common_unittest") { ...@@ -110,6 +109,7 @@ js_library("importer_common_unittest") {
":mock_entry", ":mock_entry",
":test_importer_common", ":test_importer_common",
":util", ":util",
"//ui/file_manager/base/js:mock_chrome",
"//ui/file_manager/file_manager/background/js:mock_volume_manager", "//ui/file_manager/file_manager/background/js:mock_volume_manager",
] ]
} }
......
...@@ -153,32 +153,3 @@ MockChromeStorageAPI.prototype.set_ = function(values, opt_callback) { ...@@ -153,32 +153,3 @@ MockChromeStorageAPI.prototype.set_ = function(values, opt_callback) {
if (opt_callback) if (opt_callback)
opt_callback(); opt_callback();
}; };
/**
* Mocks chrome.commandLinePrivate.
* @constructor
*/
function MockCommandLinePrivate() {
this.flags_ = {};
if (!chrome) {
/** @suppress {const|checkTypes} */
chrome = {};
}
if (!chrome.commandLinePrivate) {
/** @suppress {checkTypes} */
chrome.commandLinePrivate = {};
}
chrome.commandLinePrivate.hasSwitch = function(name, callback) {
window.setTimeout(() => {
callback(name in this.flags_);
}, 0);
}.bind(this);
}
/**
* Add a switch.
* @param {string} name of the switch to add.
*/
MockCommandLinePrivate.prototype.addSwitch = function(name) {
this.flags_[name] = true;
};
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
<script src="../../common/js/mock_entry.js"></script> <script src="../../common/js/mock_entry.js"></script>
<script src="../../../base/js/test_error_reporting.js"></script> <script src="../../../base/js/test_error_reporting.js"></script>
<script src="../../../base/js/mock_chrome.js"></script>
<script src="../../common/js/unittest_util.js"></script> <script src="../../common/js/unittest_util.js"></script>
<script src="../../common/js/files_app_entry_types.js"></script> <script src="../../common/js/files_app_entry_types.js"></script>
<script src="../../common/js/util.js"></script> <script src="../../common/js/util.js"></script>
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
<script src="../../common/js/async_util.js"></script> <script src="../../common/js/async_util.js"></script>
<script src="../../common/js/mock_entry.js"></script> <script src="../../common/js/mock_entry.js"></script>
<script src="../../../base/js/test_error_reporting.js"></script> <script src="../../../base/js/test_error_reporting.js"></script>
<script src="../../../base/js/mock_chrome.js"></script>
<script src="../../common/js/unittest_util.js"></script> <script src="../../common/js/unittest_util.js"></script>
<script src="../../common/js/files_app_entry_types.js"></script> <script src="../../common/js/files_app_entry_types.js"></script>
<script src="../../common/js/util.js"></script> <script src="../../common/js/util.js"></script>
......
...@@ -39,9 +39,7 @@ js_library("closure_compile_externs") { ...@@ -39,9 +39,7 @@ js_library("closure_compile_externs") {
sources = [] sources = []
externs_list = [ externs_list = [
"../../../../externs/app_window_common.js", "../../../../externs/app_window_common.js",
"../../../../externs/entry_location.js",
"../../../../externs/platform.js", "../../../../externs/platform.js",
"../../../../externs/volume_info.js",
] ]
} }
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
<script src="../../common/js/async_util.js"></script> <script src="../../common/js/async_util.js"></script>
<script src="../../common/js/mock_entry.js"></script> <script src="../../common/js/mock_entry.js"></script>
<script src="../../../base/js/test_error_reporting.js"></script> <script src="../../../base/js/test_error_reporting.js"></script>
<script src="../../../base/js/mock_chrome.js"></script>
<script src="../../common/js/unittest_util.js"></script> <script src="../../common/js/unittest_util.js"></script>
<script src="../../common/js/util.js"></script> <script src="../../common/js/util.js"></script>
<script src="mock_folder_shortcut_data_model.js"></script> <script src="mock_folder_shortcut_data_model.js"></script>
......
...@@ -15,6 +15,7 @@ ...@@ -15,6 +15,7 @@
<script src="../../common/js/mock_entry.js"></script> <script src="../../common/js/mock_entry.js"></script>
<script src="../../../base/js/test_error_reporting.js"></script> <script src="../../../base/js/test_error_reporting.js"></script>
<script src="../../../base/js/mock_chrome.js"></script>
<script src="../../common/js/unittest_util.js"></script> <script src="../../common/js/unittest_util.js"></script>
<script src="../../common/js/files_app_entry_types.js"></script> <script src="../../common/js/files_app_entry_types.js"></script>
<script src="../../common/js/util.js"></script> <script src="../../common/js/util.js"></script>
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
<script src="../../../common/js/async_util.js"></script> <script src="../../../common/js/async_util.js"></script>
<script src="../../../common/js/mock_entry.js"></script> <script src="../../../common/js/mock_entry.js"></script>
<script src="../../../../base/js/test_error_reporting.js"></script> <script src="../../../../base/js/test_error_reporting.js"></script>
<script src="../../../../base/js/mock_chrome.js"></script>
<script src="../../../common/js/unittest_util.js"></script> <script src="../../../common/js/unittest_util.js"></script>
<script src="../../../common/js/files_app_entry_types.js"></script> <script src="../../../common/js/files_app_entry_types.js"></script>
<script src="../../../common/js/util.js"></script> <script src="../../../common/js/util.js"></script>
......
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