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

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

Issue 9742002: Wired GDataFileSystem::GetFile() method with internal cache. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: unit tests added Created 8 years, 9 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_file_system_unittest.cc
diff --git a/chrome/browser/chromeos/gdata/gdata_file_system_unittest.cc b/chrome/browser/chromeos/gdata/gdata_file_system_unittest.cc
index b35742925979bb1c2ba4cb527c3315b833986b13..d7fa3767cf0460c9649f7e59029d96b4cb4cf441 100644
--- a/chrome/browser/chromeos/gdata/gdata_file_system_unittest.cc
+++ b/chrome/browser/chromeos/gdata/gdata_file_system_unittest.cc
@@ -159,6 +159,13 @@ class GDataFileSystemTest : public testing::Test {
base::PLATFORM_FILE_OK;
}
+ FilePath GetCachePathForFile(GDataFile* file) {
+ return file_system_->GetCacheFilePath(file->resource_id(),
+ file->file_md5(),
+ GDataFileSystem::CACHE_TYPE_TMP,
+ false);
+ }
+
GDataFileBase* FindFile(const FilePath& file_path) {
ReadOnlyFindFileDelegate search_delegate;
file_system_->FindFileByPathSync(file_path, &search_delegate);
@@ -1489,20 +1496,64 @@ TEST_F(GDataFileSystemTest, CreateDirectoryWithService) {
// EXPECT_EQ(base::PLATFORM_FILE_OK, callback_helper_->last_error_);
}
-TEST_F(GDataFileSystemTest, GetFile) {
+TEST_F(GDataFileSystemTest, GetFileFromDownloads) {
LoadRootFeedDocument("root_feed.json");
GetFileCallback callback =
base::Bind(&CallbackHelper::GetFileCallback,
callback_helper_.get());
+ FilePath file_in_root(FILE_PATH_LITERAL("gdata/File 1.txt"));
+ GDataFileBase* file_base = FindFile(file_in_root);
+ GDataFile* file = file_base->AsGDataFile();
+ FilePath downloaded_file = GetCachePathForFile(file);
+
EXPECT_CALL(*mock_doc_service_,
- DownloadFile(_, GURL("https://file_content_url/"), _));
+ DownloadFile(file_in_root,
+ downloaded_file,
+ GURL("https://file_content_url/"),
+ _))
+ .Times(1);
+
+ file_system_->GetFile(file_in_root, callback);
+ RunAllPendingForCache();
+
+ message_loop_.RunAllPending(); // Wait to get our result.
+ EXPECT_STREQ(downloaded_file.value().c_str(),
+ callback_helper_->download_path_.value().c_str());
+}
+
+TEST_F(GDataFileSystemTest, GetFileFromCache) {
+ LoadRootFeedDocument("root_feed.json");
+
+ GetFileCallback callback =
+ base::Bind(&CallbackHelper::GetFileCallback,
+ callback_helper_.get());
FilePath file_in_root(FILE_PATH_LITERAL("gdata/File 1.txt"));
+ GDataFileBase* file_base = FindFile(file_in_root);
+ GDataFile* file = file_base->AsGDataFile();
+ FilePath downloaded_file = GetCachePathForFile(file);
+
+ // Store something as cached version of this file.
+ TestStoreToCache(file->resource_id(),
+ file->file_md5(),
+ GetTestFilePath("root_feed.json"),
+ base::PLATFORM_FILE_OK);
+
+ // Make sure we don't call downloads at all.
+ EXPECT_CALL(*mock_doc_service_,
+ DownloadFile(file_in_root,
+ downloaded_file,
+ GURL("https://file_content_url/"),
+ _))
+ .Times(0);
+
file_system_->GetFile(file_in_root, callback);
+ RunAllPendingForCache();
+
message_loop_.RunAllPending(); // Wait to get our result.
kuan 2012/03/20 05:22:27 nit: don't need this because RunAllPendingForCache
zel 2012/03/20 05:27:20 Done.
- EXPECT_STREQ("file_content_url/",
+ EXPECT_STREQ(downloaded_file.value().c_str(),
callback_helper_->download_path_.value().c_str());
}
« no previous file with comments | « chrome/browser/chromeos/gdata/gdata_file_system_proxy.cc ('k') | chrome/browser/chromeos/gdata/gdata_mock.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698