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

Unified Diff: components/ntp_tiles/most_visited_sites_unittest.cc

Issue 2897293002: Adding CrHome-specific implementation for home page tile. (Closed)
Patch Set: Handle empty home page urls 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 4bd8bc92ab524bb11b751e84a8e662f3acd5d666..041f4d4cd60852c1878f7babbf2b9958aa166058 100644
--- a/components/ntp_tiles/most_visited_sites_unittest.cc
+++ b/components/ntp_tiles/most_visited_sites_unittest.cc
@@ -213,14 +213,17 @@ class MockMostVisitedSitesObserver : public MostVisitedSites::Observer {
class FakeHomePageClient : public MostVisitedSites::HomePageClient {
public:
- FakeHomePageClient() : home_page_enabled_(false), ntp_is_homepage_(false) {}
+ FakeHomePageClient()
+ : home_page_enabled_(false),
+ ntp_is_homepage_(false),
+ home_page_url_(kHomePageUrl) {}
~FakeHomePageClient() override {}
bool IsHomePageEnabled() const override { return home_page_enabled_; }
bool IsNewTabPageUsedAsHomePage() const override { return ntp_is_homepage_; }
- GURL GetHomepageUrl() const override { return GURL(kHomePageUrl); }
+ GURL GetHomepageUrl() const override { return home_page_url_; }
void SetHomePageEnabled(bool home_page_enabled) {
home_page_enabled_ = home_page_enabled;
@@ -230,9 +233,12 @@ class FakeHomePageClient : public MostVisitedSites::HomePageClient {
ntp_is_homepage_ = ntp_is_homepage;
}
+ void SetHomePageUrl(GURL home_page_url) { home_page_url_ = home_page_url; }
+
private:
bool home_page_enabled_;
bool ntp_is_homepage_;
+ GURL home_page_url_;
};
class MockIconCacher : public IconCacher {
@@ -373,7 +379,9 @@ class MostVisitedSitesTest : public ::testing::TestWithParam<bool> {
most_visited_sites_ = base::MakeUnique<MostVisitedSites>(
&pref_service_, mock_top_sites_, &mock_suggestions_service_,
popular_sites_factory_.New(), std::move(icon_cacher),
- /*supervisor=*/nullptr, std::move(home_page_client));
+ /*supervisor=*/nullptr);
+
+ most_visited_sites_->SetHomePageClient(std::move(home_page_client));
mastiz 2017/06/01 08:18:44 Can you please add at lest one test where there is
fhorschig 2017/06/01 10:12:56 Added test with feature but without client.
mastiz 2017/06/01 10:59:24 I like it much better now, thanks!
}
bool IsPopularSitesEnabledViaVariations() const { return GetParam(); }
@@ -563,6 +571,27 @@ TEST_P(MostVisitedSitesTest, ShouldNotIncludeHomePageIfThereIsNone) {
base::RunLoop().RunUntilIdle();
}
+TEST_P(MostVisitedSitesTest, ShouldNotIncludeHomePageIfEmptyUrl) {
+ const std::string kEmptyHomePageUrl;
+ base::test::ScopedFeatureList features;
+ features.InitAndEnableFeature(ntp_tiles::kPinHomePageAsTileFeature);
+ home_page_client_->SetHomePageEnabled(true);
+ home_page_client_->SetHomePageUrl(GURL(kEmptyHomePageUrl));
+ DisableRemoteSuggestions();
+ EXPECT_CALL(*mock_top_sites_, GetMostVisitedURLs(_, false))
+ .WillRepeatedly(InvokeCallbackArgument<0>(MostVisitedURLList{}));
+ EXPECT_CALL(*mock_top_sites_, SyncWithHistory());
+ EXPECT_CALL(*mock_top_sites_, IsBlacklisted(Eq(kEmptyHomePageUrl)))
+ .Times(AnyNumber())
+ .WillRepeatedly(Return(false));
+ EXPECT_CALL(mock_observer_,
+ OnMostVisitedURLsAvailable(Not(
+ FirstTileIs("", kEmptyHomePageUrl, TileSource::HOMEPAGE))));
+ most_visited_sites_->SetMostVisitedURLsObserver(&mock_observer_,
+ /*num_sites=*/3);
+ base::RunLoop().RunUntilIdle();
+}
+
TEST_P(MostVisitedSitesTest, ShouldNotIncludeHomePageIfBlacklisted) {
base::test::ScopedFeatureList features;
features.InitAndEnableFeature(ntp_tiles::kPinHomePageAsTileFeature);
« components/ntp_tiles/most_visited_sites.cc ('K') | « components/ntp_tiles/most_visited_sites.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698