| Index: chrome/browser/chromeos/gdata/gdata_files_unittest.cc
|
| diff --git a/chrome/browser/chromeos/gdata/gdata_files_unittest.cc b/chrome/browser/chromeos/gdata/gdata_files_unittest.cc
|
| index 27935c393c1b5f4d4c8145641f8a56cb49b355a0..7428a21ebf1012b6c3e2910381f2ba29eadbb4e7 100644
|
| --- a/chrome/browser/chromeos/gdata/gdata_files_unittest.cc
|
| +++ b/chrome/browser/chromeos/gdata/gdata_files_unittest.cc
|
| @@ -4,6 +4,7 @@
|
|
|
| #include "chrome/browser/chromeos/gdata/gdata_files.h"
|
|
|
| +#include <algorithm>
|
| #include <string>
|
| #include <utility>
|
| #include <vector>
|
| @@ -198,7 +199,7 @@ TEST(GDataEntryTest, FromProto_DetectBadUploadUrl) {
|
| EXPECT_EQ(kResumableEditMediaUrl, entry.upload_url().spec());
|
| }
|
|
|
| -TEST(GDataRootDirectoryTest, VersionCheck) {
|
| +TEST(GDataDirectoryServiceTest, VersionCheck) {
|
| // Set up the root directory.
|
| GDataRootDirectoryProto proto;
|
| GDataEntryProto* mutable_entry =
|
| @@ -234,7 +235,7 @@ TEST(GDataRootDirectoryTest, VersionCheck) {
|
| ASSERT_FALSE(directory_service.ParseFromString(serialized_proto));
|
| }
|
|
|
| -TEST(GDataRootDirectoryTest, ParseFromString_DetectBadTitle) {
|
| +TEST(GDataDirectoryServiceTest, ParseFromString_DetectBadTitle) {
|
| GDataRootDirectoryProto proto;
|
| proto.set_version(kProtoVersion);
|
|
|
| @@ -272,7 +273,7 @@ TEST(GDataRootDirectoryTest, ParseFromString_DetectBadTitle) {
|
| ASSERT_EQ(kGDataRootDirectory, root->title());
|
| }
|
|
|
| -TEST(GDataRootDirectoryTest, ParseFromString_DetectBadResourceID) {
|
| +TEST(GDataDirectoryServiceTest, ParseFromString_DetectBadResourceID) {
|
| GDataRootDirectoryProto proto;
|
| proto.set_version(kProtoVersion);
|
|
|
| @@ -304,7 +305,7 @@ TEST(GDataRootDirectoryTest, ParseFromString_DetectBadResourceID) {
|
| // We have a similar test in FromProto_DetectBadUploadUrl, but the test here
|
| // is to ensure that an error in GDataFile::FromProto() is properly
|
| // propagated to GDataRootDirectory::ParseFromString().
|
| -TEST(GDataRootDirectoryTest, ParseFromString_DetectNoUploadUrl) {
|
| +TEST(GDataDirectoryServiceTest, ParseFromString_DetectNoUploadUrl) {
|
| // Set up the root directory properly.
|
| GDataRootDirectoryProto root_directory_proto;
|
| root_directory_proto.set_version(kProtoVersion);
|
| @@ -371,7 +372,7 @@ TEST(GDataRootDirectoryTest, ParseFromString_DetectNoUploadUrl) {
|
| ASSERT_EQ(FROM_CACHE, directory_service.origin());
|
| }
|
|
|
| -TEST(GDataRootDirectoryTest, RefreshFile) {
|
| +TEST(GDataDirectoryServiceTest, RefreshFile) {
|
| MessageLoopForUI message_loop;
|
| GDataDirectoryService directory_service;
|
| GDataDirectory* root(directory_service.root());
|
| @@ -427,7 +428,7 @@ TEST(GDataRootDirectoryTest, RefreshFile) {
|
| EXPECT_FALSE(directory_service.GetEntryByResourceId("file:does_not_exist"));
|
| }
|
|
|
| -TEST(GDataRootDirectoryTest, GetEntryByResourceId_RootDirectory) {
|
| +TEST(GDataDirectoryServiceTest, GetEntryByResourceId_RootDirectory) {
|
| GDataDirectoryService directory_service;
|
| // Look up the root directory by its resource ID.
|
| GDataEntry* entry = directory_service.GetEntryByResourceId(
|
| @@ -436,7 +437,90 @@ TEST(GDataRootDirectoryTest, GetEntryByResourceId_RootDirectory) {
|
| EXPECT_EQ(kGDataRootDirectoryResourceId, entry->resource_id());
|
| }
|
|
|
| -TEST(GDataRootDirectoryTest, DBTest) {
|
| +TEST(GDataDirectoryServiceTest, GetEntryInfoByPath) {
|
| + MessageLoopForUI message_loop;
|
| + content::TestBrowserThread ui_thread(content::BrowserThread::UI,
|
| + &message_loop);
|
| + GDataDirectoryService directory_service;
|
| + InitDirectoryService(&directory_service);
|
| +
|
| + // Confirm that an existing file is found.
|
| + GDataFileError error = GDATA_FILE_ERROR_FAILED;
|
| + scoped_ptr<GDataEntryProto> entry_proto;
|
| + directory_service.GetEntryInfoByPath(
|
| + FilePath::FromUTF8Unsafe("drive/dir1/file4"),
|
| + base::Bind(&test_util::CopyResultsFromGetEntryInfoCallback,
|
| + &error, &entry_proto));
|
| + test_util::RunBlockingPoolTask();
|
| + EXPECT_EQ(GDATA_FILE_OK, error);
|
| + ASSERT_TRUE(entry_proto.get());
|
| + EXPECT_EQ("file4", entry_proto->base_name());
|
| +
|
| + // Confirm that a non existing file is not found.
|
| + error = GDATA_FILE_ERROR_FAILED;
|
| + entry_proto.reset();
|
| + directory_service.GetEntryInfoByPath(
|
| + FilePath::FromUTF8Unsafe("drive/dir1/non_existing"),
|
| + base::Bind(&test_util::CopyResultsFromGetEntryInfoCallback,
|
| + &error, &entry_proto));
|
| + test_util::RunBlockingPoolTask();
|
| + EXPECT_EQ(GDATA_FILE_ERROR_NOT_FOUND, error);
|
| + EXPECT_FALSE(entry_proto.get());
|
| +}
|
| +
|
| +TEST(GDataDirectoryServiceTest, ReadDirectoryByPath) {
|
| + MessageLoopForUI message_loop;
|
| + content::TestBrowserThread ui_thread(content::BrowserThread::UI,
|
| + &message_loop);
|
| + GDataDirectoryService directory_service;
|
| + InitDirectoryService(&directory_service);
|
| +
|
| + // Confirm that an existing directory is found.
|
| + GDataFileError error = GDATA_FILE_ERROR_FAILED;
|
| + scoped_ptr<GDataEntryProtoVector> entries;
|
| + directory_service.ReadDirectoryByPath(
|
| + FilePath::FromUTF8Unsafe("drive/dir1"),
|
| + base::Bind(&test_util::CopyResultsFromReadDirectoryCallback,
|
| + &error, &entries));
|
| + test_util::RunBlockingPoolTask();
|
| + EXPECT_EQ(GDATA_FILE_OK, error);
|
| + ASSERT_TRUE(entries.get());
|
| + ASSERT_EQ(3U, entries->size());
|
| +
|
| + // The order is not guaranteed so we should sort the base names.
|
| + std::vector<std::string> base_names;
|
| + for (size_t i = 0; i < 3; ++i)
|
| + base_names.push_back(entries->at(i).base_name());
|
| + std::sort(base_names.begin(), base_names.end());
|
| +
|
| + EXPECT_EQ("dir3", base_names[0]);
|
| + EXPECT_EQ("file4", base_names[1]);
|
| + EXPECT_EQ("file5", base_names[2]);
|
| +
|
| + // Confirm that a non existing directory is not found.
|
| + error = GDATA_FILE_ERROR_FAILED;
|
| + entries.reset();
|
| + directory_service.ReadDirectoryByPath(
|
| + FilePath::FromUTF8Unsafe("drive/non_existing"),
|
| + base::Bind(&test_util::CopyResultsFromReadDirectoryCallback,
|
| + &error, &entries));
|
| + test_util::RunBlockingPoolTask();
|
| + EXPECT_EQ(GDATA_FILE_ERROR_NOT_FOUND, error);
|
| + EXPECT_FALSE(entries.get());
|
| +
|
| + // Confirm that reading a file results in GDATA_FILE_ERROR_NOT_A_DIRECTORY.
|
| + error = GDATA_FILE_ERROR_FAILED;
|
| + entries.reset();
|
| + directory_service.ReadDirectoryByPath(
|
| + FilePath::FromUTF8Unsafe("drive/dir1/file4"),
|
| + base::Bind(&test_util::CopyResultsFromReadDirectoryCallback,
|
| + &error, &entries));
|
| + test_util::RunBlockingPoolTask();
|
| + EXPECT_EQ(GDATA_FILE_ERROR_NOT_A_DIRECTORY, error);
|
| + EXPECT_FALSE(entries.get());
|
| +}
|
| +
|
| +TEST(GDataDirectoryServiceTest, DBTest) {
|
| MessageLoopForUI message_loop;
|
| content::TestBrowserThread ui_thread(content::BrowserThread::UI,
|
| &message_loop);
|
|
|