Chromium Code Reviews| Index: chrome/browser/engagement/site_engagement_service_unittest.cc |
| diff --git a/chrome/browser/engagement/site_engagement_service_unittest.cc b/chrome/browser/engagement/site_engagement_service_unittest.cc |
| index c7dca74b34631dc335e257364f65701349b00603..e177aad235066e549d7147ab7735d48e54beef38 100644 |
| --- a/chrome/browser/engagement/site_engagement_service_unittest.cc |
| +++ b/chrome/browser/engagement/site_engagement_service_unittest.cc |
| @@ -25,6 +25,8 @@ |
| #include "chrome/test/base/testing_profile.h" |
| #include "components/content_settings/core/browser/content_settings_observer.h" |
| #include "components/content_settings/core/browser/host_content_settings_map.h" |
| +#include "components/content_settings/core/common/content_settings.h" |
| +#include "components/content_settings/core/common/content_settings_types.h" |
| #include "components/history/core/browser/history_database_params.h" |
| #include "components/history/core/browser/history_service.h" |
| #include "components/history/core/test/test_history_database.h" |
| @@ -482,6 +484,51 @@ TEST_F(SiteEngagementServiceTest, LastShortcutLaunch) { |
| EXPECT_DOUBLE_EQ(0.0, service->GetScore(url2)); |
| } |
| +TEST_F(SiteEngagementServiceTest, NotificationPermission) { |
| + base::SimpleTestClock* clock = new base::SimpleTestClock(); |
| + std::unique_ptr<SiteEngagementService> service( |
| + new SiteEngagementService(profile(), base::WrapUnique(clock))); |
| + |
| + GURL url1("https://www.google.com/"); |
| + GURL url2("http://www.google.com/"); |
| + GURL url3("http://www.google.com/maps"); |
|
benwells
2017/03/08 04:19:33
Should this be a different origin?
dominickn
2017/03/08 04:44:52
Derp, yes.
|
| + clock->SetNow(GetReferenceTime()); |
| + |
| + EXPECT_EQ(0, service->GetScore(url1)); |
| + EXPECT_EQ(0, service->GetScore(url2)); |
| + EXPECT_EQ(0, service->GetScore(url3)); |
| + |
| + HostContentSettingsMap* settings_map = |
| + HostContentSettingsMapFactory::GetForProfile(profile()); |
| + |
| + settings_map->SetContentSettingDefaultScope( |
| + url1, url1, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), |
| + CONTENT_SETTING_ALLOW); |
| + |
| + settings_map->SetContentSettingDefaultScope( |
| + url2, url2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), |
| + CONTENT_SETTING_BLOCK); |
| + |
| + settings_map->SetContentSettingDefaultScope( |
| + url3, url3, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), |
| + CONTENT_SETTING_ASK); |
| + |
| + EXPECT_EQ(5, service->GetScore(url1)); |
| + EXPECT_EQ(0, service->GetScore(url2)); |
| + EXPECT_EQ(0, service->GetScore(url3)); |
| + |
| + service->AddPoints(url1, 1.0); |
| + service->AddPoints(url2, 3.0); |
| + EXPECT_EQ(6, service->GetScore(url1)); |
| + EXPECT_EQ(3, service->GetScore(url2)); |
| + |
| + settings_map->SetContentSettingDefaultScope( |
| + url1, url1, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), |
| + CONTENT_SETTING_BLOCK); |
| + |
| + EXPECT_EQ(1, service->GetScore(url1)); |
| +} |
| + |
| TEST_F(SiteEngagementServiceTest, CheckHistograms) { |
| base::HistogramTester histograms; |