Index: chrome/browser/chromeos/gdata/gdata_cache_metadata_unittest.cc |
diff --git a/chrome/browser/chromeos/gdata/gdata_cache_metadata_unittest.cc b/chrome/browser/chromeos/gdata/gdata_cache_metadata_unittest.cc |
index be6491beffb26797665eb9261e94e92487ee27e3..fc92a15e3c8db80f9daadace6b94a381a3963270 100644 |
--- a/chrome/browser/chromeos/gdata/gdata_cache_metadata_unittest.cc |
+++ b/chrome/browser/chromeos/gdata/gdata_cache_metadata_unittest.cc |
@@ -111,8 +111,7 @@ class GDataCacheMetadataMapTest : public testing::Test { |
protected: |
// Helper function to insert an item with key |resource_id| into |cache_map|. |
- // |md5|, |sub_dir_type|, |cache_state| are used to create the value |
- // CacheEntry. |
+ // |md5| and |cache_state| are used to create the value CacheEntry. |
void InsertIntoMap(GDataCacheMetadataMap::CacheMap* cache_map, |
const std::string& resource_id, |
const std::string& md5, |
@@ -140,35 +139,31 @@ TEST_F(GDataCacheMetadataMapTest, CacheTest) { |
std::string test_file_md5("test_file_md5"); |
GDataCache::CacheSubDirectoryType test_sub_dir_type = |
GDataCache::CACHE_TYPE_PERSISTENT; |
- int test_cache_state = (CACHE_STATE_PRESENT | |
- CACHE_STATE_PERSISTENT); |
+ int test_cache_state = (CACHE_STATE_PRESENT | CACHE_STATE_PERSISTENT); |
metadata_->AddOrUpdateCacheEntry( |
test_resource_id, |
GDataCacheEntry(test_file_md5, test_cache_state)); |
// Test that the entry can be retrieved. |
- scoped_ptr<GDataCacheEntry> cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, test_file_md5); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ(test_file_md5, cache_entry->md5()); |
- EXPECT_EQ(test_sub_dir_type, GDataCache::GetSubDirectoryType(*cache_entry)); |
- EXPECT_EQ(test_cache_state, cache_entry->cache_state()); |
+ GDataCacheEntry cache_entry; |
+ ASSERT_TRUE(metadata_->GetCacheEntry( |
+ test_resource_id, test_file_md5, &cache_entry)); |
+ EXPECT_EQ(test_file_md5, cache_entry.md5()); |
+ EXPECT_EQ(test_sub_dir_type, GDataCache::GetSubDirectoryType(cache_entry)); |
+ EXPECT_EQ(test_cache_state, cache_entry.cache_state()); |
// Empty md5 should also work. |
- cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, std::string()).Pass(); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ(test_file_md5, cache_entry->md5()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry( |
+ test_resource_id, std::string(), &cache_entry)); |
+ EXPECT_EQ(test_file_md5, cache_entry.md5()); |
// resource_id doesn't exist. |
- cache_entry = metadata_->GetCacheEntry("not_found_resource_id", |
- std::string()).Pass(); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry( |
+ "not_found_resource_id", std::string(), &cache_entry)); |
// md5 doesn't match. |
- cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, "mismatch_md5").Pass(); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry( |
+ test_resource_id, "mismatch_md5", &cache_entry)); |
// Update all attributes. |
test_file_md5 = "test_file_md5_2"; |
@@ -179,18 +174,16 @@ TEST_F(GDataCacheMetadataMapTest, CacheTest) { |
GDataCacheEntry(test_file_md5, test_cache_state)); |
// Make sure the values took. |
- cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, test_file_md5).Pass(); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ(test_file_md5, cache_entry->md5()); |
- EXPECT_EQ(test_sub_dir_type, GDataCache::GetSubDirectoryType(*cache_entry)); |
- EXPECT_EQ(test_cache_state, cache_entry->cache_state()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry( |
+ test_resource_id, test_file_md5, &cache_entry)); |
+ EXPECT_EQ(test_file_md5, cache_entry.md5()); |
+ EXPECT_EQ(test_sub_dir_type, GDataCache::GetSubDirectoryType(cache_entry)); |
+ EXPECT_EQ(test_cache_state, cache_entry.cache_state()); |
// Empty m5 should work. |
- cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, std::string()).Pass(); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ(test_file_md5, cache_entry->md5()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry( |
+ test_resource_id, std::string(), &cache_entry)); |
+ EXPECT_EQ(test_file_md5, cache_entry.md5()); |
// Test dirty cache. |
test_file_md5 = "test_file_md5_3"; |
@@ -201,30 +194,26 @@ TEST_F(GDataCacheMetadataMapTest, CacheTest) { |
GDataCacheEntry(test_file_md5, test_cache_state)); |
// Make sure the values took. |
- cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, test_file_md5).Pass(); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ(test_file_md5, cache_entry->md5()); |
- EXPECT_EQ(test_sub_dir_type, GDataCache::GetSubDirectoryType(*cache_entry)); |
- EXPECT_EQ(test_cache_state, cache_entry->cache_state()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry( |
+ test_resource_id, test_file_md5, &cache_entry)); |
+ EXPECT_EQ(test_file_md5, cache_entry.md5()); |
+ EXPECT_EQ(test_sub_dir_type, GDataCache::GetSubDirectoryType(cache_entry)); |
+ EXPECT_EQ(test_cache_state, cache_entry.cache_state()); |
// Empty md5 should work. |
- cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, std::string()).Pass(); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ(test_file_md5, cache_entry->md5()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry( |
+ test_resource_id, std::string(), &cache_entry)); |
+ EXPECT_EQ(test_file_md5, cache_entry.md5()); |
// Mismatched md5 should also work for dirty entries. |
- cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, "mismatch_md5").Pass(); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ(test_file_md5, cache_entry->md5()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry( |
+ test_resource_id, "mismatch_md5", &cache_entry)); |
+ EXPECT_EQ(test_file_md5, cache_entry.md5()); |
// Remove the entry. |
metadata_->RemoveCacheEntry(test_resource_id); |
- cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, std::string()).Pass(); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry( |
+ test_resource_id, std::string(), &cache_entry)); |
// Add another one. |
test_resource_id = "test_resource_id_2"; |
@@ -236,12 +225,11 @@ TEST_F(GDataCacheMetadataMapTest, CacheTest) { |
GDataCacheEntry(test_file_md5, test_cache_state)); |
// Make sure the values took. |
- cache_entry = |
- metadata_->GetCacheEntry(test_resource_id, test_file_md5).Pass(); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ(test_file_md5, cache_entry->md5()); |
- EXPECT_EQ(test_sub_dir_type, GDataCache::GetSubDirectoryType(*cache_entry)); |
- EXPECT_EQ(test_cache_state, cache_entry->cache_state()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry( |
+ test_resource_id, test_file_md5, &cache_entry)); |
+ EXPECT_EQ(test_file_md5, cache_entry.md5()); |
+ EXPECT_EQ(test_sub_dir_type, GDataCache::GetSubDirectoryType(cache_entry)); |
+ EXPECT_EQ(test_cache_state, cache_entry.cache_state()); |
} |
TEST_F(GDataCacheMetadataMapTest, Initialization) { |
@@ -266,90 +254,76 @@ TEST_F(GDataCacheMetadataMapTest, Initialization) { |
// Check contents in "persistent" directory. |
// |
// "id_foo" is present and pinned. |
- scoped_ptr<GDataCacheEntry> cache_entry; |
- cache_entry = metadata_->GetCacheEntry("id_foo", "md5foo"); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ("md5foo", cache_entry->md5()); |
+ GDataCacheEntry cache_entry; |
+ ASSERT_TRUE(metadata_->GetCacheEntry("id_foo", "md5foo", &cache_entry)); |
+ EXPECT_EQ("md5foo", cache_entry.md5()); |
EXPECT_EQ(GDataCache::CACHE_TYPE_PERSISTENT, |
- GDataCache::GetSubDirectoryType(*cache_entry)); |
- EXPECT_EQ(CACHE_STATE_PRESENT | CACHE_STATE_PINNED | |
- CACHE_STATE_PERSISTENT, |
- cache_entry->cache_state()); |
+ GDataCache::GetSubDirectoryType(cache_entry)); |
+ EXPECT_EQ(CACHE_STATE_PRESENT | CACHE_STATE_PINNED | CACHE_STATE_PERSISTENT, |
+ cache_entry.cache_state()); |
EXPECT_TRUE(PathExists(persistent_directory_.AppendASCII("id_foo.md5foo"))); |
EXPECT_TRUE(PathExists(pinned_directory_.AppendASCII("id_foo"))); |
// The invalid symlink in "outgoing" should be removed. |
EXPECT_FALSE(PathExists(outgoing_directory_.AppendASCII("id_foo"))); |
// "id_bar" is present and dirty. |
- cache_entry = metadata_->GetCacheEntry("id_bar", ""); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ("local", cache_entry->md5()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry("id_bar", "", &cache_entry)); |
+ EXPECT_EQ("local", cache_entry.md5()); |
EXPECT_EQ(GDataCache::CACHE_TYPE_PERSISTENT, |
- GDataCache::GetSubDirectoryType(*cache_entry)); |
- EXPECT_EQ(CACHE_STATE_PRESENT | CACHE_STATE_DIRTY | |
- CACHE_STATE_PERSISTENT, |
- cache_entry->cache_state()); |
+ GDataCache::GetSubDirectoryType(cache_entry)); |
+ EXPECT_EQ(CACHE_STATE_PRESENT | CACHE_STATE_DIRTY | CACHE_STATE_PERSISTENT, |
+ cache_entry.cache_state()); |
EXPECT_TRUE(PathExists(persistent_directory_.AppendASCII("id_bar.local"))); |
EXPECT_TRUE(PathExists(outgoing_directory_.AppendASCII("id_bar"))); |
// "id_baz" should be removed during cache initialization. |
- cache_entry = metadata_->GetCacheEntry("id_baz", ""); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry("id_baz", "", &cache_entry)); |
EXPECT_FALSE(PathExists(persistent_directory_.AppendASCII("id_baz.local"))); |
// "id_bad" should be removed during cache initialization. |
- cache_entry = metadata_->GetCacheEntry("id_bad", "md5bad"); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry("id_bad", "md5bad", &cache_entry)); |
EXPECT_FALSE(PathExists(persistent_directory_.AppendASCII("id_bad.md5bad"))); |
// "id_symlink" should be removed during cache initialization. |
- cache_entry = metadata_->GetCacheEntry("id_symlink", ""); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry("id_symlink", "", &cache_entry)); |
EXPECT_FALSE(PathExists(persistent_directory_.AppendASCII("id_symlink"))); |
// Check contents in "tmp" directory. |
// |
// "id_qux" is just present in tmp directory. |
- cache_entry = metadata_->GetCacheEntry("id_qux", "md5qux"); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ("md5qux", cache_entry->md5()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry("id_qux", "md5qux", &cache_entry)); |
+ EXPECT_EQ("md5qux", cache_entry.md5()); |
EXPECT_EQ(GDataCache::CACHE_TYPE_TMP, |
- GDataCache::GetSubDirectoryType(*cache_entry)); |
- EXPECT_EQ(CACHE_STATE_PRESENT, cache_entry->cache_state()); |
+ GDataCache::GetSubDirectoryType(cache_entry)); |
+ EXPECT_EQ(CACHE_STATE_PRESENT, cache_entry.cache_state()); |
EXPECT_TRUE(PathExists(tmp_directory_.AppendASCII("id_qux.md5qux"))); |
// "id_quux" should be removed during cache initialization. |
- cache_entry = metadata_->GetCacheEntry("id_quux", "md5qux"); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry("id_quux", "md5qux", &cache_entry)); |
EXPECT_FALSE(PathExists(pinned_directory_.AppendASCII("id_quux.local"))); |
// "id_symlink_tmp" should be removed during cache initialization. |
- cache_entry = metadata_->GetCacheEntry("id_symlink_tmp", ""); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry("id_symlink_tmp", "", &cache_entry)); |
EXPECT_FALSE(PathExists(pinned_directory_.AppendASCII("id_symlink_tmp"))); |
// Check contents in "pinned" directory. |
// |
// "id_corge" is pinned but not present. |
- cache_entry = metadata_->GetCacheEntry("id_corge", ""); |
- ASSERT_TRUE(cache_entry.get()); |
- EXPECT_EQ("", cache_entry->md5()); |
- EXPECT_EQ(CACHE_STATE_PINNED, cache_entry->cache_state()); |
+ ASSERT_TRUE(metadata_->GetCacheEntry("id_corge", "", &cache_entry)); |
+ EXPECT_EQ("", cache_entry.md5()); |
+ EXPECT_EQ(CACHE_STATE_PINNED, cache_entry.cache_state()); |
EXPECT_TRUE(IsLink(pinned_directory_.AppendASCII("id_corge"))); |
// "id_dangling" should be removed during cache initialization. |
- cache_entry = metadata_->GetCacheEntry("id_dangling", ""); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry("id_dangling", "", &cache_entry)); |
EXPECT_FALSE(IsLink(pinned_directory_.AppendASCII("id_dangling"))); |
// "id_outside" should be removed during cache initialization. |
- cache_entry = metadata_->GetCacheEntry("id_outside", ""); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry("id_outside", "", &cache_entry)); |
EXPECT_FALSE(IsLink(pinned_directory_.AppendASCII("id_outside"))); |
// "id_not_symlink" should be removed during cache initialization. |
- cache_entry = metadata_->GetCacheEntry("id_not_symlink", ""); |
- EXPECT_FALSE(cache_entry.get()); |
+ EXPECT_FALSE(metadata_->GetCacheEntry("id_not_symlink", "", &cache_entry)); |
EXPECT_FALSE(IsLink(pinned_directory_.AppendASCII("id_not_symlink"))); |
} |
@@ -365,13 +339,11 @@ TEST_F(GDataCacheMetadataMapTest, RemoveTemporaryFilesTest) { |
InsertIntoMap(&cache_map, |
"<resource_id_2>", |
"<md5>", |
- CACHE_STATE_PRESENT | |
- CACHE_STATE_PERSISTENT); |
+ CACHE_STATE_PRESENT | CACHE_STATE_PERSISTENT); |
InsertIntoMap(&cache_map, |
"<resource_id_3>", |
"<md5>", |
- CACHE_STATE_PRESENT | |
- CACHE_STATE_PERSISTENT); |
+ CACHE_STATE_PRESENT | CACHE_STATE_PERSISTENT); |
InsertIntoMap(&cache_map, |
"<resource_id_4>", |
"<md5>", |
@@ -380,10 +352,11 @@ TEST_F(GDataCacheMetadataMapTest, RemoveTemporaryFilesTest) { |
metadata_->cache_map_ = cache_map; |
metadata_->RemoveTemporaryFiles(); |
// resource 1 and 4 should be gone, as these are temporary. |
- EXPECT_FALSE(metadata_->GetCacheEntry("<resource_id_1>", "").get()); |
- EXPECT_TRUE(metadata_->GetCacheEntry("<resource_id_2>", "").get()); |
- EXPECT_TRUE(metadata_->GetCacheEntry("<resource_id_3>", "").get()); |
- EXPECT_FALSE(metadata_->GetCacheEntry("<resource_id_4>", "").get()); |
+ GDataCacheEntry cache_entry; |
+ EXPECT_FALSE(metadata_->GetCacheEntry("<resource_id_1>", "", &cache_entry)); |
+ EXPECT_TRUE(metadata_->GetCacheEntry("<resource_id_2>", "", &cache_entry)); |
+ EXPECT_TRUE(metadata_->GetCacheEntry("<resource_id_3>", "", &cache_entry)); |
+ EXPECT_FALSE(metadata_->GetCacheEntry("<resource_id_4>", "", &cache_entry)); |
} |
} // namespace gdata |