| Index: chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
|
| diff --git a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
|
| index 1e82825c323c053d62b8113e68a51e38423d9364..f1cf4826d273013e3ddfd21c6717cb96fbafde23 100644
|
| --- a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
|
| +++ b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
|
| @@ -209,7 +209,8 @@ class TestVolume {
|
| virtual ~TestVolume() {}
|
|
|
| bool CreateRootDirectory(const Profile* profile) {
|
| - return root_.Set(profile->GetPath().Append(name_));
|
| + const base::FilePath path = profile->GetPath().Append(name_);
|
| + return root_.path() == path || root_.Set(path);
|
| }
|
|
|
| const std::string& name() { return name_; }
|
| @@ -291,10 +292,30 @@ class DownloadsTestVolume : public LocalTestVolume {
|
| }
|
| };
|
|
|
| -class FakeUsbTestVolume : public LocalTestVolume {
|
| +// Test volume for mimicing a specified type of volumes by a local folder.
|
| +class FakeTestVolume : public LocalTestVolume {
|
| public:
|
| - FakeUsbTestVolume() : LocalTestVolume("fake-usb") {}
|
| - virtual ~FakeUsbTestVolume() {}
|
| + FakeTestVolume(const std::string& name,
|
| + VolumeType volume_type,
|
| + chromeos::DeviceType device_type)
|
| + : LocalTestVolume(name),
|
| + volume_type_(volume_type),
|
| + device_type_(device_type) {}
|
| + virtual ~FakeTestVolume() {}
|
| +
|
| + // Simple test entries used for testing, e.g., read-only volumes.
|
| + bool PrepareTestEntries(Profile* profile) {
|
| + if (!CreateRootDirectory(profile))
|
| + return false;
|
| + // Must be in sync with BASIC_FAKE_ENTRY_SET in the JS test code.
|
| + CreateEntry(
|
| + TestEntryInfo(FILE, "text.txt", "hello.txt", "text/plain", NONE,
|
| + base::Time::Now()));
|
| + CreateEntry(
|
| + TestEntryInfo(DIRECTORY, std::string(), "A", std::string(), NONE,
|
| + base::Time::Now()));
|
| + return true;
|
| + }
|
|
|
| virtual bool Mount(Profile* profile) OVERRIDE {
|
| if (!CreateRootDirectory(profile))
|
| @@ -312,12 +333,14 @@ class FakeUsbTestVolume : public LocalTestVolume {
|
| if (!result)
|
| return false;
|
|
|
| - VolumeManager::Get(profile)
|
| - ->AddVolumeInfoForTesting(root_path(),
|
| - VOLUME_TYPE_REMOVABLE_DISK_PARTITION,
|
| - chromeos::DEVICE_TYPE_USB);
|
| + VolumeManager::Get(profile)->AddVolumeInfoForTesting(
|
| + root_path(), volume_type_, device_type_);
|
| return true;
|
| }
|
| +
|
| + private:
|
| + const VolumeType volume_type_;
|
| + const chromeos::DeviceType device_type_;
|
| };
|
|
|
| // The drive volume class for test.
|
| @@ -539,7 +562,8 @@ class FileManagerBrowserTestBase : public ExtensionApiTest {
|
| scoped_ptr<LocalTestVolume> local_volume_;
|
| linked_ptr<DriveTestVolume> drive_volume_;
|
| std::map<Profile*, linked_ptr<DriveTestVolume> > drive_volumes_;
|
| - scoped_ptr<LocalTestVolume> usb_volume_;
|
| + scoped_ptr<FakeTestVolume> usb_volume_;
|
| + scoped_ptr<FakeTestVolume> mtp_volume_;
|
|
|
| private:
|
| drive::DriveIntegrationService* CreateDriveIntegrationService(
|
| @@ -691,9 +715,19 @@ std::string FileManagerBrowserTestBase::OnMessage(const std::string& name,
|
| }
|
| return "onEntryAdded";
|
| } else if (name == "mountFakeUsb") {
|
| - usb_volume_.reset(new FakeUsbTestVolume());
|
| + usb_volume_.reset(new FakeTestVolume("fake-usb",
|
| + VOLUME_TYPE_REMOVABLE_DISK_PARTITION,
|
| + chromeos::DEVICE_TYPE_USB));
|
| usb_volume_->Mount(profile());
|
| return "true";
|
| + } else if (name == "mountFakeMtp") {
|
| + mtp_volume_.reset(new FakeTestVolume("fake-mtp",
|
| + VOLUME_TYPE_MTP,
|
| + chromeos::DEVICE_TYPE_UNKNOWN));
|
| + if (!mtp_volume_->PrepareTestEntries(profile()))
|
| + return "false";
|
| + mtp_volume_->Mount(profile());
|
| + return "true";
|
| }
|
| return "unknownMessage";
|
| }
|
| @@ -729,7 +763,8 @@ INSTANTIATE_TEST_CASE_P(
|
| FileManagerBrowserTest,
|
| ::testing::Values(TestParameter(NOT_IN_GUEST_MODE, "fileDisplayDownloads"),
|
| TestParameter(IN_GUEST_MODE, "fileDisplayDownloads"),
|
| - TestParameter(NOT_IN_GUEST_MODE, "fileDisplayDrive")));
|
| + TestParameter(NOT_IN_GUEST_MODE, "fileDisplayDrive"),
|
| + TestParameter(NOT_IN_GUEST_MODE, "fileDisplayMtp")));
|
|
|
| INSTANTIATE_TEST_CASE_P(
|
| OpenZipFiles,
|
|
|