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

Unified Diff: components/ntp_tiles/most_visited_sites_unittest.cc

Issue 2866033002: [NTP Tiles] Fetch missing MostLikely tiles from a Google server (Closed)
Patch Set: Comments #3 Created 3 years, 7 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: components/ntp_tiles/most_visited_sites_unittest.cc
diff --git a/components/ntp_tiles/most_visited_sites_unittest.cc b/components/ntp_tiles/most_visited_sites_unittest.cc
index 650b10e925a6944f73505e7e07a6f14f19aedebe..9b742649bbf9ac5a010c2f8f81e16ec054488e90 100644
--- a/components/ntp_tiles/most_visited_sites_unittest.cc
+++ b/components/ntp_tiles/most_visited_sites_unittest.cc
@@ -20,10 +20,12 @@
#include "base/run_loop.h"
#include "base/strings/utf_string_conversions.h"
#include "base/task/cancelable_task_tracker.h"
+#include "base/test/scoped_feature_list.h"
#include "base/test/sequenced_worker_pool_owner.h"
#include "base/threading/thread_task_runner_handle.h"
#include "components/history/core/browser/top_sites.h"
#include "components/history/core/browser/top_sites_observer.h"
+#include "components/ntp_tiles/constants.h"
#include "components/ntp_tiles/icon_cacher.h"
#include "components/ntp_tiles/json_unsafe_parser.h"
#include "components/ntp_tiles/popular_sites_impl.h"
@@ -194,10 +196,12 @@ class MockMostVisitedSitesObserver : public MostVisitedSites::Observer {
class MockIconCacher : public IconCacher {
public:
- MOCK_METHOD3(StartFetch,
+ MOCK_METHOD3(StartFetchPopularSites,
void(PopularSites::Site site,
const base::Closure& icon_available,
const base::Closure& preliminary_icon_available));
+ MOCK_METHOD2(StartFetchMostLikely,
+ void(const GURL& page_url, const base::Closure& icon_available));
};
class PopularSitesFactoryForTest {
@@ -287,9 +291,14 @@ class MostVisitedSitesTest : public ::testing::TestWithParam<bool> {
switches::kDisableNTPPopularSites);
}
+ // Disable in most tests, this is overriden in a specific test.
+ feature_list_.InitAndDisableFeature(
+ kNtpMostLikelyFaviconsFromServerFeature);
+
// We use StrictMock to make sure the object is not used unless Popular
// Sites is enabled.
auto icon_cacher = base::MakeUnique<StrictMock<MockIconCacher>>();
+ icon_cacher_ = icon_cacher.get();
if (IsPopularSitesEnabledViaVariations()) {
// Populate Popular Sites' internal cache by mimicking a past usage of
@@ -313,7 +322,8 @@ class MostVisitedSitesTest : public ::testing::TestWithParam<bool> {
.WillRepeatedly(Return(false));
// Mock icon cacher never replies, and we also don't verify whether the
// code uses it correctly.
- EXPECT_CALL(*icon_cacher, StartFetch(_, _, _)).Times(AtLeast(0));
+ EXPECT_CALL(*icon_cacher, StartFetchPopularSites(_, _, _))
+ .Times(AtLeast(0));
}
most_visited_sites_ = base::MakeUnique<MostVisitedSites>(
@@ -349,6 +359,8 @@ class MostVisitedSitesTest : public ::testing::TestWithParam<bool> {
StrictMock<MockSuggestionsService> mock_suggestions_service_;
StrictMock<MockMostVisitedSitesObserver> mock_observer_;
std::unique_ptr<MostVisitedSites> most_visited_sites_;
+ base::test::ScopedFeatureList feature_list_;
+ MockIconCacher* icon_cacher_;
};
TEST_P(MostVisitedSitesTest, ShouldStartNoCallInConstructor) {
@@ -540,6 +552,18 @@ TEST_P(MostVisitedSitesWithCacheHitTest,
base::RunLoop().RunUntilIdle();
}
+TEST_P(MostVisitedSitesWithCacheHitTest, ShouldFetchFaviconsIfEnabled) {
+ base::test::ScopedFeatureList feature_list;
+ feature_list.InitAndEnableFeature(kNtpMostLikelyFaviconsFromServerFeature);
+
+ EXPECT_CALL(mock_observer_, OnMostVisitedURLsAvailable(_));
+ EXPECT_CALL(*icon_cacher_, StartFetchMostLikely(GURL("http://site4/"), _));
+
+ suggestions_service_callbacks_.Notify(
+ MakeProfile({MakeSuggestion("Site 4", "http://site4/")}));
+ base::RunLoop().RunUntilIdle();
+}
+
INSTANTIATE_TEST_CASE_P(MostVisitedSitesWithCacheHitTest,
MostVisitedSitesWithCacheHitTest,
::testing::Bool());

Powered by Google App Engine
This is Rietveld 408576698