Chromium Code Reviews| Index: components/suggestions/image_manager_unittest.cc |
| diff --git a/components/suggestions/image_manager_unittest.cc b/components/suggestions/image_manager_unittest.cc |
| index b6182d863038e8bbd1620e62450bee4dfb5cca44..3b463b32298f74b2f6a62f1dabd657dbffcbcf51 100644 |
| --- a/components/suggestions/image_manager_unittest.cc |
| +++ b/components/suggestions/image_manager_unittest.cc |
| @@ -8,6 +8,7 @@ |
| #include "base/run_loop.h" |
| #include "components/leveldb_proto/proto_database.h" |
| #include "components/leveldb_proto/testing/fake_db.h" |
| +#include "components/suggestions/image_encoder.h" |
| #include "components/suggestions/image_fetcher.h" |
| #include "components/suggestions/image_fetcher_delegate.h" |
| #include "components/suggestions/image_manager.h" |
| @@ -46,6 +47,15 @@ class MockImageFetcher : public suggestions::ImageFetcher { |
| MOCK_METHOD1(SetImageFetcherDelegate, void(ImageFetcherDelegate*)); |
| }; |
| +class MockImageEncoder : public suggestions::ImageEncoder { |
| + public: |
| + MockImageEncoder() {} |
| + virtual ~MockImageEncoder() {} |
| + MOCK_METHOD1(DecodeImage, |
| + SkBitmap*(const std::vector<unsigned char>&)); |
| + MOCK_METHOD2(EncodeImage, bool(const SkBitmap&, std::vector<unsigned char>*)); |
| +}; |
| + |
| class ImageManagerTest : public testing::Test { |
| public: |
| ImageManagerTest() |
| @@ -55,7 +65,8 @@ class ImageManagerTest : public testing::Test { |
| virtual void SetUp() OVERRIDE { |
| fake_db_ = new FakeDB<ImageData>(&db_model_); |
| - image_manager_.reset(CreateImageManager(fake_db_)); |
| + image_encoder_ = new ImageEncoder(); |
| + image_manager_.reset(CreateImageManager(fake_db_, image_encoder_)); |
| } |
| virtual void TearDown() OVERRIDE { |
| @@ -92,7 +103,7 @@ class ImageManagerTest : public testing::Test { |
| ImageData data; |
| data.set_url(url); |
| std::vector<unsigned char> encoded; |
| - EXPECT_TRUE(ImageManager::EncodeImage(bm, &encoded)); |
| + EXPECT_TRUE(image_encoder_->EncodeImage(bm, &encoded)); |
| data.set_data(std::string(encoded.begin(), encoded.end())); |
| return data; |
| } |
| @@ -107,11 +118,13 @@ class ImageManagerTest : public testing::Test { |
| loop->Quit(); |
| } |
| - ImageManager* CreateImageManager(FakeDB<ImageData>* fake_db) { |
| + ImageManager* CreateImageManager(FakeDB<ImageData>* fake_db, |
| + ImageEncoder* image_encoder) { |
| mock_image_fetcher_ = new StrictMock<MockImageFetcher>(); |
| EXPECT_CALL(*mock_image_fetcher_, SetImageFetcherDelegate(_)); |
| return new ImageManager( |
| scoped_ptr<ImageFetcher>(mock_image_fetcher_), |
| + scoped_ptr<ImageEncoder>(image_encoder), |
| scoped_ptr<leveldb_proto::ProtoDatabase<ImageData> >(fake_db), |
| FakeDB<ImageData>::DirectoryForTestDB()); |
| } |
| @@ -119,6 +132,7 @@ class ImageManagerTest : public testing::Test { |
| EntryMap db_model_; |
| // Owned by the ImageManager under test. |
| FakeDB<ImageData>* fake_db_; |
| + ImageEncoder* image_encoder_; |
| MockImageFetcher* mock_image_fetcher_; |
| @@ -175,7 +189,8 @@ TEST_F(ImageManagerTest, GetImageForURLNetworkCacheHit) { |
| // Create the ImageManager with an added entry in the database. |
| AddEntry(GetSampleImageData(kTestUrl1), &db_model_); |
| FakeDB<ImageData>* fake_db = new FakeDB<ImageData>(&db_model_); |
| - image_manager_.reset(CreateImageManager(fake_db)); |
| + ImageEncoder* image_encoder = new ImageEncoder(); |
| + image_manager_.reset(CreateImageManager(fake_db, image_encoder)); |
|
huangs
2014/10/06 17:14:18
Inline rather than create temp variable, since own
Mathieu
2014/10/06 18:13:35
Done.
|
| image_manager_->Initialize(suggestions_profile); |
| fake_db->InitCallback(true); |
| fake_db->LoadCallback(true); |