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); |