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 <string> | 7 #include <string> |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
674 volume_manager_->Initialize(); // Adds "Downloads" | 674 volume_manager_->Initialize(); // Adds "Downloads" |
675 VolumeInfo volume_info; | 675 VolumeInfo volume_info; |
676 ASSERT_FALSE(volume_manager_->FindVolumeInfoById( | 676 ASSERT_FALSE(volume_manager_->FindVolumeInfoById( |
677 "nonexistent", &volume_info)); | 677 "nonexistent", &volume_info)); |
678 ASSERT_TRUE(volume_manager_->FindVolumeInfoById( | 678 ASSERT_TRUE(volume_manager_->FindVolumeInfoById( |
679 "downloads:Downloads", &volume_info)); | 679 "downloads:Downloads", &volume_info)); |
680 EXPECT_EQ("downloads:Downloads", volume_info.volume_id); | 680 EXPECT_EQ("downloads:Downloads", volume_info.volume_id); |
681 EXPECT_EQ(VOLUME_TYPE_DOWNLOADS_DIRECTORY, volume_info.type); | 681 EXPECT_EQ(VOLUME_TYPE_DOWNLOADS_DIRECTORY, volume_info.type); |
682 } | 682 } |
683 | 683 |
| 684 TEST_F(VolumeManagerTest, ArchiveSourceFiltering) { |
| 685 LoggingObserver observer; |
| 686 volume_manager_->AddObserver(&observer); |
| 687 |
| 688 // Mount a USB stick. |
| 689 volume_manager_->OnMountEvent( |
| 690 chromeos::disks::DiskMountManager::MOUNTING, |
| 691 chromeos::MOUNT_ERROR_NONE, |
| 692 chromeos::disks::DiskMountManager::MountPointInfo( |
| 693 "/removable/usb", |
| 694 "/removable/usb", |
| 695 chromeos::MOUNT_TYPE_DEVICE, |
| 696 chromeos::disks::MOUNT_CONDITION_NONE)); |
| 697 |
| 698 // Mount a zip archive in the stick. |
| 699 volume_manager_->OnMountEvent( |
| 700 chromeos::disks::DiskMountManager::MOUNTING, |
| 701 chromeos::MOUNT_ERROR_NONE, |
| 702 chromeos::disks::DiskMountManager::MountPointInfo( |
| 703 "/removable/usb/1.zip", |
| 704 "/archive/1", |
| 705 chromeos::MOUNT_TYPE_ARCHIVE, |
| 706 chromeos::disks::MOUNT_CONDITION_NONE)); |
| 707 VolumeInfo volume_info; |
| 708 ASSERT_TRUE(volume_manager_->FindVolumeInfoById("archive:1", &volume_info)); |
| 709 EXPECT_EQ("/archive/1", volume_info.mount_path.AsUTF8Unsafe()); |
| 710 EXPECT_EQ(2u, observer.events().size()); |
| 711 |
| 712 // Mount a zip archive in the previous zip archive. |
| 713 volume_manager_->OnMountEvent( |
| 714 chromeos::disks::DiskMountManager::MOUNTING, |
| 715 chromeos::MOUNT_ERROR_NONE, |
| 716 chromeos::disks::DiskMountManager::MountPointInfo( |
| 717 "/archive/1/2.zip", |
| 718 "/archive/2", |
| 719 chromeos::MOUNT_TYPE_ARCHIVE, |
| 720 chromeos::disks::MOUNT_CONDITION_NONE)); |
| 721 ASSERT_TRUE(volume_manager_->FindVolumeInfoById("archive:2", &volume_info)); |
| 722 EXPECT_EQ("/archive/2", volume_info.mount_path.AsUTF8Unsafe()); |
| 723 EXPECT_EQ(3u, observer.events().size()); |
| 724 |
| 725 // A zip file is mounted from other profile. It must be ignored in the current |
| 726 // VolumeManager. |
| 727 volume_manager_->OnMountEvent( |
| 728 chromeos::disks::DiskMountManager::MOUNTING, |
| 729 chromeos::MOUNT_ERROR_NONE, |
| 730 chromeos::disks::DiskMountManager::MountPointInfo( |
| 731 "/other/profile/drive/folder/3.zip", |
| 732 "/archive/3", |
| 733 chromeos::MOUNT_TYPE_ARCHIVE, |
| 734 chromeos::disks::MOUNT_CONDITION_NONE)); |
| 735 EXPECT_FALSE(volume_manager_->FindVolumeInfoById("archive:3", &volume_info)); |
| 736 EXPECT_EQ(3u, observer.events().size()); |
| 737 } |
| 738 |
684 } // namespace file_manager | 739 } // namespace file_manager |
OLD | NEW |