| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 // Set up string assets. | 5 // Set up string assets. |
| 6 loadTimeData.data = { | 6 loadTimeData.data = { |
| 7 DRIVE_DIRECTORY_LABEL: 'My Drive', | 7 DRIVE_DIRECTORY_LABEL: 'My Drive', |
| 8 DOWNLOADS_DIRECTORY_LABEL: 'Downloads' | 8 DOWNLOADS_DIRECTORY_LABEL: 'Downloads' |
| 9 }; | 9 }; |
| 10 | 10 |
| 11 // A providing extension which has mounted a file system, and doesn't support | 11 // A providing extension which has mounted a file system, and doesn't support |
| 12 // multiple mounts. | 12 // multiple mounts. |
| 13 var MOUNTED_SINGLE_PROVIDING_EXTENSION = { | 13 var MOUNTED_SINGLE_PROVIDING_EXTENSION = { |
| 14 extensionId: 'mounted-single-extension-id', | 14 extensionId: 'mounted-single-extension-id', |
| 15 name: 'mounted-single-extension-name', | 15 name: 'mounted-single-extension-name', |
| 16 configurable: false, | 16 configurable: false, |
| 17 watchable: true, |
| 17 multipleMounts: false, | 18 multipleMounts: false, |
| 18 source: 'network' | 19 source: 'network' |
| 19 }; | 20 }; |
| 20 | 21 |
| 21 // A providing extension which has not mounted a file system, and doesn't | 22 // A providing extension which has not mounted a file system, and doesn't |
| 22 // support multiple mounts. | 23 // support multiple mounts. |
| 23 var NOT_MOUNTED_SINGLE_PROVIDING_EXTENSION = { | 24 var NOT_MOUNTED_SINGLE_PROVIDING_EXTENSION = { |
| 24 extensionId: 'not-mounted-single-extension-id', | 25 extensionId: 'not-mounted-single-extension-id', |
| 25 name: 'not-mounted-single-extension-name', | 26 name: 'not-mounted-single-extension-name', |
| 26 configurable: false, | 27 configurable: false, |
| 28 watchable: true, |
| 27 multipleMounts: false, | 29 multipleMounts: false, |
| 28 source: 'network' | 30 source: 'network' |
| 29 }; | 31 }; |
| 30 // A providing extension which has not mounted a file system, and doesn't | 32 // A providing extension which has not mounted a file system, and doesn't |
| 31 // support multiple mounts. | 33 // support multiple mounts. |
| 32 var NOT_MOUNTED_SINGLE_PROVIDING_EXTENSION = { | 34 var NOT_MOUNTED_SINGLE_PROVIDING_EXTENSION = { |
| 33 extensionId: 'not-mounted-single-extension-id', | 35 extensionId: 'not-mounted-single-extension-id', |
| 34 name: 'not-mounted-single-extension-name', | 36 name: 'not-mounted-single-extension-name', |
| 35 configurable: false, | 37 configurable: false, |
| 38 watchable: true, |
| 36 multipleMounts: false, | 39 multipleMounts: false, |
| 37 source: 'network' | 40 source: 'network' |
| 38 }; | 41 }; |
| 39 | 42 |
| 40 // A providing extension which has mounted a file system and supports mounting | 43 // A providing extension which has mounted a file system and supports mounting |
| 41 // more. | 44 // more. |
| 42 var MOUNTED_MULTIPLE_PROVIDING_EXTENSION = { | 45 var MOUNTED_MULTIPLE_PROVIDING_EXTENSION = { |
| 43 extensionId: 'mounted-multiple-extension-id', | 46 extensionId: 'mounted-multiple-extension-id', |
| 44 name: 'mounted-multiple-extension-name', | 47 name: 'mounted-multiple-extension-name', |
| 45 configurable: true, | 48 configurable: true, |
| 49 watchable: false, |
| 46 multipleMounts: true, | 50 multipleMounts: true, |
| 47 source: 'network' | 51 source: 'network' |
| 48 }; | 52 }; |
| 49 | 53 |
| 50 // A providing extension which has not mounted a file system but it's of "file" | 54 // A providing extension which has not mounted a file system but it's of "file" |
| 51 // source. Such extensions do mounting via file handlers. | 55 // source. Such extensions do mounting via file handlers. |
| 52 var NOT_MOUNTED_FILE_PROVIDING_EXTENSION = { | 56 var NOT_MOUNTED_FILE_PROVIDING_EXTENSION = { |
| 53 extensionId: 'file-extension-id', | 57 extensionId: 'file-extension-id', |
| 54 name: 'file-extension-name', | 58 name: 'file-extension-name', |
| 55 configurable: false, | 59 configurable: false, |
| 60 watchable: true, |
| 56 multipleMounts: true, | 61 multipleMounts: true, |
| 57 source: 'file' | 62 source: 'file' |
| 58 }; | 63 }; |
| 59 | 64 |
| 60 // A providing extension which has not mounted a file system but it's of | 65 // A providing extension which has not mounted a file system but it's of |
| 61 // "device" source. Such extensions are not mounted by user, but automatically | 66 // "device" source. Such extensions are not mounted by user, but automatically |
| 62 // when the device is attached. | 67 // when the device is attached. |
| 63 var NOT_MOUNTED_DEVICE_PROVIDING_EXTENSION = { | 68 var NOT_MOUNTED_DEVICE_PROVIDING_EXTENSION = { |
| 64 extensionId: 'device-extension-id', | 69 extensionId: 'device-extension-id', |
| 65 name: 'device-extension-name', | 70 name: 'device-extension-name', |
| 66 configurable: false, | 71 configurable: false, |
| 72 watchable: true, |
| 67 multipleMounts: true, | 73 multipleMounts: true, |
| 68 source: 'device' | 74 source: 'device' |
| 69 }; | 75 }; |
| 70 | 76 |
| 71 var volumeManager = null; | 77 var volumeManager = null; |
| 72 | 78 |
| 73 function addProvidedVolume(volumeManager, extensionId, volumeId) { | 79 function addProvidedVolume(volumeManager, extensionId, volumeId) { |
| 74 var fileSystem = new MockFileSystem(volumeId, 'filesystem:' + volumeId); | 80 var fileSystem = new MockFileSystem(volumeId, 'filesystem:' + volumeId); |
| 75 fileSystem.entries['/'] = new MockDirectoryEntry(fileSystem, ''); | 81 fileSystem.entries['/'] = new MockDirectoryEntry(fileSystem, ''); |
| 76 | 82 |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 var model = new ProvidersModel(volumeManager); | 121 var model = new ProvidersModel(volumeManager); |
| 116 reportPromise(model.getInstalledProviders().then( | 122 reportPromise(model.getInstalledProviders().then( |
| 117 function(extensions) { | 123 function(extensions) { |
| 118 assertEquals(5, extensions.length); | 124 assertEquals(5, extensions.length); |
| 119 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.extensionId, | 125 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.extensionId, |
| 120 extensions[0].extensionId); | 126 extensions[0].extensionId); |
| 121 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.name, | 127 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.name, |
| 122 extensions[0].extensionName); | 128 extensions[0].extensionName); |
| 123 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.configurable, | 129 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.configurable, |
| 124 extensions[0].configurable); | 130 extensions[0].configurable); |
| 131 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.watchable, |
| 132 extensions[0].watchable); |
| 125 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.multipleMounts, | 133 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.multipleMounts, |
| 126 extensions[0].multipleMounts); | 134 extensions[0].multipleMounts); |
| 127 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.source, | 135 assertEquals(MOUNTED_SINGLE_PROVIDING_EXTENSION.source, |
| 128 extensions[0].source); | 136 extensions[0].source); |
| 129 | 137 |
| 130 assertEquals(NOT_MOUNTED_SINGLE_PROVIDING_EXTENSION.extensionId, | 138 assertEquals(NOT_MOUNTED_SINGLE_PROVIDING_EXTENSION.extensionId, |
| 131 extensions[1].extensionId); | 139 extensions[1].extensionId); |
| 132 assertEquals(MOUNTED_MULTIPLE_PROVIDING_EXTENSION.extensionId, | 140 assertEquals(MOUNTED_MULTIPLE_PROVIDING_EXTENSION.extensionId, |
| 133 extensions[2].extensionId); | 141 extensions[2].extensionId); |
| 134 assertEquals(NOT_MOUNTED_FILE_PROVIDING_EXTENSION.extensionId, | 142 assertEquals(NOT_MOUNTED_FILE_PROVIDING_EXTENSION.extensionId, |
| 135 extensions[3].extensionId); | 143 extensions[3].extensionId); |
| 136 assertEquals(NOT_MOUNTED_DEVICE_PROVIDING_EXTENSION.extensionId, | 144 assertEquals(NOT_MOUNTED_DEVICE_PROVIDING_EXTENSION.extensionId, |
| 137 extensions[4].extensionId); | 145 extensions[4].extensionId); |
| 138 }), callback); | 146 }), callback); |
| 139 } | 147 } |
| 140 | 148 |
| 141 function testGetMountableProviders(callback) { | 149 function testGetMountableProviders(callback) { |
| 142 var model = new ProvidersModel(volumeManager); | 150 var model = new ProvidersModel(volumeManager); |
| 143 reportPromise(model.getMountableProviders().then( | 151 reportPromise(model.getMountableProviders().then( |
| 144 function(extensions) { | 152 function(extensions) { |
| 145 assertEquals(2, extensions.length); | 153 assertEquals(2, extensions.length); |
| 146 assertEquals(NOT_MOUNTED_SINGLE_PROVIDING_EXTENSION.extensionId, | 154 assertEquals(NOT_MOUNTED_SINGLE_PROVIDING_EXTENSION.extensionId, |
| 147 extensions[0].extensionId); | 155 extensions[0].extensionId); |
| 148 assertEquals(MOUNTED_MULTIPLE_PROVIDING_EXTENSION.extensionId, | 156 assertEquals(MOUNTED_MULTIPLE_PROVIDING_EXTENSION.extensionId, |
| 149 extensions[1].extensionId); | 157 extensions[1].extensionId); |
| 150 }), callback); | 158 }), callback); |
| 151 } | 159 } |
| OLD | NEW |