| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 /** | 5 /** |
| 6 * Mock class for VolumeManager. | 6 * Mock class for VolumeManager. |
| 7 * @constructor | 7 * @constructor |
| 8 */ | 8 */ |
| 9 function MockVolumeManager() { | 9 function MockVolumeManager() { |
| 10 this.volumeInfoList = new cr.ui.ArrayDataModel([]); | 10 this.volumeInfoList = new cr.ui.ArrayDataModel([]); |
| 11 | 11 |
| 12 this.volumeInfoList.push(MockVolumeManager.createMockVolumeInfo( | 12 this.volumeInfoList.push(MockVolumeManager.createMockVolumeInfo( |
| 13 VolumeManagerCommon.VolumeType.DRIVE, 'drive', | 13 VolumeManagerCommon.VolumeType.DRIVE, 'drive', |
| 14 str('DRIVE_DIRECTORY_LABEL'))); | 14 str('DRIVE_DIRECTORY_LABEL'))); |
| 15 this.volumeInfoList.push(MockVolumeManager.createMockVolumeInfo( | 15 this.volumeInfoList.push(MockVolumeManager.createMockVolumeInfo( |
| 16 VolumeManagerCommon.VolumeType.DOWNLOADS, 'downloads', | 16 VolumeManagerCommon.VolumeType.DOWNLOADS, 'downloads', |
| 17 str('DOWNLOADS_DIRECTORY_LABEL'))); | 17 str('DOWNLOADS_DIRECTORY_LABEL'))); |
| 18 } | 18 } |
| 19 | 19 |
| 20 /** | 20 /** |
| 21 * @private {?VolumeManager} |
| 22 */ |
| 23 MockVolumeManager.instance_ = null; |
| 24 |
| 25 /** |
| 26 * Replaces the VolumeManager singleton with a MockVolumeManager. |
| 27 * @param {!MockVolumeManager=} opt_singleton |
| 28 */ |
| 29 MockVolumeManager.installMockSingleton = function(opt_singleton) { |
| 30 MockVolumeManager.instance_ = opt_singleton || new MockVolumeManager(); |
| 31 |
| 32 VolumeManager.getInstance = function() { |
| 33 return Promise.resolve(MockVolumeManager.instance_); |
| 34 }; |
| 35 }; |
| 36 |
| 37 /** |
| 21 * Returns the corresponding VolumeInfo. | 38 * Returns the corresponding VolumeInfo. |
| 22 * | 39 * |
| 23 * @param {MockFileEntry} entry MockFileEntry pointing anywhere on a volume. | 40 * @param {MockFileEntry} entry MockFileEntry pointing anywhere on a volume. |
| 24 * @return {VolumeInfo} Corresponding VolumeInfo. | 41 * @return {VolumeInfo} Corresponding VolumeInfo. |
| 25 */ | 42 */ |
| 26 MockVolumeManager.prototype.getVolumeInfo = function(entry) { | 43 MockVolumeManager.prototype.getVolumeInfo = function(entry) { |
| 27 for (var i = 0; i < this.volumeInfoList.length; i++) { | 44 for (var i = 0; i < this.volumeInfoList.length; i++) { |
| 28 if (this.volumeInfoList.item(i).volumeId === entry.volumeId) | 45 if (this.volumeInfoList.item(i).volumeId === entry.volumeId) |
| 29 return this.volumeInfoList.item(i); | 46 return this.volumeInfoList.item(i); |
| 30 } | 47 } |
| (...skipping 17 matching lines...) Expand all Loading... |
| 48 var volumeInfo = this.volumeInfoList.item(0); | 65 var volumeInfo = this.volumeInfoList.item(0); |
| 49 var isRootEntry = entry.fullPath === '/root'; | 66 var isRootEntry = entry.fullPath === '/root'; |
| 50 return new EntryLocation(volumeInfo, VolumeManagerCommon.RootType.DRIVE, | 67 return new EntryLocation(volumeInfo, VolumeManagerCommon.RootType.DRIVE, |
| 51 isRootEntry, true); | 68 isRootEntry, true); |
| 52 } | 69 } |
| 53 | 70 |
| 54 throw new Error('Not implemented exception.'); | 71 throw new Error('Not implemented exception.'); |
| 55 }; | 72 }; |
| 56 | 73 |
| 57 /** | 74 /** |
| 75 * @param {VolumeManagerCommon.VolumeType} volumeType Volume type. |
| 76 * @return {VolumeInfo} Volume info. |
| 77 */ |
| 78 MockVolumeManager.prototype.getCurrentProfileVolumeInfo = function(volumeType) { |
| 79 return VolumeManager.prototype.getCurrentProfileVolumeInfo.call( |
| 80 this, volumeType); |
| 81 }; |
| 82 |
| 83 /** |
| 58 * Utility function to create a mock VolumeInfo. | 84 * Utility function to create a mock VolumeInfo. |
| 59 * @param {VolumeType} type Volume type. | 85 * @param {VolumeType} type Volume type. |
| 60 * @param {string} volumeId Volume id. | 86 * @param {string} volumeId Volume id. |
| 61 * @param {string} label Label. | 87 * @param {string} label Label. |
| 62 * @return {VolumeInfo} Created mock VolumeInfo. | 88 * @return {VolumeInfo} Created mock VolumeInfo. |
| 63 */ | 89 */ |
| 64 MockVolumeManager.createMockVolumeInfo = function(type, volumeId, label) { | 90 MockVolumeManager.createMockVolumeInfo = function(type, volumeId, label) { |
| 65 var fileSystem = new MockFileSystem(volumeId, 'filesystem:' + volumeId); | 91 var fileSystem = new MockFileSystem(volumeId, 'filesystem:' + volumeId); |
| 66 fileSystem.entries['/'] = new MockDirectoryEntry(fileSystem, ''); | 92 fileSystem.entries['/'] = new MockDirectoryEntry(fileSystem, ''); |
| 67 | 93 |
| 68 var volumeInfo = new VolumeInfo( | 94 var volumeInfo = new VolumeInfo( |
| 69 type, | 95 type, |
| 70 volumeId, | 96 volumeId, |
| 71 fileSystem, | 97 fileSystem, |
| 72 '', // error | 98 '', // error |
| 73 '', // deviceType | 99 '', // deviceType |
| 74 '', // devicePath | 100 '', // devicePath |
| 75 false, // isReadonly | 101 false, // isReadonly |
| 76 {isCurrentProfile: true, displayName: ''}, // profile | 102 {isCurrentProfile: true, displayName: ''}, // profile |
| 77 label, // label | 103 label, // label |
| 78 '', // extensionId | 104 '', // extensionId |
| 79 false); // hasMedia | 105 false); // hasMedia |
| 80 | 106 |
| 81 return volumeInfo; | 107 return volumeInfo; |
| 82 }; | 108 }; |
| OLD | NEW |