| OLD | NEW |
| 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 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 scoped_ptr<Service> service_; | 209 scoped_ptr<Service> service_; |
| 210 scoped_refptr<extensions::Extension> extension_; | 210 scoped_refptr<extensions::Extension> extension_; |
| 211 FakeRegistry* registry_; // Owned by Service. | 211 FakeRegistry* registry_; // Owned by Service. |
| 212 Watcher fake_watcher_; | 212 Watcher fake_watcher_; |
| 213 }; | 213 }; |
| 214 | 214 |
| 215 TEST_F(FileSystemProviderServiceTest, MountFileSystem) { | 215 TEST_F(FileSystemProviderServiceTest, MountFileSystem) { |
| 216 LoggingObserver observer; | 216 LoggingObserver observer; |
| 217 service_->AddObserver(&observer); | 217 service_->AddObserver(&observer); |
| 218 | 218 |
| 219 EXPECT_TRUE(service_->MountFileSystem( | 219 EXPECT_EQ(base::File::FILE_OK, |
| 220 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 220 service_->MountFileSystem( |
| 221 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 221 | 222 |
| 222 ASSERT_EQ(1u, observer.mounts.size()); | 223 ASSERT_EQ(1u, observer.mounts.size()); |
| 223 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id()); | 224 EXPECT_EQ(kExtensionId, observer.mounts[0].file_system_info().extension_id()); |
| 224 EXPECT_EQ(kFileSystemId, | 225 EXPECT_EQ(kFileSystemId, |
| 225 observer.mounts[0].file_system_info().file_system_id()); | 226 observer.mounts[0].file_system_info().file_system_id()); |
| 226 base::FilePath expected_mount_path = | 227 base::FilePath expected_mount_path = |
| 227 util::GetMountPath(profile_, kExtensionId, kFileSystemId); | 228 util::GetMountPath(profile_, kExtensionId, kFileSystemId); |
| 228 EXPECT_EQ(expected_mount_path.AsUTF8Unsafe(), | 229 EXPECT_EQ(expected_mount_path.AsUTF8Unsafe(), |
| 229 observer.mounts[0].file_system_info().mount_path().AsUTF8Unsafe()); | 230 observer.mounts[0].file_system_info().mount_path().AsUTF8Unsafe()); |
| 230 EXPECT_EQ(kDisplayName, observer.mounts[0].file_system_info().display_name()); | 231 EXPECT_EQ(kDisplayName, observer.mounts[0].file_system_info().display_name()); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 241 } | 242 } |
| 242 | 243 |
| 243 TEST_F(FileSystemProviderServiceTest, | 244 TEST_F(FileSystemProviderServiceTest, |
| 244 MountFileSystem_WritableAndSupportsNotifyTag) { | 245 MountFileSystem_WritableAndSupportsNotifyTag) { |
| 245 LoggingObserver observer; | 246 LoggingObserver observer; |
| 246 service_->AddObserver(&observer); | 247 service_->AddObserver(&observer); |
| 247 | 248 |
| 248 MountOptions options(kFileSystemId, kDisplayName); | 249 MountOptions options(kFileSystemId, kDisplayName); |
| 249 options.writable = true; | 250 options.writable = true; |
| 250 options.supports_notify_tag = true; | 251 options.supports_notify_tag = true; |
| 251 EXPECT_TRUE(service_->MountFileSystem(kExtensionId, options)); | 252 EXPECT_EQ(base::File::FILE_OK, |
| 253 service_->MountFileSystem(kExtensionId, options)); |
| 252 | 254 |
| 253 ASSERT_EQ(1u, observer.mounts.size()); | 255 ASSERT_EQ(1u, observer.mounts.size()); |
| 254 EXPECT_TRUE(observer.mounts[0].file_system_info().writable()); | 256 EXPECT_TRUE(observer.mounts[0].file_system_info().writable()); |
| 255 EXPECT_TRUE(observer.mounts[0].file_system_info().supports_notify_tag()); | 257 EXPECT_TRUE(observer.mounts[0].file_system_info().supports_notify_tag()); |
| 256 ASSERT_EQ(0u, observer.unmounts.size()); | 258 ASSERT_EQ(0u, observer.unmounts.size()); |
| 257 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 259 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
| 258 service_->GetProvidedFileSystemInfoList(); | 260 service_->GetProvidedFileSystemInfoList(); |
| 259 ASSERT_EQ(1u, file_system_info_list.size()); | 261 ASSERT_EQ(1u, file_system_info_list.size()); |
| 260 | 262 |
| 261 service_->RemoveObserver(&observer); | 263 service_->RemoveObserver(&observer); |
| 262 } | 264 } |
| 263 | 265 |
| 264 TEST_F(FileSystemProviderServiceTest, MountFileSystem_UniqueIds) { | 266 TEST_F(FileSystemProviderServiceTest, MountFileSystem_UniqueIds) { |
| 265 LoggingObserver observer; | 267 LoggingObserver observer; |
| 266 service_->AddObserver(&observer); | 268 service_->AddObserver(&observer); |
| 267 | 269 |
| 268 EXPECT_TRUE(service_->MountFileSystem( | 270 EXPECT_EQ(base::File::FILE_OK, |
| 269 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 271 service_->MountFileSystem( |
| 270 EXPECT_FALSE(service_->MountFileSystem( | 272 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 271 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 273 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, |
| 274 service_->MountFileSystem( |
| 275 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 272 | 276 |
| 273 ASSERT_EQ(2u, observer.mounts.size()); | 277 ASSERT_EQ(2u, observer.mounts.size()); |
| 274 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); | 278 EXPECT_EQ(base::File::FILE_OK, observer.mounts[0].error()); |
| 275 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, observer.mounts[1].error()); | 279 EXPECT_EQ(base::File::FILE_ERROR_EXISTS, observer.mounts[1].error()); |
| 276 | 280 |
| 277 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 281 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
| 278 service_->GetProvidedFileSystemInfoList(); | 282 service_->GetProvidedFileSystemInfoList(); |
| 279 ASSERT_EQ(1u, file_system_info_list.size()); | 283 ASSERT_EQ(1u, file_system_info_list.size()); |
| 280 | 284 |
| 281 service_->RemoveObserver(&observer); | 285 service_->RemoveObserver(&observer); |
| 282 } | 286 } |
| 283 | 287 |
| 284 TEST_F(FileSystemProviderServiceTest, MountFileSystem_StressTest) { | 288 TEST_F(FileSystemProviderServiceTest, MountFileSystem_StressTest) { |
| 285 LoggingObserver observer; | 289 LoggingObserver observer; |
| 286 service_->AddObserver(&observer); | 290 service_->AddObserver(&observer); |
| 287 | 291 |
| 288 const size_t kMaxFileSystems = 16; | 292 const size_t kMaxFileSystems = 16; |
| 289 for (size_t i = 0; i < kMaxFileSystems; ++i) { | 293 for (size_t i = 0; i < kMaxFileSystems; ++i) { |
| 290 const std::string file_system_id = | 294 const std::string file_system_id = |
| 291 std::string("test-") + base::IntToString(i); | 295 std::string("test-") + base::IntToString(i); |
| 292 EXPECT_TRUE(service_->MountFileSystem( | 296 EXPECT_EQ(base::File::FILE_OK, |
| 293 kExtensionId, MountOptions(file_system_id, kDisplayName))); | 297 service_->MountFileSystem( |
| 298 kExtensionId, MountOptions(file_system_id, kDisplayName))); |
| 294 } | 299 } |
| 295 ASSERT_EQ(kMaxFileSystems, observer.mounts.size()); | 300 ASSERT_EQ(kMaxFileSystems, observer.mounts.size()); |
| 296 | 301 |
| 297 // The next file system is out of limit, and registering it should fail. | 302 // The next file system is out of limit, and registering it should fail. |
| 298 EXPECT_FALSE(service_->MountFileSystem( | 303 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, |
| 299 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 304 service_->MountFileSystem( |
| 305 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 300 | 306 |
| 301 ASSERT_EQ(kMaxFileSystems + 1, observer.mounts.size()); | 307 ASSERT_EQ(kMaxFileSystems + 1, observer.mounts.size()); |
| 302 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, | 308 EXPECT_EQ(base::File::FILE_ERROR_TOO_MANY_OPENED, |
| 303 observer.mounts[kMaxFileSystems].error()); | 309 observer.mounts[kMaxFileSystems].error()); |
| 304 | 310 |
| 305 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 311 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
| 306 service_->GetProvidedFileSystemInfoList(); | 312 service_->GetProvidedFileSystemInfoList(); |
| 307 ASSERT_EQ(kMaxFileSystems, file_system_info_list.size()); | 313 ASSERT_EQ(kMaxFileSystems, file_system_info_list.size()); |
| 308 | 314 |
| 309 service_->RemoveObserver(&observer); | 315 service_->RemoveObserver(&observer); |
| 310 } | 316 } |
| 311 | 317 |
| 312 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem) { | 318 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem) { |
| 313 LoggingObserver observer; | 319 LoggingObserver observer; |
| 314 service_->AddObserver(&observer); | 320 service_->AddObserver(&observer); |
| 315 | 321 |
| 316 EXPECT_TRUE(service_->MountFileSystem( | 322 EXPECT_EQ(base::File::FILE_OK, |
| 317 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 323 service_->MountFileSystem( |
| 324 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 318 ASSERT_EQ(1u, observer.mounts.size()); | 325 ASSERT_EQ(1u, observer.mounts.size()); |
| 319 | 326 |
| 320 EXPECT_TRUE(service_->UnmountFileSystem( | 327 EXPECT_EQ(base::File::FILE_OK, |
| 321 kExtensionId, kFileSystemId, Service::UNMOUNT_REASON_USER)); | 328 service_->UnmountFileSystem(kExtensionId, kFileSystemId, |
| 329 Service::UNMOUNT_REASON_USER)); |
| 322 ASSERT_EQ(1u, observer.unmounts.size()); | 330 ASSERT_EQ(1u, observer.unmounts.size()); |
| 323 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error()); | 331 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error()); |
| 324 | 332 |
| 325 EXPECT_EQ(kExtensionId, | 333 EXPECT_EQ(kExtensionId, |
| 326 observer.unmounts[0].file_system_info().extension_id()); | 334 observer.unmounts[0].file_system_info().extension_id()); |
| 327 EXPECT_EQ(kFileSystemId, | 335 EXPECT_EQ(kFileSystemId, |
| 328 observer.unmounts[0].file_system_info().file_system_id()); | 336 observer.unmounts[0].file_system_info().file_system_id()); |
| 329 | 337 |
| 330 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 338 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
| 331 service_->GetProvidedFileSystemInfoList(); | 339 service_->GetProvidedFileSystemInfoList(); |
| 332 ASSERT_EQ(0u, file_system_info_list.size()); | 340 ASSERT_EQ(0u, file_system_info_list.size()); |
| 333 | 341 |
| 334 service_->RemoveObserver(&observer); | 342 service_->RemoveObserver(&observer); |
| 335 } | 343 } |
| 336 | 344 |
| 337 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_OnExtensionUnload) { | 345 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_OnExtensionUnload) { |
| 338 LoggingObserver observer; | 346 LoggingObserver observer; |
| 339 service_->AddObserver(&observer); | 347 service_->AddObserver(&observer); |
| 340 | 348 |
| 341 EXPECT_TRUE(service_->MountFileSystem( | 349 EXPECT_EQ(base::File::FILE_OK, |
| 342 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 350 service_->MountFileSystem( |
| 351 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 343 ASSERT_EQ(1u, observer.mounts.size()); | 352 ASSERT_EQ(1u, observer.mounts.size()); |
| 344 | 353 |
| 345 // Directly call the observer's method. | 354 // Directly call the observer's method. |
| 346 service_->OnExtensionUnloaded( | 355 service_->OnExtensionUnloaded( |
| 347 profile_, | 356 profile_, |
| 348 extension_.get(), | 357 extension_.get(), |
| 349 extensions::UnloadedExtensionInfo::REASON_DISABLE); | 358 extensions::UnloadedExtensionInfo::REASON_DISABLE); |
| 350 | 359 |
| 351 ASSERT_EQ(1u, observer.unmounts.size()); | 360 ASSERT_EQ(1u, observer.unmounts.size()); |
| 352 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error()); | 361 EXPECT_EQ(base::File::FILE_OK, observer.unmounts[0].error()); |
| 353 | 362 |
| 354 EXPECT_EQ(kExtensionId, | 363 EXPECT_EQ(kExtensionId, |
| 355 observer.unmounts[0].file_system_info().extension_id()); | 364 observer.unmounts[0].file_system_info().extension_id()); |
| 356 EXPECT_EQ(kFileSystemId, | 365 EXPECT_EQ(kFileSystemId, |
| 357 observer.unmounts[0].file_system_info().file_system_id()); | 366 observer.unmounts[0].file_system_info().file_system_id()); |
| 358 | 367 |
| 359 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 368 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
| 360 service_->GetProvidedFileSystemInfoList(); | 369 service_->GetProvidedFileSystemInfoList(); |
| 361 ASSERT_EQ(0u, file_system_info_list.size()); | 370 ASSERT_EQ(0u, file_system_info_list.size()); |
| 362 | 371 |
| 363 service_->RemoveObserver(&observer); | 372 service_->RemoveObserver(&observer); |
| 364 } | 373 } |
| 365 | 374 |
| 366 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_WrongExtensionId) { | 375 TEST_F(FileSystemProviderServiceTest, UnmountFileSystem_WrongExtensionId) { |
| 367 LoggingObserver observer; | 376 LoggingObserver observer; |
| 368 service_->AddObserver(&observer); | 377 service_->AddObserver(&observer); |
| 369 | 378 |
| 370 const std::string kWrongExtensionId = "helloworldhelloworldhelloworldhe"; | 379 const std::string kWrongExtensionId = "helloworldhelloworldhelloworldhe"; |
| 371 | 380 |
| 372 EXPECT_TRUE(service_->MountFileSystem( | 381 EXPECT_EQ(base::File::FILE_OK, |
| 373 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 382 service_->MountFileSystem( |
| 383 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 374 ASSERT_EQ(1u, observer.mounts.size()); | 384 ASSERT_EQ(1u, observer.mounts.size()); |
| 375 ASSERT_EQ(1u, service_->GetProvidedFileSystemInfoList().size()); | 385 ASSERT_EQ(1u, service_->GetProvidedFileSystemInfoList().size()); |
| 376 | 386 |
| 377 EXPECT_FALSE(service_->UnmountFileSystem( | 387 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, |
| 378 kWrongExtensionId, kFileSystemId, Service::UNMOUNT_REASON_USER)); | 388 service_->UnmountFileSystem(kWrongExtensionId, kFileSystemId, |
| 389 Service::UNMOUNT_REASON_USER)); |
| 379 ASSERT_EQ(1u, observer.unmounts.size()); | 390 ASSERT_EQ(1u, observer.unmounts.size()); |
| 380 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, observer.unmounts[0].error()); | 391 EXPECT_EQ(base::File::FILE_ERROR_NOT_FOUND, observer.unmounts[0].error()); |
| 381 ASSERT_EQ(1u, service_->GetProvidedFileSystemInfoList().size()); | 392 ASSERT_EQ(1u, service_->GetProvidedFileSystemInfoList().size()); |
| 382 | 393 |
| 383 std::vector<ProvidedFileSystemInfo> file_system_info_list = | 394 std::vector<ProvidedFileSystemInfo> file_system_info_list = |
| 384 service_->GetProvidedFileSystemInfoList(); | 395 service_->GetProvidedFileSystemInfoList(); |
| 385 ASSERT_EQ(1u, file_system_info_list.size()); | 396 ASSERT_EQ(1u, file_system_info_list.size()); |
| 386 | 397 |
| 387 service_->RemoveObserver(&observer); | 398 service_->RemoveObserver(&observer); |
| 388 } | 399 } |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 441 service_->RemoveObserver(&observer); | 452 service_->RemoveObserver(&observer); |
| 442 } | 453 } |
| 443 | 454 |
| 444 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnMount) { | 455 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnMount) { |
| 445 LoggingObserver observer; | 456 LoggingObserver observer; |
| 446 service_->AddObserver(&observer); | 457 service_->AddObserver(&observer); |
| 447 | 458 |
| 448 EXPECT_FALSE(registry_->file_system_info()); | 459 EXPECT_FALSE(registry_->file_system_info()); |
| 449 EXPECT_FALSE(registry_->watchers()); | 460 EXPECT_FALSE(registry_->watchers()); |
| 450 | 461 |
| 451 EXPECT_TRUE(service_->MountFileSystem( | 462 EXPECT_EQ(base::File::FILE_OK, |
| 452 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 463 service_->MountFileSystem( |
| 464 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 453 ASSERT_EQ(1u, observer.mounts.size()); | 465 ASSERT_EQ(1u, observer.mounts.size()); |
| 454 | 466 |
| 455 ASSERT_TRUE(registry_->file_system_info()); | 467 ASSERT_TRUE(registry_->file_system_info()); |
| 456 EXPECT_EQ(kExtensionId, registry_->file_system_info()->extension_id()); | 468 EXPECT_EQ(kExtensionId, registry_->file_system_info()->extension_id()); |
| 457 EXPECT_EQ(kFileSystemId, registry_->file_system_info()->file_system_id()); | 469 EXPECT_EQ(kFileSystemId, registry_->file_system_info()->file_system_id()); |
| 458 EXPECT_EQ(kDisplayName, registry_->file_system_info()->display_name()); | 470 EXPECT_EQ(kDisplayName, registry_->file_system_info()->display_name()); |
| 459 EXPECT_FALSE(registry_->file_system_info()->writable()); | 471 EXPECT_FALSE(registry_->file_system_info()->writable()); |
| 460 EXPECT_FALSE(registry_->file_system_info()->supports_notify_tag()); | 472 EXPECT_FALSE(registry_->file_system_info()->supports_notify_tag()); |
| 461 ASSERT_TRUE(registry_->watchers()); | 473 ASSERT_TRUE(registry_->watchers()); |
| 462 | 474 |
| 463 service_->RemoveObserver(&observer); | 475 service_->RemoveObserver(&observer); |
| 464 } | 476 } |
| 465 | 477 |
| 466 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnUnmountOnShutdown) { | 478 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnUnmountOnShutdown) { |
| 467 LoggingObserver observer; | 479 LoggingObserver observer; |
| 468 service_->AddObserver(&observer); | 480 service_->AddObserver(&observer); |
| 469 | 481 |
| 470 { | 482 { |
| 471 EXPECT_FALSE(registry_->file_system_info()); | 483 EXPECT_FALSE(registry_->file_system_info()); |
| 472 EXPECT_FALSE(registry_->watchers()); | 484 EXPECT_FALSE(registry_->watchers()); |
| 473 EXPECT_TRUE(service_->MountFileSystem( | 485 EXPECT_EQ(base::File::FILE_OK, |
| 474 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 486 service_->MountFileSystem( |
| 487 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 475 | 488 |
| 476 EXPECT_EQ(1u, observer.mounts.size()); | 489 EXPECT_EQ(1u, observer.mounts.size()); |
| 477 EXPECT_TRUE(registry_->file_system_info()); | 490 EXPECT_TRUE(registry_->file_system_info()); |
| 478 EXPECT_TRUE(registry_->watchers()); | 491 EXPECT_TRUE(registry_->watchers()); |
| 479 } | 492 } |
| 480 | 493 |
| 481 { | 494 { |
| 482 EXPECT_TRUE(service_->UnmountFileSystem( | 495 EXPECT_EQ(base::File::FILE_OK, |
| 483 kExtensionId, kFileSystemId, Service::UNMOUNT_REASON_SHUTDOWN)); | 496 service_->UnmountFileSystem(kExtensionId, kFileSystemId, |
| 497 Service::UNMOUNT_REASON_SHUTDOWN)); |
| 484 | 498 |
| 485 EXPECT_EQ(1u, observer.unmounts.size()); | 499 EXPECT_EQ(1u, observer.unmounts.size()); |
| 486 EXPECT_TRUE(registry_->file_system_info()); | 500 EXPECT_TRUE(registry_->file_system_info()); |
| 487 EXPECT_TRUE(registry_->watchers()); | 501 EXPECT_TRUE(registry_->watchers()); |
| 488 } | 502 } |
| 489 | 503 |
| 490 service_->RemoveObserver(&observer); | 504 service_->RemoveObserver(&observer); |
| 491 } | 505 } |
| 492 | 506 |
| 493 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnUnmountByUser) { | 507 TEST_F(FileSystemProviderServiceTest, RememberFileSystem_OnUnmountByUser) { |
| 494 LoggingObserver observer; | 508 LoggingObserver observer; |
| 495 service_->AddObserver(&observer); | 509 service_->AddObserver(&observer); |
| 496 | 510 |
| 497 { | 511 { |
| 498 EXPECT_FALSE(registry_->file_system_info()); | 512 EXPECT_FALSE(registry_->file_system_info()); |
| 499 EXPECT_FALSE(registry_->watchers()); | 513 EXPECT_FALSE(registry_->watchers()); |
| 500 EXPECT_TRUE(service_->MountFileSystem( | 514 EXPECT_EQ(base::File::FILE_OK, |
| 501 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); | 515 service_->MountFileSystem( |
| 516 kExtensionId, MountOptions(kFileSystemId, kDisplayName))); |
| 502 | 517 |
| 503 EXPECT_EQ(1u, observer.mounts.size()); | 518 EXPECT_EQ(1u, observer.mounts.size()); |
| 504 EXPECT_TRUE(registry_->file_system_info()); | 519 EXPECT_TRUE(registry_->file_system_info()); |
| 505 EXPECT_TRUE(registry_->watchers()); | 520 EXPECT_TRUE(registry_->watchers()); |
| 506 } | 521 } |
| 507 | 522 |
| 508 { | 523 { |
| 509 EXPECT_TRUE(service_->UnmountFileSystem( | 524 EXPECT_EQ(base::File::FILE_OK, |
| 510 kExtensionId, kFileSystemId, Service::UNMOUNT_REASON_USER)); | 525 service_->UnmountFileSystem(kExtensionId, kFileSystemId, |
| 526 Service::UNMOUNT_REASON_USER)); |
| 511 | 527 |
| 512 EXPECT_EQ(1u, observer.unmounts.size()); | 528 EXPECT_EQ(1u, observer.unmounts.size()); |
| 513 EXPECT_FALSE(registry_->file_system_info()); | 529 EXPECT_FALSE(registry_->file_system_info()); |
| 514 EXPECT_FALSE(registry_->watchers()); | 530 EXPECT_FALSE(registry_->watchers()); |
| 515 } | 531 } |
| 516 | 532 |
| 517 service_->RemoveObserver(&observer); | 533 service_->RemoveObserver(&observer); |
| 518 } | 534 } |
| 519 | 535 |
| 520 } // namespace file_system_provider | 536 } // namespace file_system_provider |
| 521 } // namespace chromeos | 537 } // namespace chromeos |
| OLD | NEW |