Index: chrome/browser/thumbnail_store_unittest.cc |
=================================================================== |
--- chrome/browser/thumbnail_store_unittest.cc (revision 19748) |
+++ chrome/browser/thumbnail_store_unittest.cc (working copy) |
@@ -3,7 +3,6 @@ |
// found in the LICENSE file. |
#include <string.h> |
-#include <algorithm> |
#include <iostream> |
#include <vector> |
@@ -51,6 +50,7 @@ |
// The directory where ThumbnailStore will store data. |
FilePath file_path_; |
+ scoped_refptr<ThumbnailStore> store_; |
scoped_ptr<SkBitmap> google_; |
scoped_ptr<SkBitmap> weewar_; |
scoped_refptr<RefCountedBytes> jpeg_google_; |
@@ -88,6 +88,14 @@ |
weewar_->height(), |
static_cast<int>(weewar_->rowBytes()), 90, |
&(jpeg_weewar_->data)); |
+ |
+ store_ = new ThumbnailStore; |
+ store_->cache_initialized_ = true; |
+ store_->file_path_ = file_path_; |
+ store_->most_visited_urls_.reset(new std::vector<GURL>); |
+ store_->most_visited_urls_->push_back(url1_); |
+ store_->cache_.reset(new ThumbnailStore::Cache); |
+ store_->redirect_urls_.reset(new history::RedirectMap); |
} |
void ThumbnailStoreTest::PrintPixelDiff(SkBitmap* image_a, SkBitmap* image_b) { |
@@ -129,27 +137,23 @@ |
} |
TEST_F(ThumbnailStoreTest, UpdateThumbnail) { |
- scoped_refptr<ThumbnailStore> store = new ThumbnailStore; |
RefCountedBytes* read_image = NULL; |
ThumbnailScore score2(0.1, true, true); |
+ store_->cache_->clear(); |
+ store_->redirect_urls_->clear(); |
- store->file_path_ = file_path_; |
- store->cache_.reset(new ThumbnailStore::Cache); |
- store->cache_initialized_ = true; |
- |
- // Store google_ with a low score, then weewar_ with a higher score |
+ // store_ google_ with a low score, then weewar_ with a higher score |
// and check that weewar_ overwrote google_. |
- EXPECT_TRUE(store->SetPageThumbnail(url1_, *google_, score1_, false)); |
- EXPECT_TRUE(store->SetPageThumbnail(url1_, *weewar_, score2, false)); |
+ EXPECT_TRUE(store_->SetPageThumbnail(url1_, *google_, score1_, false)); |
+ EXPECT_TRUE(store_->SetPageThumbnail(url1_, *weewar_, score2, false)); |
// Set fake redirects list. |
scoped_ptr<std::vector<GURL> > redirects(new std::vector<GURL>); |
redirects->push_back(url1_); |
- store->redirect_urls_[url1_] = new RefCountedVector<GURL>(*redirects); |
+ (*store_->redirect_urls_)[url1_] = new RefCountedVector<GURL>(*redirects); |
- EXPECT_EQ(store->GetPageThumbnail(url1_, &read_image), |
- ThumbnailStore::SUCCESS); |
+ EXPECT_TRUE(store_->GetPageThumbnail(url1_, &read_image)); |
EXPECT_EQ(read_image->data.size(), jpeg_weewar_->data.size()); |
EXPECT_EQ(0, memcmp(&read_image->data[0], &jpeg_weewar_->data[0], |
jpeg_weewar_->data.size())); |
@@ -159,29 +163,24 @@ |
TEST_F(ThumbnailStoreTest, RetrieveFromCache) { |
RefCountedBytes* read_image = NULL; |
- scoped_refptr<ThumbnailStore> store = new ThumbnailStore; |
+ store_->cache_->clear(); |
+ store_->redirect_urls_->clear(); |
- store->file_path_ = file_path_; |
- store->cache_.reset(new ThumbnailStore::Cache); |
- store->cache_initialized_ = true; |
- |
// Retrieve a thumbnail/score for a page not in the cache. |
- EXPECT_EQ(store->GetPageThumbnail(url2_, &read_image), |
- ThumbnailStore::ASYNC); |
+ EXPECT_FALSE(store_->GetPageThumbnail(url2_, &read_image)); |
- // Store a thumbnail into the cache and retrieve it. |
+ // store_ a thumbnail into the cache and retrieve it. |
- EXPECT_TRUE(store->SetPageThumbnail(url1_, *google_, score1_, false)); |
+ EXPECT_TRUE(store_->SetPageThumbnail(url1_, *google_, score1_, false)); |
// Set fake redirects list. |
scoped_ptr<std::vector<GURL> > redirects(new std::vector<GURL>); |
redirects->push_back(url1_); |
- store->redirect_urls_[url1_] = new RefCountedVector<GURL>(*redirects); |
+ (*store_->redirect_urls_)[url1_] = new RefCountedVector<GURL>(*redirects); |
- EXPECT_EQ(store->GetPageThumbnail(url1_, &read_image), |
- ThumbnailStore::SUCCESS); |
- EXPECT_TRUE(score1_.Equals((*store->cache_)[url1_].second)); |
+ EXPECT_TRUE(store_->GetPageThumbnail(url1_, &read_image)); |
+ EXPECT_TRUE(score1_.Equals((*store_->cache_)[url1_].second)); |
EXPECT_TRUE(read_image->data.size() == jpeg_google_->data.size()); |
EXPECT_EQ(0, memcmp(&read_image->data[0], &jpeg_google_->data[0], |
jpeg_google_->data.size())); |
@@ -191,23 +190,15 @@ |
TEST_F(ThumbnailStoreTest, RetrieveFromDisk) { |
scoped_refptr<RefCountedBytes> read_image = new RefCountedBytes; |
- scoped_refptr<ThumbnailStore> store = new ThumbnailStore; |
ThumbnailScore score2; |
+ store_->cache_->clear(); |
+ store_->redirect_urls_->clear(); |
- store->file_path_ = file_path_; |
- store->cache_.reset(new ThumbnailStore::Cache); |
- store->cache_initialized_ = true; |
+ // store_ a thumbnail onto the disk and retrieve it. |
- // Store a thumbnail onto the disk and retrieve it. |
- |
- EXPECT_TRUE(store->SetPageThumbnail(url1_, *google_, score1_, false)); |
- |
- ThumbnailStore::Cache::iterator it = store->cache_->find(url1_); |
- DCHECK(it != store->cache_->end()); |
- |
- EXPECT_TRUE(store->WriteThumbnailToDisk(url1_, it->second.first, |
- it->second.second)); |
- EXPECT_TRUE(store->GetPageThumbnailFromDisk(file_path_.AppendASCII( |
+ EXPECT_TRUE(store_->SetPageThumbnail(url1_, *google_, score1_, false)); |
+ EXPECT_TRUE(store_->WriteThumbnailToDisk(url1_, jpeg_google_, score1_)); |
+ EXPECT_TRUE(store_->GetPageThumbnailFromDisk(file_path_.AppendASCII( |
MD5String(url1_.spec())), &url2_, read_image, &score2)); |
EXPECT_TRUE(url1_ == url2_); |
EXPECT_TRUE(score1_.Equals(score2)); |
@@ -219,29 +210,26 @@ |
TEST_F(ThumbnailStoreTest, FollowRedirects) { |
RefCountedBytes* read_image = NULL; |
scoped_ptr<std::vector<GURL> > redirects(new std::vector<GURL>); |
- scoped_refptr<ThumbnailStore> store = new ThumbnailStore; |
+ store_->cache_->clear(); |
+ store_->redirect_urls_->clear(); |
- store->file_path_ = file_path_; |
- store->cache_.reset(new ThumbnailStore::Cache); |
- store->cache_initialized_ = true; |
- |
GURL my_url("google"); |
redirects->push_back(GURL("google.com")); |
redirects->push_back(GURL("www.google.com")); |
redirects->push_back(url1_); // url1_ = http://www.google.com/ |
- store->redirect_urls_[my_url] = new RefCountedVector<GURL>(*redirects); |
- EXPECT_TRUE(store->SetPageThumbnail(url1_, *google_, score1_, false)); |
- EXPECT_EQ(store->GetPageThumbnail(my_url, &read_image), |
- ThumbnailStore::SUCCESS); |
+ store_->most_visited_urls_->push_back(my_url); |
+ (*store_->redirect_urls_)[my_url] = new RefCountedVector<GURL>(*redirects); |
+ EXPECT_TRUE(store_->SetPageThumbnail(url1_, *google_, score1_, false)); |
+ EXPECT_TRUE(store_->GetPageThumbnail(my_url, &read_image)); |
+ |
read_image->Release(); |
- store->cache_->erase(store->cache_->find(url1_)); |
+ store_->cache_->erase(store_->cache_->find(url1_)); |
- EXPECT_TRUE(store->SetPageThumbnail(GURL("google.com"), *google_, score1_, |
+ EXPECT_TRUE(store_->SetPageThumbnail(GURL("google.com"), *google_, score1_, |
false)); |
- EXPECT_EQ(store->GetPageThumbnail(my_url, &read_image), |
- ThumbnailStore::SUCCESS); |
+ EXPECT_TRUE(store_->GetPageThumbnail(my_url, &read_image)); |
read_image->Release(); |
} |