| Index: ui/file_manager/file_manager/foreground/js/ui/directory_tree_unittest.js
|
| diff --git a/ui/file_manager/file_manager/foreground/js/ui/directory_tree_unittest.js b/ui/file_manager/file_manager/foreground/js/ui/directory_tree_unittest.js
|
| index 097e7cacc55003b95c1b4dc64d191674da012f4f..ad14f68bb21b663f8fc2fc5357c8c3987bdcfef2 100644
|
| --- a/ui/file_manager/file_manager/foreground/js/ui/directory_tree_unittest.js
|
| +++ b/ui/file_manager/file_manager/foreground/js/ui/directory_tree_unittest.js
|
| @@ -155,6 +155,9 @@ function testCreateDirectoryTreeWithTeamDrive(callback) {
|
| window
|
| .webkitResolveLocalFileSystemURLEntries['filesystem:drive/team_drives'] =
|
| new MockDirectoryEntry(driveFileSystem, '/team_drives');
|
| + window.webkitResolveLocalFileSystemURLEntries
|
| + ['filesystem:drive/team_drives/a'] =
|
| + new MockDirectoryEntry(driveFileSystem, '/team_drives/a');
|
|
|
| DirectoryTree.decorate(
|
| directoryTree, directoryModel, volumeManager, null, fileOperationManager,
|
| @@ -187,6 +190,67 @@ function testCreateDirectoryTreeWithTeamDrive(callback) {
|
| }
|
|
|
| /**
|
| + * Test case for creating tree with empty Team Drives.
|
| + * Team Drives subtree should be hidden when the user don't have access to any
|
| + * Team Drive.
|
| + *
|
| + * @param {!function(boolean)} callback A callback function which is called with
|
| + * test result.
|
| + */
|
| +function testCreateDirectoryTreeWithEmptyTeamDrive(callback) {
|
| + mockCommandLinePrivate.addSwitch('team-drives');
|
| +
|
| + // Create elements.
|
| + var parentElement = document.createElement('div');
|
| + var directoryTree = document.createElement('div');
|
| + directoryTree.metadataModel = {
|
| + notifyEntriesChanged: function() {},
|
| + get: function(entries, labels) {
|
| + // Mock a non-shared directory
|
| + return Promise.resolve([{shared: false}]);
|
| + }
|
| + };
|
| + parentElement.appendChild(directoryTree);
|
| +
|
| + // Create mocks.
|
| + var directoryModel = new MockDirectoryModel();
|
| + var volumeManager = new MockVolumeManagerWrapper();
|
| + var fileOperationManager = {addEventListener: function(name, callback) {}};
|
| +
|
| + // Set entry which is returned by
|
| + // window.webkitResolveLocalFileSystemURLResults.
|
| + var driveFileSystem = volumeManager.volumeInfoList.item(0).fileSystem;
|
| + window.webkitResolveLocalFileSystemURLEntries['filesystem:drive/root'] =
|
| + new MockDirectoryEntry(driveFileSystem, '/root');
|
| + window
|
| + .webkitResolveLocalFileSystemURLEntries['filesystem:drive/team_drives'] =
|
| + new MockDirectoryEntry(driveFileSystem, '/team_drives');
|
| + // No directories exist under Team Drives
|
| +
|
| + DirectoryTree.decorate(
|
| + directoryTree, directoryModel, volumeManager, null, fileOperationManager,
|
| + true);
|
| + directoryTree.dataModel = new MockNavigationListModel(volumeManager);
|
| + directoryTree.redraw(true);
|
| +
|
| + var driveItem = directoryTree.items[0];
|
| +
|
| + reportPromise(
|
| + waitUntil(function() {
|
| + // Root entries under Drive volume is generated except Team Drives.
|
| + // See testCreateDirectoryTreeWithTeamDrive for detail.
|
| + return driveItem.items.length == 4;
|
| + }).then(function() {
|
| + for (var i = 0; i < driveItem.items.length; i++) {
|
| + assertFalse(
|
| + driveItem.items[i].label == str('DRIVE_TEAM_DRIVES_LABEL'),
|
| + 'Team Drives node should not be shown');
|
| + }
|
| + }),
|
| + callback);
|
| +}
|
| +
|
| +/**
|
| * Test case for updateSubElementsFromList.
|
| *
|
| * Mounts/unmounts removable and archive volumes, and checks these volumes come
|
|
|