Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3014)

Unified Diff: chrome/browser/chromeos/gdata/gdata_directory_service_unittest.cc

Issue 10854199: ResourceId and unit test cleanup. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: minor Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/gdata/gdata_directory_service_unittest.cc
===================================================================
--- chrome/browser/chromeos/gdata/gdata_directory_service_unittest.cc (revision 151875)
+++ chrome/browser/chromeos/gdata/gdata_directory_service_unittest.cc (working copy)
@@ -190,6 +190,15 @@
EXPECT_EQ(expected_error, actual_error);
}
+// Callback for GDataDirectoryService::ReadDirectoryByPath.
+void ReadDirectoryByPathCallback(
+ scoped_ptr<GDataEntryProtoVector>* result,
+ GDataFileError error,
+ scoped_ptr<GDataEntryProtoVector> entries) {
+ EXPECT_EQ(GDATA_FILE_OK, error);
+ *result = entries.Pass();
+}
+
} // namespace
TEST(GDataDirectoryServiceTest, VersionCheck) {
@@ -299,6 +308,12 @@
// is to ensure that an error in GDataFile::FromProto() is properly
// propagated to GDataRootDirectory::ParseFromString().
TEST(GDataDirectoryServiceTest, ParseFromString_DetectNoUploadUrl) {
+ // Need to run on UI thread to call
+ // GDataDirectoryService::ReadDirectoryByPath.
+ MessageLoopForUI message_loop;
+ content::TestBrowserThread ui_thread(content::BrowserThread::UI,
+ &message_loop);
+
// Set up the root directory properly.
GDataRootDirectoryProto root_directory_proto;
root_directory_proto.set_version(kProtoVersion);
@@ -317,6 +332,7 @@
sub_directory_proto->mutable_gdata_entry()->mutable_file_info()->
set_is_directory(true);
sub_directory_proto->mutable_gdata_entry()->set_title("empty");
+ sub_directory_proto->mutable_gdata_entry()->set_resource_id("res:empty");
sub_directory_proto->mutable_gdata_entry()->set_upload_url(
kResumableCreateMediaUrl);
@@ -326,6 +342,7 @@
sub_directory_proto->mutable_gdata_entry()->mutable_file_info()->
set_is_directory(true);
sub_directory_proto->mutable_gdata_entry()->set_title("dir");
+ sub_directory_proto->mutable_gdata_entry()->set_resource_id("res:dir");
sub_directory_proto->mutable_gdata_entry()->set_upload_url(
kResumableCreateMediaUrl);
@@ -333,10 +350,10 @@
GDataEntryProto* entry_proto =
sub_directory_proto->add_child_files();
entry_proto->set_title("test.txt");
+ entry_proto->set_resource_id("res:file");
entry_proto->mutable_file_specific_info()->set_file_md5("md5");
GDataDirectoryService directory_service;
- GDataDirectory* root(directory_service.root());
// The origin is set to UNINITIALIZED by default.
ASSERT_EQ(UNINITIALIZED, directory_service.origin());
std::string serialized_proto;
@@ -344,9 +361,14 @@
// This should fail as the upload URL is not set for |entry_proto|.
ASSERT_TRUE(root_directory_proto.SerializeToString(&serialized_proto));
ASSERT_FALSE(directory_service.ParseFromString(serialized_proto));
+
// Nothing should be added to the root directory if the parse failed.
- ASSERT_TRUE(root->child_files().empty());
- ASSERT_TRUE(root->child_directories().empty());
+ scoped_ptr<GDataEntryProtoVector> result;
+ directory_service.ReadDirectoryByPath(FilePath(kGDataRootDirectory),
+ base::Bind(&ReadDirectoryByPathCallback, &result));
+ test_util::RunBlockingPoolTask();
+ EXPECT_TRUE(result->empty());
+
// The origin should remain UNINITIALIZED because the loading failed.
ASSERT_EQ(UNINITIALIZED, directory_service.origin());
@@ -357,10 +379,11 @@
// This should succeed as the upload URL is set for |entry_proto|.
ASSERT_TRUE(root_directory_proto.SerializeToString(&serialized_proto));
ASSERT_TRUE(directory_service.ParseFromString(serialized_proto));
- // No file should be added to the root directory.
- ASSERT_TRUE(root->child_files().empty());
+ directory_service.ReadDirectoryByPath(FilePath(kGDataRootDirectory),
+ base::Bind(&ReadDirectoryByPathCallback, &result));
+ test_util::RunBlockingPoolTask();
// Two directories ("empty", "dir") should be added to the root directory.
- ASSERT_EQ(2U, root->child_directories().size());
+ EXPECT_EQ(2U, result->size());
// The origin should change to FROM_CACHE because we loaded from the cache.
ASSERT_EQ(FROM_CACHE, directory_service.origin());
}

Powered by Google App Engine
This is Rietveld 408576698