| 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 #include "chrome/browser/chromeos/file_manager/volume_manager.h" | 5 #include "chrome/browser/chromeos/file_manager/volume_manager.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 430 const chromeos::disks::DiskMountManager::Disk kDisk( | 430 const chromeos::disks::DiskMountManager::Disk kDisk( |
| 431 "device1", "", "", "", "", "", "", "", "", "", "", "", | 431 "device1", "", "", "", "", "", "", "", "", "", "", "", |
| 432 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, | 432 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, |
| 433 false); | 433 false); |
| 434 volume_manager()->OnDiskEvent( | 434 volume_manager()->OnDiskEvent( |
| 435 chromeos::disks::DiskMountManager::DISK_CHANGED, &kDisk); | 435 chromeos::disks::DiskMountManager::DISK_CHANGED, &kDisk); |
| 436 | 436 |
| 437 EXPECT_EQ(1U, observer.events().size()); | 437 EXPECT_EQ(1U, observer.events().size()); |
| 438 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size()); | 438 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size()); |
| 439 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size()); | 439 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size()); |
| 440 // Read-write mode by default. |
| 441 EXPECT_EQ(chromeos::MOUNT_ACCESS_MODE_READ_WRITE, |
| 442 disk_mount_manager_->mount_requests()[0].access_mode); |
| 440 | 443 |
| 441 volume_manager()->RemoveObserver(&observer); | 444 volume_manager()->RemoveObserver(&observer); |
| 442 } | 445 } |
| 446 |
| 447 TEST_F(VolumeManagerTest, OnDiskEvent_ChangedInReadonly) { |
| 448 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageReadOnly, true); |
| 449 |
| 450 // Changed event should cause mounting (if possible). |
| 451 LoggingObserver observer; |
| 452 volume_manager()->AddObserver(&observer); |
| 453 |
| 454 const chromeos::disks::DiskMountManager::Disk kDisk( |
| 455 "device1", "", "", "", "", "", "", "", "", "", "", "", |
| 456 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, true, false, false, |
| 457 false); |
| 458 volume_manager()->OnDiskEvent(chromeos::disks::DiskMountManager::DISK_CHANGED, |
| 459 &kDisk); |
| 460 |
| 461 EXPECT_EQ(1U, observer.events().size()); |
| 462 EXPECT_EQ(1U, disk_mount_manager_->mount_requests().size()); |
| 463 EXPECT_EQ(0U, disk_mount_manager_->unmount_requests().size()); |
| 464 // Shoule mount a disk in read-only mode. |
| 465 EXPECT_EQ(chromeos::MOUNT_ACCESS_MODE_READ_ONLY, |
| 466 disk_mount_manager_->mount_requests()[0].access_mode); |
| 467 |
| 468 volume_manager()->RemoveObserver(&observer); |
| 469 } |
| 443 | 470 |
| 444 TEST_F(VolumeManagerTest, OnDeviceEvent_Added) { | 471 TEST_F(VolumeManagerTest, OnDeviceEvent_Added) { |
| 445 LoggingObserver observer; | 472 LoggingObserver observer; |
| 446 volume_manager()->AddObserver(&observer); | 473 volume_manager()->AddObserver(&observer); |
| 447 | 474 |
| 448 volume_manager()->OnDeviceEvent( | 475 volume_manager()->OnDeviceEvent( |
| 449 chromeos::disks::DiskMountManager::DEVICE_ADDED, "device1"); | 476 chromeos::disks::DiskMountManager::DEVICE_ADDED, "device1"); |
| 450 | 477 |
| 451 ASSERT_EQ(1U, observer.events().size()); | 478 ASSERT_EQ(1U, observer.events().size()); |
| 452 const LoggingObserver::Event& event = observer.events()[0]; | 479 const LoggingObserver::Event& event = observer.events()[0]; |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 517 volume_manager()->RemoveObserver(&observer); | 544 volume_manager()->RemoveObserver(&observer); |
| 518 } | 545 } |
| 519 | 546 |
| 520 TEST_F(VolumeManagerTest, OnMountEvent_Remounting) { | 547 TEST_F(VolumeManagerTest, OnMountEvent_Remounting) { |
| 521 std::unique_ptr<chromeos::disks::DiskMountManager::Disk> disk( | 548 std::unique_ptr<chromeos::disks::DiskMountManager::Disk> disk( |
| 522 new chromeos::disks::DiskMountManager::Disk( | 549 new chromeos::disks::DiskMountManager::Disk( |
| 523 "device1", "", "", "", "", "", "", "", "", "", "uuid1", "", | 550 "device1", "", "", "", "", "", "", "", "", "", "uuid1", "", |
| 524 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, | 551 chromeos::DEVICE_TYPE_UNKNOWN, 0, false, false, false, false, false, |
| 525 false)); | 552 false)); |
| 526 disk_mount_manager_->AddDiskForTest(disk.release()); | 553 disk_mount_manager_->AddDiskForTest(disk.release()); |
| 527 disk_mount_manager_->MountPath( | 554 disk_mount_manager_->MountPath("device1", "", "", chromeos::MOUNT_TYPE_DEVICE, |
| 528 "device1", "", "", chromeos::MOUNT_TYPE_DEVICE); | 555 chromeos::MOUNT_ACCESS_MODE_READ_WRITE); |
| 529 | 556 |
| 530 const chromeos::disks::DiskMountManager::MountPointInfo kMountPoint( | 557 const chromeos::disks::DiskMountManager::MountPointInfo kMountPoint( |
| 531 "device1", | 558 "device1", |
| 532 "mount1", | 559 "mount1", |
| 533 chromeos::MOUNT_TYPE_DEVICE, | 560 chromeos::MOUNT_TYPE_DEVICE, |
| 534 chromeos::disks::MOUNT_CONDITION_NONE); | 561 chromeos::disks::MOUNT_CONDITION_NONE); |
| 535 | 562 |
| 536 volume_manager()->OnMountEvent( | 563 volume_manager()->OnMountEvent( |
| 537 chromeos::disks::DiskMountManager::MOUNTING, | 564 chromeos::disks::DiskMountManager::MOUNTING, |
| 538 chromeos::MOUNT_ERROR_NONE, | 565 chromeos::MOUNT_ERROR_NONE, |
| (...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 667 EXPECT_EQ("device1", event.device_path); | 694 EXPECT_EQ("device1", event.device_path); |
| 668 EXPECT_FALSE(event.success); | 695 EXPECT_FALSE(event.success); |
| 669 | 696 |
| 670 EXPECT_EQ(0U, disk_mount_manager_->mount_requests().size()); | 697 EXPECT_EQ(0U, disk_mount_manager_->mount_requests().size()); |
| 671 | 698 |
| 672 volume_manager()->RemoveObserver(&observer); | 699 volume_manager()->RemoveObserver(&observer); |
| 673 } | 700 } |
| 674 | 701 |
| 675 TEST_F(VolumeManagerTest, OnExternalStorageDisabledChanged) { | 702 TEST_F(VolumeManagerTest, OnExternalStorageDisabledChanged) { |
| 676 // Here create two mount points. | 703 // Here create two mount points. |
| 677 disk_mount_manager_->MountPath( | 704 disk_mount_manager_->MountPath("mount1", "", "", chromeos::MOUNT_TYPE_DEVICE, |
| 678 "mount1", "", "", chromeos::MOUNT_TYPE_DEVICE); | 705 chromeos::MOUNT_ACCESS_MODE_READ_WRITE); |
| 679 disk_mount_manager_->MountPath( | 706 disk_mount_manager_->MountPath("mount2", "", "", chromeos::MOUNT_TYPE_DEVICE, |
| 680 "mount2", "", "", chromeos::MOUNT_TYPE_DEVICE); | 707 chromeos::MOUNT_ACCESS_MODE_READ_ONLY); |
| 681 | 708 |
| 682 // Initially, there are two mount points. | 709 // Initially, there are two mount points. |
| 683 ASSERT_EQ(2U, disk_mount_manager_->mount_points().size()); | 710 ASSERT_EQ(2U, disk_mount_manager_->mount_points().size()); |
| 684 ASSERT_EQ(0U, disk_mount_manager_->unmount_requests().size()); | 711 ASSERT_EQ(0U, disk_mount_manager_->unmount_requests().size()); |
| 685 | 712 |
| 686 // Emulate to set kExternalStorageDisabled to false. | 713 // Emulate to set kExternalStorageDisabled to false. |
| 687 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false); | 714 profile()->GetPrefs()->SetBoolean(prefs::kExternalStorageDisabled, false); |
| 688 volume_manager()->OnExternalStorageDisabledChanged(); | 715 volume_manager()->OnExternalStorageDisabledChanged(); |
| 689 | 716 |
| 690 // Expect no effects. | 717 // Expect no effects. |
| (...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 873 // Detach | 900 // Detach |
| 874 volume_manager()->OnRemovableStorageDetached(info); | 901 volume_manager()->OnRemovableStorageDetached(info); |
| 875 ASSERT_EQ(2u, observer.events().size()); | 902 ASSERT_EQ(2u, observer.events().size()); |
| 876 EXPECT_EQ(LoggingObserver::Event::VOLUME_UNMOUNTED, | 903 EXPECT_EQ(LoggingObserver::Event::VOLUME_UNMOUNTED, |
| 877 observer.events()[1].type); | 904 observer.events()[1].type); |
| 878 | 905 |
| 879 EXPECT_FALSE(volume.get()); | 906 EXPECT_FALSE(volume.get()); |
| 880 } | 907 } |
| 881 | 908 |
| 882 } // namespace file_manager | 909 } // namespace file_manager |
| OLD | NEW |