Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Side by Side Diff: trunk/src/chrome/browser/chromeos/file_system_provider/service_unittest.cc

Issue 389243002: Revert 282900 "Revert 282890 "[fsp] Add an option for mounting i..." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "chrome/browser/chromeos/file_system_provider/service.h" 5 #include "chrome/browser/chromeos/file_system_provider/service.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/files/file.h" 10 #include "base/files/file.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 manifest, 93 manifest,
94 extensions::Extension::NO_FLAGS, 94 extensions::Extension::NO_FLAGS,
95 extension_id, 95 extension_id,
96 &error); 96 &error);
97 } 97 }
98 98
99 // Stores a provided file system information in preferences. 99 // Stores a provided file system information in preferences.
100 void RememberFakeFileSystem(TestingProfile* profile, 100 void RememberFakeFileSystem(TestingProfile* profile,
101 const std::string& extension_id, 101 const std::string& extension_id,
102 const std::string& file_system_id, 102 const std::string& file_system_id,
103 const std::string& display_name) { 103 const std::string& display_name,
104 bool writable) {
104 TestingPrefServiceSyncable* const pref_service = 105 TestingPrefServiceSyncable* const pref_service =
105 profile->GetTestingPrefService(); 106 profile->GetTestingPrefService();
106 ASSERT_TRUE(pref_service); 107 ASSERT_TRUE(pref_service);
107 108
108 base::DictionaryValue extensions; 109 base::DictionaryValue extensions;
109 base::DictionaryValue* file_systems = new base::DictionaryValue(); 110 base::DictionaryValue* file_systems = new base::DictionaryValue();
110 base::DictionaryValue* file_system = new base::DictionaryValue(); 111 base::DictionaryValue* file_system = new base::DictionaryValue();
111 file_system->SetStringWithoutPathExpansion(kPrefKeyFileSystemId, 112 file_system->SetStringWithoutPathExpansion(kPrefKeyFileSystemId,
112 kFileSystemId); 113 kFileSystemId);
113 file_system->SetStringWithoutPathExpansion(kPrefKeyDisplayName, kDisplayName); 114 file_system->SetStringWithoutPathExpansion(kPrefKeyDisplayName, kDisplayName);
115 file_system->SetBooleanWithoutPathExpansion(kPrefKeyWritable, writable);
114 file_systems->SetWithoutPathExpansion(kFileSystemId, file_system); 116 file_systems->SetWithoutPathExpansion(kFileSystemId, file_system);
115 extensions.SetWithoutPathExpansion(kExtensionId, file_systems); 117 extensions.SetWithoutPathExpansion(kExtensionId, file_systems);
116 118
117 pref_service->Set(prefs::kFileSystemProviderMounted, extensions); 119 pref_service->Set(prefs::kFileSystemProviderMounted, extensions);
118 } 120 }
119 121
120 } // namespace 122 } // namespace
121 123
122 class FileSystemProviderServiceTest : public testing::Test { 124 class FileSystemProviderServiceTest : public testing::Test {
123 protected: 125 protected:
(...skipping 19 matching lines...) Expand all
143 scoped_ptr<ScopedUserManagerEnabler> user_manager_enabler_; 145 scoped_ptr<ScopedUserManagerEnabler> user_manager_enabler_;
144 scoped_ptr<extensions::ExtensionRegistry> extension_registry_; 146 scoped_ptr<extensions::ExtensionRegistry> extension_registry_;
145 scoped_ptr<Service> service_; 147 scoped_ptr<Service> service_;
146 scoped_refptr<extensions::Extension> extension_; 148 scoped_refptr<extensions::Extension> extension_;
147 }; 149 };
148 150
149 TEST_F(FileSystemProviderServiceTest, MountFileSystem) { 151 TEST_F(FileSystemProviderServiceTest, MountFileSystem) {
150 LoggingObserver observer; 152 LoggingObserver observer;
151 service_->AddObserver(&observer); 153 service_->AddObserver(&observer);
152 154
153 EXPECT_TRUE( 155 EXPECT_TRUE(service_->MountFileSystem(
154 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 156 kExtensionId, kFileSystemId, kDisplayName, false /* writable */));
155 157
156 ASSERT_EQ(1u, observer.mounts.size()); 158 ASSERT_EQ(1u, observer.mounts.size());
157 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id()); 159 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id());
158 EXPECT_EQ(kFileSystemId, 160 EXPECT_EQ(kFileSystemId,
159 observer.mounts[0].file_system_info().file_system_id()); 161 observer.mounts[0].file_system_info().file_system_id());
160 base::FilePath expected_mount_path = 162 base::FilePath expected_mount_path =
161 util::GetMountPath(profile_.get(), kExtensionId, kFileSystemId); 163 util::GetMountPath(profile_.get(), kExtensionId, kFileSystemId);
162 EXPECT_EQ(expected_mount_path.AsUTF8Unsafe(), 164 EXPECT_EQ(expected_mount_path.AsUTF8Unsafe(),
163 observer.mounts[0].file_system_info().mount_path().AsUTF8Unsafe()); 165 observer.mounts[0].file_system_info().mount_path().AsUTF8Unsafe());
164 EXPECT_EQ(kDisplayName, observer.mounts[0].file_system_info().display_name()); 166 EXPECT_EQ(kDisplayName, observer.mounts[0].file_system_info().display_name());
167 EXPECT_FALSE(observer.mounts[0].file_system_info().writable());
165 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); 168 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error());
166 ASSERT_EQ(0u, observer.unmounts.size()); 169 ASSERT_EQ(0u, observer.unmounts.size());
167 170
168 std::vector<ProvidedFileSystemInfo> file_system_info_list = 171 std::vector<ProvidedFileSystemInfo> file_system_info_list =
169 service_->GetProvidedFileSystemInfoList(); 172 service_->GetProvidedFileSystemInfoList();
170 ASSERT_EQ(1u, file_system_info_list.size()); 173 ASSERT_EQ(1u, file_system_info_list.size());
171 174
172 service_->RemoveObserver(&observer); 175 service_->RemoveObserver(&observer);
173 } 176 }
174 177
178 TEST_F(FileSystemProviderServiceTest, MountFileSystem_Writable) {
179 LoggingObserver observer;
180 service_->AddObserver(&observer);
181
182 EXPECT_TRUE(service_->MountFileSystem(
183 kExtensionId, kFileSystemId, kDisplayName, true /* writable */));
184
185 ASSERT_EQ(1u, observer.mounts.size());
186 EXPECT_TRUE(observer.mounts[0].file_system_info().writable());
187 ASSERT_EQ(0u, observer.unmounts.size());
188 std::vector<ProvidedFileSystemInfo> file_system_info_list =
189 service_->GetProvidedFileSystemInfoList();
190 ASSERT_EQ(1u, file_system_info_list.size());
191
192 service_->RemoveObserver(&observer);
193 }
194
175 TEST_F(FileSystemProviderServiceTest, MountFileSystem_UniqueIds) { 195 TEST_F(FileSystemProviderServiceTest, MountFileSystem_UniqueIds) {
176 LoggingObserver observer; 196 LoggingObserver observer;
177 service_->AddObserver(&observer); 197 service_->AddObserver(&observer);
178 198
179 EXPECT_TRUE( 199 EXPECT_TRUE(service_->MountFileSystem(
180 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 200 kExtensionId, kFileSystemId, kDisplayName, false /* writable */));
181 EXPECT_FALSE( 201 EXPECT_FALSE(service_->MountFileSystem(
182 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 202 kExtensionId, kFileSystemId, kDisplayName, false /* writable */));
183 203
184 ASSERT_EQ(2u, observer.mounts.size()); 204 ASSERT_EQ(2u, observer.mounts.size());
185 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); 205 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error());
186 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, observer.mounts[1].error()); 206 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, observer.mounts[1].error());
187 207
188 std::vector<ProvidedFileSystemInfo> file_system_info_list = 208 std::vector<ProvidedFileSystemInfo> file_system_info_list =
189 service_->GetProvidedFileSystemInfoList(); 209 service_->GetProvidedFileSystemInfoList();
190 ASSERT_EQ(1u, file_system_info_list.size()); 210 ASSERT_EQ(1u, file_system_info_list.size());
191 211
192 service_->RemoveObserver(&observer); 212 service_->RemoveObserver(&observer);
193 } 213 }
194 214
195 TEST_F(FileSystemProviderServiceTest, MountFileSystem_StressTest) { 215 TEST_F(FileSystemProviderServiceTest, MountFileSystem_StressTest) {
196 LoggingObserver observer; 216 LoggingObserver observer;
197 service_->AddObserver(&observer); 217 service_->AddObserver(&observer);
198 218
199 const size_t kMaxFileSystems = 16; 219 const size_t kMaxFileSystems = 16;
200 for (size_t i = 0; i < kMaxFileSystems; ++i) { 220 for (size_t i = 0; i < kMaxFileSystems; ++i) {
201 const std::string file_system_id = 221 const std::string file_system_id =
202 std::string("test-") + base::IntToString(i); 222 std::string("test-") + base::IntToString(i);
203 EXPECT_TRUE( 223 EXPECT_TRUE(service_->MountFileSystem(
204 service_->MountFileSystem(kExtensionId, file_system_id, kDisplayName)); 224 kExtensionId, file_system_id, kDisplayName, false /* writable */));
205 } 225 }
206 ASSERT_EQ(kMaxFileSystems, observer.mounts.size()); 226 ASSERT_EQ(kMaxFileSystems, observer.mounts.size());
207 227
208 // The next file system is out of limit, and registering it should fail. 228 // The next file system is out of limit, and registering it should fail.
209 EXPECT_FALSE( 229 EXPECT_FALSE(service_->MountFileSystem(
210 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 230 kExtensionId, kFileSystemId, kDisplayName, false /* writable */));
211 231
212 ASSERT_EQ(kMaxFileSystems + 1, observer.mounts.size()); 232 ASSERT_EQ(kMaxFileSystems + 1, observer.mounts.size());
213 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, 233 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED,
214 observer.mounts[kMaxFileSystems].error()); 234 observer.mounts[kMaxFileSystems].error());
215 235
216 std::vector<ProvidedFileSystemInfo> file_system_info_list = 236 std::vector<ProvidedFileSystemInfo> file_system_info_list =
217 service_->GetProvidedFileSystemInfoList(); 237 service_->GetProvidedFileSystemInfoList();
218 ASSERT_EQ(kMaxFileSystems, file_system_info_list.size()); 238 ASSERT_EQ(kMaxFileSystems, file_system_info_list.size());
219 239
220 service_->RemoveObserver(&observer); 240 service_->RemoveObserver(&observer);
221 } 241 }
222 242
223 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem) { 243 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem) {
224 LoggingObserver observer; 244 LoggingObserver observer;
225 service_->AddObserver(&observer); 245 service_->AddObserver(&observer);
226 246
227 EXPECT_TRUE( 247 EXPECT_TRUE(service_->MountFileSystem(
228 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 248 kExtensionId, kFileSystemId, kDisplayName, false /* writable */));
229 ASSERT_EQ(1u, observer.mounts.size()); 249 ASSERT_EQ(1u, observer.mounts.size());
230 250
231 EXPECT_TRUE(service_->UnmountFileSystem( 251 EXPECT_TRUE(service_->UnmountFileSystem(
232 kExtensionId, kFileSystemId, Service::UNMOUNT_REASON_USER)); 252 kExtensionId, kFileSystemId, Service::UNMOUNT_REASON_USER));
233 ASSERT_EQ(1u, observer.unmounts.size()); 253 ASSERT_EQ(1u, observer.unmounts.size());
234 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error()); 254 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error());
235 255
236 EXPECT_EQ(kExtensionId, 256 EXPECT_EQ(kExtensionId,
237 observer.unmounts[0].file_system_info().extension_id()); 257 observer.unmounts[0].file_system_info().extension_id());
238 EXPECT_EQ(kFileSystemId, 258 EXPECT_EQ(kFileSystemId,
239 observer.unmounts[0].file_system_info().file_system_id()); 259 observer.unmounts[0].file_system_info().file_system_id());
240 260
241 std::vector<ProvidedFileSystemInfo> file_system_info_list = 261 std::vector<ProvidedFileSystemInfo> file_system_info_list =
242 service_->GetProvidedFileSystemInfoList(); 262 service_->GetProvidedFileSystemInfoList();
243 ASSERT_EQ(0u, file_system_info_list.size()); 263 ASSERT_EQ(0u, file_system_info_list.size());
244 264
245 service_->RemoveObserver(&observer); 265 service_->RemoveObserver(&observer);
246 } 266 }
247 267
248 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_OnExtensionUnload) { 268 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_OnExtensionUnload) {
249 LoggingObserver observer; 269 LoggingObserver observer;
250 service_->AddObserver(&observer); 270 service_->AddObserver(&observer);
251 271
252 EXPECT_TRUE( 272 EXPECT_TRUE(service_->MountFileSystem(
253 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 273 kExtensionId, kFileSystemId, kDisplayName, false /* writable */));
254 ASSERT_EQ(1u, observer.mounts.size()); 274 ASSERT_EQ(1u, observer.mounts.size());
255 275
256 // Directly call the observer's method. 276 // Directly call the observer's method.
257 service_->OnExtensionUnloaded( 277 service_->OnExtensionUnloaded(
258 profile_.get(), 278 profile_.get(),
259 extension_.get(), 279 extension_.get(),
260 extensions::UnloadedExtensionInfo::REASON_DISABLE); 280 extensions::UnloadedExtensionInfo::REASON_DISABLE);
261 281
262 ASSERT_EQ(1u, observer.unmounts.size()); 282 ASSERT_EQ(1u, observer.unmounts.size());
263 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error()); 283 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error());
264 284
265 EXPECT_EQ(kExtensionId, 285 EXPECT_EQ(kExtensionId,
266 observer.unmounts[0].file_system_info().extension_id()); 286 observer.unmounts[0].file_system_info().extension_id());
267 EXPECT_EQ(kFileSystemId, 287 EXPECT_EQ(kFileSystemId,
268 observer.unmounts[0].file_system_info().file_system_id()); 288 observer.unmounts[0].file_system_info().file_system_id());
269 289
270 std::vector<ProvidedFileSystemInfo> file_system_info_list = 290 std::vector<ProvidedFileSystemInfo> file_system_info_list =
271 service_->GetProvidedFileSystemInfoList(); 291 service_->GetProvidedFileSystemInfoList();
272 ASSERT_EQ(0u, file_system_info_list.size()); 292 ASSERT_EQ(0u, file_system_info_list.size());
273 293
274 service_->RemoveObserver(&observer); 294 service_->RemoveObserver(&observer);
275 } 295 }
276 296
277 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_WrongExtensionId) { 297 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_WrongExtensionId) {
278 LoggingObserver observer; 298 LoggingObserver observer;
279 service_->AddObserver(&observer); 299 service_->AddObserver(&observer);
280 300
281 const std::string kWrongExtensionId = "helloworldhelloworldhelloworldhe"; 301 const std::string kWrongExtensionId = "helloworldhelloworldhelloworldhe";
282 302
283 EXPECT_TRUE( 303 EXPECT_TRUE(service_->MountFileSystem(
284 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 304 kExtensionId, kFileSystemId, kDisplayName, false /* writable */));
285 ASSERT_EQ(1u, observer.mounts.size()); 305 ASSERT_EQ(1u, observer.mounts.size());
286 ASSERT_EQ(1u, service_->GetProvidedFileSystemInfoList().size()); 306 ASSERT_EQ(1u, service_->GetProvidedFileSystemInfoList().size());
287 307
288 EXPECT_FALSE(service_->UnmountFileSystem( 308 EXPECT_FALSE(service_->UnmountFileSystem(
289 kWrongExtensionId, kFileSystemId, Service::UNMOUNT_REASON_USER)); 309 kWrongExtensionId, kFileSystemId, Service::UNMOUNT_REASON_USER));
290 ASSERT_EQ(1u, observer.unmounts.size()); 310 ASSERT_EQ(1u, observer.unmounts.size());
291 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, observer.unmounts[0].error()); 311 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, observer.unmounts[0].error());
292 ASSERT_EQ(1u, service_->GetProvidedFileSystemInfoList().size()); 312 ASSERT_EQ(1u, service_->GetProvidedFileSystemInfoList().size());
293 313
294 std::vector<ProvidedFileSystemInfo> file_system_info_list = 314 std::vector<ProvidedFileSystemInfo> file_system_info_list =
295 service_->GetProvidedFileSystemInfoList(); 315 service_->GetProvidedFileSystemInfoList();
296 ASSERT_EQ(1u, file_system_info_list.size()); 316 ASSERT_EQ(1u, file_system_info_list.size());
297 317
298 service_->RemoveObserver(&observer); 318 service_->RemoveObserver(&observer);
299 } 319 }
300 320
301 TEST_F(FileSystemProviderServiceTest, RestoreFileSystem_OnExtensionLoad) { 321 TEST_F(FileSystemProviderServiceTest, RestoreFileSystem_OnExtensionLoad) {
302 // Create a fake entry in the preferences. 322 // Create a fake entry in the preferences.
303 RememberFakeFileSystem( 323 RememberFakeFileSystem(profile_.get(),
304 profile_.get(), kExtensionId, kFileSystemId, kDisplayName); 324 kExtensionId,
325 kFileSystemId,
326 kDisplayName,
327 true /* writable */);
305 328
306 // Create a new service instance in order to load remembered file systems 329 // Create a new service instance in order to load remembered file systems
307 // from preferences. 330 // from preferences.
308 scoped_ptr<Service> new_service( 331 scoped_ptr<Service> new_service(
309 new Service(profile_.get(), extension_registry_.get())); 332 new Service(profile_.get(), extension_registry_.get()));
310 LoggingObserver observer; 333 LoggingObserver observer;
311 new_service->AddObserver(&observer); 334 new_service->AddObserver(&observer);
312 335
313 new_service->SetFileSystemFactoryForTesting( 336 new_service->SetFileSystemFactoryForTesting(
314 base::Bind(&FakeProvidedFileSystem::Create)); 337 base::Bind(&FakeProvidedFileSystem::Create));
315 338
316 EXPECT_EQ(0u, observer.mounts.size()); 339 EXPECT_EQ(0u, observer.mounts.size());
317 340
318 // Directly call the observer's method. 341 // Directly call the observer's method.
319 new_service->OnExtensionLoaded(profile_.get(), extension_.get()); 342 new_service->OnExtensionLoaded(profile_.get(), extension_.get());
320 343
321 ASSERT_EQ(1u, observer.mounts.size()); 344 ASSERT_EQ(1u, observer.mounts.size());
322 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); 345 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error());
323 346
324 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id()); 347 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id());
325 EXPECT_EQ(kFileSystemId, 348 EXPECT_EQ(kFileSystemId,
326 observer.mounts[0].file_system_info().file_system_id()); 349 observer.mounts[0].file_system_info().file_system_id());
350 EXPECT_TRUE(observer.mounts[0].file_system_info().writable());
327 351
328 std::vector<ProvidedFileSystemInfo> file_system_info_list = 352 std::vector<ProvidedFileSystemInfo> file_system_info_list =
329 new_service->GetProvidedFileSystemInfoList(); 353 new_service->GetProvidedFileSystemInfoList();
330 ASSERT_EQ(1u, file_system_info_list.size()); 354 ASSERT_EQ(1u, file_system_info_list.size());
331 355
332 new_service->RemoveObserver(&observer); 356 new_service->RemoveObserver(&observer);
333 } 357 }
334 358
335 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnMount) { 359 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnMount) {
336 LoggingObserver observer; 360 LoggingObserver observer;
337 service_->AddObserver(&observer); 361 service_->AddObserver(&observer);
338 362
339 EXPECT_TRUE( 363 EXPECT_TRUE(service_->MountFileSystem(
340 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 364 kExtensionId, kFileSystemId, kDisplayName, true /* writable */));
341 ASSERT_EQ(1u, observer.mounts.size()); 365 ASSERT_EQ(1u, observer.mounts.size());
342 366
343 TestingPrefServiceSyncable* const pref_service = 367 TestingPrefServiceSyncable* const pref_service =
344 profile_->GetTestingPrefService(); 368 profile_->GetTestingPrefService();
345 ASSERT_TRUE(pref_service); 369 ASSERT_TRUE(pref_service);
346 370
347 const base::DictionaryValue* const extensions = 371 const base::DictionaryValue* const extensions =
348 pref_service->GetDictionary(prefs::kFileSystemProviderMounted); 372 pref_service->GetDictionary(prefs::kFileSystemProviderMounted);
349 ASSERT_TRUE(extensions); 373 ASSERT_TRUE(extensions);
350 374
(...skipping 11 matching lines...) Expand all
362 std::string file_system_id; 386 std::string file_system_id;
363 EXPECT_TRUE(file_system->GetStringWithoutPathExpansion(kPrefKeyFileSystemId, 387 EXPECT_TRUE(file_system->GetStringWithoutPathExpansion(kPrefKeyFileSystemId,
364 &file_system_id)); 388 &file_system_id));
365 EXPECT_EQ(kFileSystemId, file_system_id); 389 EXPECT_EQ(kFileSystemId, file_system_id);
366 390
367 std::string display_name; 391 std::string display_name;
368 EXPECT_TRUE(file_system->GetStringWithoutPathExpansion(kPrefKeyDisplayName, 392 EXPECT_TRUE(file_system->GetStringWithoutPathExpansion(kPrefKeyDisplayName,
369 &display_name)); 393 &display_name));
370 EXPECT_EQ(kDisplayName, display_name); 394 EXPECT_EQ(kDisplayName, display_name);
371 395
396 bool writable = false;
397 EXPECT_TRUE(
398 file_system->GetBooleanWithoutPathExpansion(kPrefKeyWritable, &writable));
399 EXPECT_TRUE(writable);
400
372 service_->RemoveObserver(&observer); 401 service_->RemoveObserver(&observer);
373 } 402 }
374 403
375 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnUnmountOnShutdown) { 404 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnUnmountOnShutdown) {
376 LoggingObserver observer; 405 LoggingObserver observer;
377 service_->AddObserver(&observer); 406 service_->AddObserver(&observer);
378 407
379 TestingPrefServiceSyncable* const pref_service = 408 TestingPrefServiceSyncable* const pref_service =
380 profile_->GetTestingPrefService(); 409 profile_->GetTestingPrefService();
381 ASSERT_TRUE(pref_service); 410 ASSERT_TRUE(pref_service);
382 411
383 { 412 {
384 EXPECT_TRUE( 413 EXPECT_TRUE(service_->MountFileSystem(
385 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 414 kExtensionId, kFileSystemId, kDisplayName, false /* writable */));
386 ASSERT_EQ(1u, observer.mounts.size()); 415 ASSERT_EQ(1u, observer.mounts.size());
387 416
388 const base::DictionaryValue* extensions = 417 const base::DictionaryValue* extensions =
389 pref_service->GetDictionary(prefs::kFileSystemProviderMounted); 418 pref_service->GetDictionary(prefs::kFileSystemProviderMounted);
390 ASSERT_TRUE(extensions); 419 ASSERT_TRUE(extensions);
391 420
392 const base::DictionaryValue* file_systems = NULL; 421 const base::DictionaryValue* file_systems = NULL;
393 ASSERT_TRUE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId, 422 ASSERT_TRUE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId,
394 &file_systems)); 423 &file_systems));
395 EXPECT_EQ(1u, file_systems->size()); 424 EXPECT_EQ(1u, file_systems->size());
(...skipping 18 matching lines...) Expand all
414 443
415 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnUnmountByUser) { 444 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnUnmountByUser) {
416 LoggingObserver observer; 445 LoggingObserver observer;
417 service_->AddObserver(&observer); 446 service_->AddObserver(&observer);
418 447
419 TestingPrefServiceSyncable* const pref_service = 448 TestingPrefServiceSyncable* const pref_service =
420 profile_->GetTestingPrefService(); 449 profile_->GetTestingPrefService();
421 ASSERT_TRUE(pref_service); 450 ASSERT_TRUE(pref_service);
422 451
423 { 452 {
424 EXPECT_TRUE( 453 EXPECT_TRUE(service_->MountFileSystem(
425 service_->MountFileSystem(kExtensionId, kFileSystemId, kDisplayName)); 454 kExtensionId, kFileSystemId, kDisplayName, false /* writable */));
426 ASSERT_EQ(1u, observer.mounts.size()); 455 ASSERT_EQ(1u, observer.mounts.size());
427 456
428 const base::DictionaryValue* extensions = 457 const base::DictionaryValue* extensions =
429 pref_service->GetDictionary(prefs::kFileSystemProviderMounted); 458 pref_service->GetDictionary(prefs::kFileSystemProviderMounted);
430 ASSERT_TRUE(extensions); 459 ASSERT_TRUE(extensions);
431 460
432 const base::DictionaryValue* file_systems = NULL; 461 const base::DictionaryValue* file_systems = NULL;
433 ASSERT_TRUE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId, 462 ASSERT_TRUE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId,
434 &file_systems)); 463 &file_systems));
435 EXPECT_EQ(1u, file_systems->size()); 464 EXPECT_EQ(1u, file_systems->size());
(...skipping 10 matching lines...) Expand all
446 const base::DictionaryValue* file_systems = NULL; 475 const base::DictionaryValue* file_systems = NULL;
447 EXPECT_FALSE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId, 476 EXPECT_FALSE(extensions->GetDictionaryWithoutPathExpansion(kExtensionId,
448 &file_systems)); 477 &file_systems));
449 } 478 }
450 479
451 service_->RemoveObserver(&observer); 480 service_->RemoveObserver(&observer);
452 } 481 }
453 482
454 } // namespace file_system_provider 483 } // namespace file_system_provider
455 } // namespace chromeos 484 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698