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

Side by Side Diff: chrome/browser/engagement/site_engagement_service_unittest.cc

Issue 2788413003: Add SiteEngagementService::GetAllDetails(), to return detailed scores. (Closed)
Patch Set: Fix notifications permission logic & test Created 3 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/engagement/site_engagement_service.h" 5 #include "chrome/browser/engagement/site_engagement_service.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/files/scoped_temp_dir.h" 9 #include "base/files/scoped_temp_dir.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 530 matching lines...) Expand 10 before | Expand all | Expand 10 after
541 clock_->SetNow(GetReferenceTime()); 541 clock_->SetNow(GetReferenceTime());
542 542
543 EXPECT_EQ(0, service_->GetScore(url1)); 543 EXPECT_EQ(0, service_->GetScore(url1));
544 EXPECT_EQ(0, service_->GetScore(url2)); 544 EXPECT_EQ(0, service_->GetScore(url2));
545 EXPECT_EQ(0, service_->GetScore(url3)); 545 EXPECT_EQ(0, service_->GetScore(url3));
546 546
547 HostContentSettingsMap* settings_map = 547 HostContentSettingsMap* settings_map =
548 HostContentSettingsMapFactory::GetForProfile(profile()); 548 HostContentSettingsMapFactory::GetForProfile(profile());
549 549
550 settings_map->SetContentSettingDefaultScope( 550 settings_map->SetContentSettingDefaultScope(
551 url1, url1, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), 551 url1, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
552 CONTENT_SETTING_ALLOW); 552 content_settings::ResourceIdentifier(), CONTENT_SETTING_ALLOW);
553 553
554 settings_map->SetContentSettingDefaultScope( 554 settings_map->SetContentSettingDefaultScope(
555 url2, url2, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), 555 url2, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
556 CONTENT_SETTING_BLOCK); 556 content_settings::ResourceIdentifier(), CONTENT_SETTING_BLOCK);
557 557
558 settings_map->SetContentSettingDefaultScope( 558 settings_map->SetContentSettingDefaultScope(
559 url3, url3, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), 559 url3, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
560 CONTENT_SETTING_ASK); 560 content_settings::ResourceIdentifier(), CONTENT_SETTING_ASK);
561 561
562 EXPECT_EQ(5, service_->GetScore(url1)); 562 EXPECT_EQ(5, service_->GetScore(url1));
563 EXPECT_EQ(0, service_->GetScore(url2)); 563 EXPECT_EQ(0, service_->GetScore(url2));
564 EXPECT_EQ(0, service_->GetScore(url3)); 564 EXPECT_EQ(0, service_->GetScore(url3));
565 565
566 service_->AddPoints(url1, 1.0); 566 service_->AddPoints(url1, 1.0);
567 service_->AddPoints(url2, 3.0); 567 service_->AddPoints(url2, 3.0);
568 EXPECT_EQ(6, service_->GetScore(url1)); 568 EXPECT_EQ(6, service_->GetScore(url1));
569 EXPECT_EQ(3, service_->GetScore(url2)); 569 EXPECT_EQ(3, service_->GetScore(url2));
570 570
571 settings_map->SetContentSettingDefaultScope( 571 settings_map->SetContentSettingDefaultScope(
572 url1, url1, CONTENT_SETTINGS_TYPE_NOTIFICATIONS, std::string(), 572 url1, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
573 CONTENT_SETTING_BLOCK); 573 content_settings::ResourceIdentifier(), CONTENT_SETTING_BLOCK);
574 574
575 EXPECT_EQ(1, service_->GetScore(url1)); 575 EXPECT_EQ(1, service_->GetScore(url1));
576 } 576 }
577 577
578 TEST_F(SiteEngagementServiceTest, CheckHistograms) { 578 TEST_F(SiteEngagementServiceTest, CheckHistograms) {
579 base::HistogramTester histograms; 579 base::HistogramTester histograms;
580 580
581 base::Time current_day = GetReferenceTime(); 581 base::Time current_day = GetReferenceTime();
582 clock_->SetNow(current_day); 582 clock_->SetNow(current_day);
583 583
(...skipping 1244 matching lines...) Expand 10 before | Expand all | Expand 10 after
1828 1828
1829 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO, 1829 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO,
1830 settings_map, url1)); 1830 settings_map, url1));
1831 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE, 1831 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE,
1832 settings_map, url2)); 1832 settings_map, url2));
1833 EXPECT_EQ(4, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE, 1833 EXPECT_EQ(4, CheckScoreFromSettingsOnThread(content::BrowserThread::FILE,
1834 incognito_settings_map, url1)); 1834 incognito_settings_map, url1));
1835 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO, 1835 EXPECT_EQ(3, CheckScoreFromSettingsOnThread(content::BrowserThread::IO,
1836 incognito_settings_map, url2)); 1836 incognito_settings_map, url2));
1837 } 1837 }
1838
1839 TEST_F(SiteEngagementServiceTest, GetAllDetailsIncludesBonusOnlyScores) {
1840 GURL url1("http://www.google.com/");
1841 GURL url2("https://www.google.com/");
1842 GURL url3("https://drive.google.com/");
1843 GURL url4("https://nothing.google.com/");
1844
1845 std::vector<mojom::SiteEngagementDetails> details = service_->GetAllDetails();
1846 EXPECT_EQ(0u, details.size());
1847
1848 // Add a single site score via explicitly resetting the engagement score.
1849 service_->ResetBaseScoreForURL(url1, 5);
1850
1851 // Add a second site indirectly, via notifications permissions.
1852 HostContentSettingsMap* settings_map =
1853 HostContentSettingsMapFactory::GetForProfile(profile());
1854 settings_map->SetContentSettingDefaultScope(
1855 url2, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
1856 content_settings::ResourceIdentifier(), CONTENT_SETTING_ALLOW);
1857
1858 // Add third and fourth sites with notifications permission explicitly denied,
1859 // to verify that they are not included.
1860 settings_map->SetContentSettingDefaultScope(
1861 url3, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
1862 content_settings::ResourceIdentifier(), CONTENT_SETTING_BLOCK);
1863 settings_map->SetContentSettingDefaultScope(
1864 url4, GURL(), CONTENT_SETTINGS_TYPE_NOTIFICATIONS,
1865 content_settings::ResourceIdentifier(), CONTENT_SETTING_BLOCK);
1866
1867 // Verify that the URLs with engagement, and with notifications permission
1868 // boosted engagement total, are included.
1869 details = service_->GetAllDetails();
1870 EXPECT_EQ(2u, details.size());
1871 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698