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

Side by Side Diff: chrome/browser/thumbnails/thumbnail_service_unittest.cc

Issue 815983002: Topsites become keyedService based. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 5 years, 12 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/thumbnails/thumbnail_service_impl.h" 5 #include "chrome/browser/thumbnails/thumbnail_service_impl.h"
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "chrome/browser/history/top_sites_impl.h" 8 #include "chrome/browser/history/top_sites_impl.h"
9 #include "chrome/test/base/testing_profile.h" 9 #include "chrome/test/base/testing_profile.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
11 11
12 typedef testing::Test ThumbnailServiceTest; 12 typedef testing::Test ThumbnailServiceTest;
13 13
14 // A mock version of TopSitesImpl, used for testing 14 // A mock version of TopSitesImpl, used for testing
15 // ShouldAcquirePageThumbnail(). 15 // ShouldAcquirePageThumbnail().
16 class MockTopSites : public history::TopSitesImpl { 16 class MockTopSites : public history::TopSitesImpl {
17 public: 17 public:
18 explicit MockTopSites(Profile* profile) 18 explicit MockTopSites(Profile* profile)
19 : history::TopSitesImpl(profile), 19 : history::TopSitesImpl(profile), capacity_(1) {}
20 capacity_(1) {
21 }
22 20
23 // history::TopSitesImpl overrides. 21 // history::TopSitesImpl overrides.
24 bool IsNonForcedFull() override { return known_url_map_.size() >= capacity_; } 22 bool IsNonForcedFull() override { return known_url_map_.size() >= capacity_; }
25 bool IsForcedFull() override { return false; } 23 bool IsForcedFull() override { return false; }
26 bool IsKnownURL(const GURL& url) override { 24 bool IsKnownURL(const GURL& url) override {
27 return known_url_map_.find(url.spec()) != known_url_map_.end(); 25 return known_url_map_.find(url.spec()) != known_url_map_.end();
28 } 26 }
29 bool GetPageThumbnailScore(const GURL& url, ThumbnailScore* score) override { 27 bool GetPageThumbnailScore(const GURL& url, ThumbnailScore* score) override {
30 std::map<std::string, ThumbnailScore>::const_iterator iter = 28 std::map<std::string, ThumbnailScore>::const_iterator iter =
31 known_url_map_.find(url.spec()); 29 known_url_map_.find(url.spec());
(...skipping 15 matching lines...) Expand all
47 45
48 const size_t capacity_; 46 const size_t capacity_;
49 std::map<std::string, ThumbnailScore> known_url_map_; 47 std::map<std::string, ThumbnailScore> known_url_map_;
50 48
51 DISALLOW_COPY_AND_ASSIGN(MockTopSites); 49 DISALLOW_COPY_AND_ASSIGN(MockTopSites);
52 }; 50 };
53 51
54 // A mock version of TestingProfile holds MockTopSites. 52 // A mock version of TestingProfile holds MockTopSites.
55 class MockProfile : public TestingProfile { 53 class MockProfile : public TestingProfile {
56 public: 54 public:
57 MockProfile() : mock_top_sites_(new MockTopSites(this)) { 55 MockProfile() : mock_top_sites_(new MockTopSites(this)) {
sdefresne 2014/12/29 09:48:14 Remove mock_top_sites_ property.
Jitu( very slow this week) 2014/12/30 10:09:03 Done.
58 } 56 }
59 57
60 history::TopSites* GetTopSites() override { return mock_top_sites_.get(); } 58 history::TopSites* GetTopSites() { return mock_top_sites_.get(); }
sdefresne 2014/12/29 09:48:14 Remove this method. Instead use TopSitesServiceFac
Jitu( very slow this week) 2014/12/30 10:09:03 Done.
61 59
62 void AddKnownURL(const GURL& url, const ThumbnailScore& score) { 60 void AddKnownURL(const GURL& url, const ThumbnailScore& score) {
63 mock_top_sites_->AddKnownURL(url, score); 61 mock_top_sites_->AddKnownURL(url, score);
64 } 62 }
65 63
66 private: 64 private:
67 scoped_refptr<MockTopSites> mock_top_sites_; 65 scoped_refptr<MockTopSites> mock_top_sites_;
sdefresne 2014/12/29 09:48:14 Remove this property.
Jitu( very slow this week) 2014/12/30 10:09:03 Done.
68 66
69 DISALLOW_COPY_AND_ASSIGN(MockProfile); 67 DISALLOW_COPY_AND_ASSIGN(MockProfile);
70 }; 68 };
71 69
72 TEST_F(ThumbnailServiceTest, ShouldUpdateThumbnail) { 70 TEST_F(ThumbnailServiceTest, ShouldUpdateThumbnail) {
73 const GURL kGoodURL("http://www.google.com/"); 71 const GURL kGoodURL("http://www.google.com/");
74 const GURL kBadURL("chrome://newtab"); 72 const GURL kBadURL("chrome://newtab");
75 73
76 // Set up the mock profile along with mock top sites. 74 // Set up the mock profile along with mock top sites.
77 base::ScopedTempDir temp_dir; 75 base::ScopedTempDir temp_dir;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 good_score.at_top = true; 108 good_score.at_top = true;
111 good_score.good_clipping = true; 109 good_score.good_clipping = true;
112 good_score.boring_score = 0.0; 110 good_score.boring_score = 0.0;
113 good_score.load_completed = true; 111 good_score.load_completed = true;
114 profile.AddKnownURL(kGoodURL, good_score); 112 profile.AddKnownURL(kGoodURL, good_score);
115 113
116 // Should be false, as the existing thumbnail is good enough (i.e. don't 114 // Should be false, as the existing thumbnail is good enough (i.e. don't
117 // need to replace the existing thumbnail which is new and good). 115 // need to replace the existing thumbnail which is new and good).
118 EXPECT_FALSE(thumbnail_service->ShouldAcquirePageThumbnail(kGoodURL)); 116 EXPECT_FALSE(thumbnail_service->ShouldAcquirePageThumbnail(kGoodURL));
119 } 117 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698