Chromium Code Reviews| 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); |