Commit 33435f37 authored by Jérémie Boulic's avatar Jérémie Boulic Committed by Chromium LUCI CQ

Files app: Generate JS modules for //u/f/f/f/j/file_tasks.js

In //ui/file_manager/file_manager/foreground/js/:
- file_tasks.js
- file_tasks_unittest.m.js

Bug: 1133186
Change-Id: I9bfc94f7987e52df8135a19ae06355baa1dd8564
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2627201Reviewed-by: default avatarLuciano Pacheco <lucmult@chromium.org>
Commit-Queue: Jeremie Boulic <jboulic@chromium.org>
Cr-Commit-Position: refs/heads/master@{#843473}
parent 74f4a814
...@@ -137,7 +137,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerJsTest, FileTapHandler) { ...@@ -137,7 +137,7 @@ IN_PROC_BROWSER_TEST_F(FileManagerJsTest, FileTapHandler) {
} }
IN_PROC_BROWSER_TEST_F(FileManagerJsTest, FileTasks) { IN_PROC_BROWSER_TEST_F(FileManagerJsTest, FileTasks) {
RunTestURL("foreground/js/file_tasks_unittest_gen.html"); RunTestURL("foreground/js/file_tasks_unittest.m_gen.html");
} }
IN_PROC_BROWSER_TEST_F(FileManagerJsTest, FileTransferController) { IN_PROC_BROWSER_TEST_F(FileManagerJsTest, FileTransferController) {
......
...@@ -349,6 +349,8 @@ js_library("mock_crostini.m") { ...@@ -349,6 +349,8 @@ js_library("mock_crostini.m") {
":crostini.m", ":crostini.m",
"//ui/file_manager/externs/background:crostini.m", "//ui/file_manager/externs/background:crostini.m",
] ]
visibility +=
[ "//ui/file_manager/file_manager/foreground/js:file_tasks_unittest.m" ]
extra_deps = [ ":modulize" ] extra_deps = [ ":modulize" ]
} }
...@@ -938,6 +940,8 @@ js_library("mock_progress_center.m") { ...@@ -938,6 +940,8 @@ js_library("mock_progress_center.m") {
"//ui/file_manager/externs/background:progress_center.m", "//ui/file_manager/externs/background:progress_center.m",
"//ui/file_manager/file_manager/common/js:progress_center_common.m", "//ui/file_manager/file_manager/common/js:progress_center_common.m",
] ]
visibility +=
[ "//ui/file_manager/file_manager/foreground/js:file_tasks_unittest.m" ]
extra_deps = [ ":modulize" ] extra_deps = [ ":modulize" ]
} }
......
...@@ -42,6 +42,7 @@ js_type_check("closure_compile_jsmodules") { ...@@ -42,6 +42,7 @@ js_type_check("closure_compile_jsmodules") {
":fake_file_selection_handler.m", ":fake_file_selection_handler.m",
":file_list_model.m", ":file_list_model.m",
":file_selection.m", ":file_selection.m",
":file_tasks.m",
":file_transfer_controller.m", ":file_transfer_controller.m",
":file_type_filters_controller.m", ":file_type_filters_controller.m",
":file_watcher.m", ":file_watcher.m",
...@@ -768,15 +769,66 @@ js_library("file_tasks") { ...@@ -768,15 +769,66 @@ js_library("file_tasks") {
] ]
} }
js_unittest("file_tasks_unittest") { js_library("file_tasks.m") {
sources = [
"$root_gen_dir/ui/file_manager/file_manager/foreground/js/file_tasks.m.js",
]
deps = [ deps = [
":file_tasks", ":constants.m",
"metadata:mock_metadata", ":directory_model.m",
"//ui/file_manager/base/js:mock_chrome", ":file_transfer_controller.m",
"//ui/file_manager/base/js:test_error_reporting", ":naming_controller.m",
"//ui/file_manager/file_manager/background/js:mock_crostini", ":task_history.m",
"//ui/file_manager/file_manager/background/js:mock_progress_center", ":web_store_utils.m",
"//ui/file_manager/file_manager/common/js:mock_entry", "metadata:metadata_model.m",
"ui:combobutton.m",
"ui:default_task_dialog.m",
"ui:file_manager_ui.m",
"ui:files_confirm_dialog.m",
"ui:files_menu.m",
"ui:multi_menu_button.m",
"ui:suggest_apps_dialog.m",
"//ui/file_manager/base/js:volume_manager_types.m",
"//ui/file_manager/externs:volume_info.m",
"//ui/file_manager/externs:volume_manager.m",
"//ui/file_manager/externs/background:crostini.m",
"//ui/file_manager/externs/background:progress_center.m",
"//ui/file_manager/file_manager/common/js:async_util.m",
"//ui/file_manager/file_manager/common/js:file_type.m",
"//ui/file_manager/file_manager/common/js:metrics.m",
"//ui/file_manager/file_manager/common/js:progress_center_common.m",
"//ui/file_manager/file_manager/common/js:util.m",
"//ui/file_manager/file_manager/foreground/elements:files_password_dialog.m",
"//ui/webui/resources/js:assert.m",
"//ui/webui/resources/js:load_time_data.m",
"//ui/webui/resources/js/cr:ui.m",
"//ui/webui/resources/js/cr/ui:menu.m",
]
extra_deps = [ ":modulize" ]
}
js_unittest("file_tasks_unittest.m") {
deps = [
":directory_model.m",
":file_tasks.m",
":file_transfer_controller.m",
":naming_controller.m",
":task_history.m",
"metadata:metadata_model.m",
"ui:file_manager_ui.m",
"//chrome/test/data/webui:chai_assert",
"//ui/file_manager/base/js:mock_chrome.m",
"//ui/file_manager/base/js:test_error_reporting.m",
"//ui/file_manager/base/js:volume_manager_types.m",
"//ui/file_manager/externs:entry_location.m",
"//ui/file_manager/externs:volume_manager.m",
"//ui/file_manager/externs/background:progress_center.m",
"//ui/file_manager/file_manager/background/js:mock_crostini.m",
"//ui/file_manager/file_manager/background/js:mock_progress_center.m",
"//ui/file_manager/file_manager/common/js:mock_entry.m",
"//ui/file_manager/file_manager/common/js:progress_center_common.m",
"//ui/file_manager/file_manager/foreground/elements:files_password_dialog.m",
] ]
} }
...@@ -1498,10 +1550,12 @@ js_library("webui_command_extender.m") { ...@@ -1498,10 +1550,12 @@ js_library("webui_command_extender.m") {
} }
js_test_gen_html("js_test_gen_html_modules") { js_test_gen_html("js_test_gen_html_modules") {
is_polymer3 = true
deps = [ deps = [
":actions_model_unittest.m", ":actions_model_unittest.m",
":directory_contents_unittest.m", ":directory_contents_unittest.m",
":file_list_model_unittest.m", ":file_list_model_unittest.m",
":file_tasks_unittest.m",
":file_transfer_controller_unittest.m", ":file_transfer_controller_unittest.m",
":file_type_filters_controller_unittest.m", ":file_type_filters_controller_unittest.m",
":list_thumbnail_loader_unittest.m", ":list_thumbnail_loader_unittest.m",
...@@ -1510,7 +1564,6 @@ js_test_gen_html("js_test_gen_html_modules") { ...@@ -1510,7 +1564,6 @@ js_test_gen_html("js_test_gen_html_modules") {
":spinner_controller_unittest.m", ":spinner_controller_unittest.m",
":thumbnail_loader_unittest.m", ":thumbnail_loader_unittest.m",
] ]
js_module = true
closure_flags = closure_flags =
strict_error_checking_closure_args + [ strict_error_checking_closure_args + [
...@@ -1526,7 +1579,6 @@ js_test_gen_html("js_test_gen_html_modules") { ...@@ -1526,7 +1579,6 @@ js_test_gen_html("js_test_gen_html_modules") {
js_test_gen_html("js_test_gen_html") { js_test_gen_html("js_test_gen_html") {
deps = [ deps = [
":file_manager_commands_unittest", ":file_manager_commands_unittest",
":file_tasks_unittest",
":import_controller_unittest", ":import_controller_unittest",
":task_controller_unittest", ":task_controller_unittest",
] ]
...@@ -1577,10 +1629,13 @@ js_modulizer("modulize") { ...@@ -1577,10 +1629,13 @@ js_modulizer("modulize") {
"webui_command_extender.js", "webui_command_extender.js",
"sort_menu_controller.js", "sort_menu_controller.js",
"selection_menu_controller.js", "selection_menu_controller.js",
"file_tasks.js",
] ]
namespace_rewrites = cr_namespace_rewrites + [ namespace_rewrites = cr_namespace_rewrites + [
"cr.ui.FilesMenuItem|FilesMenuItem", "cr.ui.FilesMenuItem|FilesMenuItem",
"cr.ui.MultiMenu|MultiMenu", "cr.ui.MultiMenu|MultiMenu",
"cr.ui.ComboButton|ComboButton",
"cr.filebrowser.DefaultTaskDialog|DefaultTaskDialog",
] ]
} }
...@@ -2,11 +2,43 @@ ...@@ -2,11 +2,43 @@
// 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.
// clang-format off
// #import {Menu} from 'chrome://resources/js/cr/ui/menu.m.js';
// #import {MultiMenuButton} from './ui/multi_menu_button.m.js';
// #import {VolumeInfo} from '../../../externs/volume_info.m.js';
// #import {ProgressCenter} from '../../../externs/background/progress_center.m.js';
// #import {Crostini} from '../../../externs/background/crostini.m.js';
// #import {NamingController} from './naming_controller.m.js';
// #import {TaskHistory} from './task_history.m.js';
// #import {FileManagerUI} from './ui/file_manager_ui.m.js';
// #import {DirectoryModel} from './directory_model.m.js';
// #import {MetadataModel} from './metadata/metadata_model.m.js';
// #import {VolumeManager} from '../../../externs/volume_manager.m.js';
// #import {FilesMenuItem} from './ui/files_menu.m.js';
// #import {decorate} from 'chrome://resources/js/cr/ui.m.js';
// #import {FilesPasswordDialog} from '../elements/files_password_dialog.m.js';
// #import {ProgressCenterItem, ProgressItemType, ProgressItemState} from '../../common/js/progress_center_common.m.js';
// #import {webStoreUtils} from './web_store_utils.m.js';
// #import {FileTransferController} from './file_transfer_controller.m.js';
// #import {FilesConfirmDialog} from './ui/files_confirm_dialog.m.js';
// #import {VolumeManagerCommon} from '../../../base/js/volume_manager_types.m.js';
// #import {FileType} from '../../common/js/file_type.m.js';
// #import {SuggestAppsDialog} from './ui/suggest_apps_dialog.m.js';
// #import {constants} from './constants.m.js';
// #import {util, strf, str} from '../../common/js/util.m.js';
// #import {AsyncUtil} from '../../common/js/async_util.m.js'
// #import {metrics} from '../../common/js/metrics.m.js';
// #import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
// #import {assert} from 'chrome://resources/js/assert.m.js';
// #import {DefaultTaskDialog} from './ui/default_task_dialog.m.js';
// #import {ComboButton} from './ui/combobutton.m.js';
// clang-format on
/** /**
* Represents a collection of available tasks to execute for a specific list * Represents a collection of available tasks to execute for a specific list
* of entries. * of entries.
*/ */
class FileTasks { /* #export */ class FileTasks {
/** /**
* @param {!VolumeManager} volumeManager * @param {!VolumeManager} volumeManager
* @param {!MetadataModel} metadataModel * @param {!MetadataModel} metadataModel
......
...@@ -2,11 +2,32 @@ ...@@ -2,11 +2,32 @@
// 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.
import {assertArrayEquals, assertEquals, assertFalse, assertTrue} from 'chrome://test/chai_assert.js';
import {installMockChrome} from '../../../base/js/mock_chrome.m.js';
import {reportPromise} from '../../../base/js/test_error_reporting.m.js';
import {VolumeManagerCommon} from '../../../base/js/volume_manager_types.m.js';
import {ProgressCenter} from '../../../externs/background/progress_center.m.js';
import {EntryLocation} from '../../../externs/entry_location.m.js';
import {VolumeManager} from '../../../externs/volume_manager.m.js';
import {createCrostiniForTest} from '../../background/js/mock_crostini.m.js';
import {MockProgressCenter} from '../../background/js/mock_progress_center.m.js';
import {metrics} from '../../common/js/metrics.m.js';
import {MockFileEntry, MockFileSystem} from '../../common/js/mock_entry.m.js';
import {ProgressItemState} from '../../common/js/progress_center_common.m.js';
import {FilesPasswordDialog} from '../elements/files_password_dialog.m.js';
import {DirectoryModel} from './directory_model.m.js';
import {FileTasks} from './file_tasks.m.js';
import {FileTransferController} from './file_transfer_controller.m.js';
import {MetadataModel} from './metadata/metadata_model.m.js';
import {NamingController} from './naming_controller.m.js';
import {TaskHistory} from './task_history.m.js';
import {FileManagerUI} from './ui/file_manager_ui.m.js';
/** /**
* Utility function that appends value under a given name in the store. * Utility function that appends value under a given name in the store.
* @param {!Map<string, !Array<string|number>>} store * @param {!Map<string, !Array<string|number>>} store
* @param {string} name * @param {string} name
* @param {string|number} value * @param {!*} value
*/ */
function record(store, name, value) { function record(store, name, value) {
let recorded = store.get(name); let recorded = store.get(name);
...@@ -28,17 +49,23 @@ const enumMap = new Map(); ...@@ -28,17 +49,23 @@ const enumMap = new Map();
const countMap = new Map(); const countMap = new Map();
/** /**
* Mock metrics * Mock metrics.recordEnum.
* @type {!Object} * @param {string} name
* @param {*} value
* @param {Array<*>|number=} valid
*/ */
window.metrics = { metrics.recordEnum = function(name, value, valid) {
recordEnum: (name, value, valid) => { assertTrue(valid.includes(value));
assertTrue(valid.includes(value)); record(enumMap, name, value);
record(enumMap, name, value); };
},
recordSmallCount: (name, value) => { /**
record(countMap, name, value); * Mock metrics.recordSmallCount.
}, * @param {string} name Short metric name.
* @param {number} value Value to be recorded.
*/
metrics.recordSmallCount = function(name, value) {
record(countMap, name, value);
}; };
/** /**
...@@ -93,7 +120,7 @@ const zipMountPanelId = 'Mounting: ' + fakeMountedZipUrl; ...@@ -93,7 +120,7 @@ const zipMountPanelId = 'Mounting: ' + fakeMountedZipUrl;
const errorZipMountPanelId = 'Cannot mount: ' + fakeMountedZipUrl; const errorZipMountPanelId = 'Cannot mount: ' + fakeMountedZipUrl;
// Set up test components. // Set up test components.
function setUp() { export function setUp() {
// Mock LoadTimeData strings. // Mock LoadTimeData strings.
window.loadTimeData.getString = id => id; window.loadTimeData.getString = id => id;
window.loadTimeData.getBoolean = key => false; window.loadTimeData.getBoolean = key => false;
...@@ -324,7 +351,7 @@ function showImportCrostiniImageDialogIsCalled(entries) { ...@@ -324,7 +351,7 @@ function showImportCrostiniImageDialogIsCalled(entries) {
/** /**
* Tests opening a .exe file. * Tests opening a .exe file.
*/ */
function testToOpenExeFile(callback) { export function testToOpenExeFile(callback) {
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
const mockEntry = MockFileEntry.create(mockFileSystem, '/test.exe'); const mockEntry = MockFileEntry.create(mockFileSystem, '/test.exe');
...@@ -337,7 +364,7 @@ function testToOpenExeFile(callback) { ...@@ -337,7 +364,7 @@ function testToOpenExeFile(callback) {
/** /**
* Tests opening a .dmg file. * Tests opening a .dmg file.
*/ */
function testToOpenDmgFile(callback) { export function testToOpenDmgFile(callback) {
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
const mockEntry = MockFileEntry.create(mockFileSystem, '/test.dmg'); const mockEntry = MockFileEntry.create(mockFileSystem, '/test.dmg');
...@@ -349,7 +376,7 @@ function testToOpenDmgFile(callback) { ...@@ -349,7 +376,7 @@ function testToOpenDmgFile(callback) {
/** /**
* Tests opening a .crx file. * Tests opening a .crx file.
*/ */
function testToOpenCrxFile(callback) { export function testToOpenCrxFile(callback) {
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
const mockEntry = MockFileEntry.create(mockFileSystem, '/test.crx'); const mockEntry = MockFileEntry.create(mockFileSystem, '/test.crx');
...@@ -362,7 +389,7 @@ function testToOpenCrxFile(callback) { ...@@ -362,7 +389,7 @@ function testToOpenCrxFile(callback) {
/** /**
* Tests opening a .rtf file. * Tests opening a .rtf file.
*/ */
function testToOpenRtfFile(callback) { export function testToOpenRtfFile(callback) {
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
const mockEntry = MockFileEntry.create(mockFileSystem, '/test.rtf'); const mockEntry = MockFileEntry.create(mockFileSystem, '/test.rtf');
...@@ -374,7 +401,7 @@ function testToOpenRtfFile(callback) { ...@@ -374,7 +401,7 @@ function testToOpenRtfFile(callback) {
/** /**
* Tests opening an entry that has external metadata type. * Tests opening an entry that has external metadata type.
*/ */
function testOpenSuggestAppsDialogWithMetadata(callback) { export function testOpenSuggestAppsDialogWithMetadata(callback) {
const showByExtensionAndMimeIsCalled = new Promise((resolve, reject) => { const showByExtensionAndMimeIsCalled = new Promise((resolve, reject) => {
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
const mockEntry = MockFileEntry.create(mockFileSystem, '/test.rtf'); const mockEntry = MockFileEntry.create(mockFileSystem, '/test.rtf');
...@@ -412,7 +439,7 @@ function testOpenSuggestAppsDialogWithMetadata(callback) { ...@@ -412,7 +439,7 @@ function testOpenSuggestAppsDialogWithMetadata(callback) {
* Tests opening an entry that has no extension. Since the entry extension and * Tests opening an entry that has no extension. Since the entry extension and
* entry MIME type are required, the onFalure method should be called. * entry MIME type are required, the onFalure method should be called.
*/ */
function testOpenSuggestAppsDialogFailure(callback) { export function testOpenSuggestAppsDialogFailure(callback) {
const onFailureIsCalled = new Promise((resolve, reject) => { const onFailureIsCalled = new Promise((resolve, reject) => {
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
const mockEntry = MockFileEntry.create(mockFileSystem, '/test'); const mockEntry = MockFileEntry.create(mockFileSystem, '/test');
...@@ -437,7 +464,7 @@ function testOpenSuggestAppsDialogFailure(callback) { ...@@ -437,7 +464,7 @@ function testOpenSuggestAppsDialogFailure(callback) {
* Tests opening the task picker with an entry that does not have a default app * Tests opening the task picker with an entry that does not have a default app
* but there are multiple apps that could open it. * but there are multiple apps that could open it.
*/ */
function testOpenTaskPicker(callback) { export function testOpenTaskPicker(callback) {
window.chrome.fileManagerPrivate.getFileTasks = (entries, callback) => { window.chrome.fileManagerPrivate.getFileTasks = (entries, callback) => {
setTimeout( setTimeout(
callback.bind( callback.bind(
...@@ -471,7 +498,7 @@ function testOpenTaskPicker(callback) { ...@@ -471,7 +498,7 @@ function testOpenTaskPicker(callback) {
* but there are multiple apps that could open it. The app with the most recent * but there are multiple apps that could open it. The app with the most recent
* task execution order should execute. * task execution order should execute.
*/ */
function testOpenWithMostRecentlyExecuted(callback) { export function testOpenWithMostRecentlyExecuted(callback) {
const latestTaskId = 'handler-extension-most-recently-executed|app|any'; const latestTaskId = 'handler-extension-most-recently-executed|app|any';
const oldTaskId = 'handler-extension-executed-before|app|any'; const oldTaskId = 'handler-extension-executed-before|app|any';
...@@ -555,7 +582,7 @@ function testOpenWithMostRecentlyExecuted(callback) { ...@@ -555,7 +582,7 @@ function testOpenWithMostRecentlyExecuted(callback) {
/** /**
* Tests opening a .zip file. * Tests opening a .zip file.
*/ */
function testOpenZipWithZipArchiver(callback) { export function testOpenZipWithZipArchiver(callback) {
const zipArchiverTaskId = 'dmboannefpncccogfdikhmhpmdnddgoe|app|open'; const zipArchiverTaskId = 'dmboannefpncccogfdikhmhpmdnddgoe|app|open';
window.chrome.fileManagerPrivate.getFileTasks = (entries, callback) => { window.chrome.fileManagerPrivate.getFileTasks = (entries, callback) => {
...@@ -640,7 +667,7 @@ function setUpInstallLinuxPackage() { ...@@ -640,7 +667,7 @@ function setUpInstallLinuxPackage() {
* Tests opening a .deb file. The crostini linux package install dialog should * Tests opening a .deb file. The crostini linux package install dialog should
* be called. * be called.
*/ */
function testOpenInstallLinuxPackageDialog(callback) { export function testOpenInstallLinuxPackageDialog(callback) {
const fileManager = setUpInstallLinuxPackage(); const fileManager = setUpInstallLinuxPackage();
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
const mockEntry = MockFileEntry.create(mockFileSystem, '/test.deb'); const mockEntry = MockFileEntry.create(mockFileSystem, '/test.deb');
...@@ -671,7 +698,7 @@ function testOpenInstallLinuxPackageDialog(callback) { ...@@ -671,7 +698,7 @@ function testOpenInstallLinuxPackageDialog(callback) {
* Tests opening a .tini file. The import crostini image dialog should be * Tests opening a .tini file. The import crostini image dialog should be
* called. * called.
*/ */
function testToOpenTiniFileOpensImportCrostiniImageDialog(callback) { export function testToOpenTiniFileOpensImportCrostiniImageDialog(callback) {
window.chrome.fileManagerPrivate.getFileTasks = (entries, callback) => { window.chrome.fileManagerPrivate.getFileTasks = (entries, callback) => {
setTimeout( setTimeout(
callback.bind( callback.bind(
...@@ -696,7 +723,7 @@ function testToOpenTiniFileOpensImportCrostiniImageDialog(callback) { ...@@ -696,7 +723,7 @@ function testToOpenTiniFileOpensImportCrostiniImageDialog(callback) {
* Checks that the function that returns a file type for file entry handles * Checks that the function that returns a file type for file entry handles
* correctly identifies files with known and unknown extensions. * correctly identifies files with known and unknown extensions.
*/ */
function testGetViewFileType() { export function testGetViewFileType() {
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
const testData = [ const testData = [
{extension: 'log', expected: '.log'}, {extension: 'log', expected: '.log'},
...@@ -713,7 +740,7 @@ function testGetViewFileType() { ...@@ -713,7 +740,7 @@ function testGetViewFileType() {
/** /**
* Checks that we are correctly recording UMA about Share action. * Checks that we are correctly recording UMA about Share action.
*/ */
function testRecordSharingAction() { export function testRecordSharingAction() {
// Setup: create a fake metrics object that can be examined for content. // Setup: create a fake metrics object that can be examined for content.
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
...@@ -746,7 +773,7 @@ function testRecordSharingAction() { ...@@ -746,7 +773,7 @@ function testRecordSharingAction() {
/** /**
* Checks that file task is correctly recognized as a file sharing task. * Checks that file task is correctly recognized as a file sharing task.
*/ */
function testIsSharingTask() { export function testIsSharingTask() {
const mockShareTask = /** @type {!chrome.fileManagerPrivate.FileTask} */ ({ const mockShareTask = /** @type {!chrome.fileManagerPrivate.FileTask} */ ({
verb: chrome.fileManagerPrivate.Verb.SHARE_WITH, verb: chrome.fileManagerPrivate.Verb.SHARE_WITH,
}); });
...@@ -761,7 +788,7 @@ function testIsSharingTask() { ...@@ -761,7 +788,7 @@ function testIsSharingTask() {
* Checks that a task sharing files with external apps correctly records * Checks that a task sharing files with external apps correctly records
* UMA statistics. * UMA statistics.
*/ */
async function testShareWith(done) { export async function testShareWith(done) {
const fileManager = getMockFileManager(); const fileManager = getMockFileManager();
const mockFileSystem = new MockFileSystem('volumeId'); const mockFileSystem = new MockFileSystem('volumeId');
const entries = [ const entries = [
...@@ -794,7 +821,8 @@ async function testShareWith(done) { ...@@ -794,7 +821,8 @@ async function testShareWith(done) {
* successfully. * successfully.
* @suppress {visibility} * @suppress {visibility}
*/ */
async function testMountArchiveAndChangeDirectoryNotificationSuccess(done) { export async function testMountArchiveAndChangeDirectoryNotificationSuccess(
done) {
const fileManager = getMockFileManager(); const fileManager = getMockFileManager();
// Define FileTasks instance. // Define FileTasks instance.
...@@ -832,8 +860,8 @@ async function testMountArchiveAndChangeDirectoryNotificationSuccess(done) { ...@@ -832,8 +860,8 @@ async function testMountArchiveAndChangeDirectoryNotificationSuccess(done) {
* resolves with an error. * resolves with an error.
* @suppress {visibility} * @suppress {visibility}
*/ */
async function testMountArchiveAndChangeDirectoryNotificationInvalidArchive( export async function
done) { testMountArchiveAndChangeDirectoryNotificationInvalidArchive(done) {
const fileManager = getMockFileManager(); const fileManager = getMockFileManager();
// Define FileTasks instance. // Define FileTasks instance.
...@@ -866,8 +894,8 @@ async function testMountArchiveAndChangeDirectoryNotificationInvalidArchive( ...@@ -866,8 +894,8 @@ async function testMountArchiveAndChangeDirectoryNotificationInvalidArchive(
* for an encrypted archive is canceled. * for an encrypted archive is canceled.
* @suppress {visibility} * @suppress {visibility}
*/ */
async function testMountArchiveAndChangeDirectoryNotificationCancelPassword( export async function
done) { testMountArchiveAndChangeDirectoryNotificationCancelPassword(done) {
const fileManager = getMockFileManager(); const fileManager = getMockFileManager();
// Define FileTasks instance. // Define FileTasks instance.
...@@ -905,8 +933,8 @@ async function testMountArchiveAndChangeDirectoryNotificationCancelPassword( ...@@ -905,8 +933,8 @@ async function testMountArchiveAndChangeDirectoryNotificationCancelPassword(
* encrypted archive. * encrypted archive.
* @suppress {visibility} * @suppress {visibility}
*/ */
async function testMountArchiveAndChangeDirectoryNotificationEncryptedArchive( export async function
done) { testMountArchiveAndChangeDirectoryNotificationEncryptedArchive(done) {
const fileManager = getMockFileManager(); const fileManager = getMockFileManager();
// Define FileTasks instance. // Define FileTasks instance.
......
...@@ -926,6 +926,7 @@ js_library("location_line") { ...@@ -926,6 +926,7 @@ js_library("location_line") {
js_library("location_line.m") { js_library("location_line.m") {
sources = [ "$root_gen_dir/ui/file_manager/file_manager/foreground/js/ui/location_line.m.js" ] sources = [ "$root_gen_dir/ui/file_manager/file_manager/foreground/js/ui/location_line.m.js" ]
deps = [ deps = [
":breadcrumb.m",
":list_container.m", ":list_container.m",
"//ui/file_manager/externs:files_app_entry_interfaces.m", "//ui/file_manager/externs:files_app_entry_interfaces.m",
"//ui/file_manager/externs:volume_manager.m", "//ui/file_manager/externs:volume_manager.m",
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
// #import {PathComponent} from '../path_component.m.js'; // #import {PathComponent} from '../path_component.m.js';
// #import {NativeEventTarget as EventTarget} from 'chrome://resources/js/cr/event_target.m.js'; // #import {NativeEventTarget as EventTarget} from 'chrome://resources/js/cr/event_target.m.js';
// #import {metrics} from '../../../common/js/metrics.m.js'; // #import {metrics} from '../../../common/js/metrics.m.js';
// #import './breadcrumb.m.js';
// clang-format on // clang-format on
/** /**
......
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