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

Unified Diff: chrome/browser/engagement/site_engagement_service_unittest.cc

Issue 1901563002: Set site engagement timestamps to privacy-respectful values when history is cleared. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
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 29cfa2e988ce1eef0952436381408a8d2bac44e3..3436071f1c1c4b2287b7431aad6d45135810b3b8 100644
--- a/chrome/browser/engagement/site_engagement_service_unittest.cc
+++ b/chrome/browser/engagement/site_engagement_service_unittest.cc
@@ -431,20 +431,43 @@ TEST_F(SiteEngagementScoreTest, Reset) {
current_day += base::TimeDelta::FromDays(7);
test_clock_.SetNow(current_day);
- score_.Reset(20.0);
+ score_.Reset(20.0, nullptr);
EXPECT_DOUBLE_EQ(20.0, score_.Score());
EXPECT_DOUBLE_EQ(0, score_.points_added_today_);
EXPECT_EQ(current_day, score_.last_engagement_time_);
+ EXPECT_TRUE(score_.last_shortcut_launch_time_.is_null());
// Adding points after the reset should work as normal.
score_.AddPoints(5);
EXPECT_EQ(25.0, score_.Score());
- // The decay should happen one decay period from
+ // The decay should happen one decay period from the current time.
test_clock_.SetNow(current_day +
base::TimeDelta::FromDays(
SiteEngagementScore::GetDecayPeriodInDays() + 1));
EXPECT_EQ(25.0 - SiteEngagementScore::GetDecayPoints(), score_.Score());
+
+ // Ensure that manually setting a time works as expected.
+ score_.AddPoints(5);
+ test_clock_.SetNow(GetReferenceTime());
+ base::Time now = test_clock_.Now();
+ score_.Reset(10.0, &now);
+
+ EXPECT_DOUBLE_EQ(10.0, score_.Score());
+ EXPECT_DOUBLE_EQ(0, score_.points_added_today_);
+ EXPECT_EQ(now, score_.last_engagement_time_);
+ EXPECT_TRUE(score_.last_shortcut_launch_time_.is_null());
+
+ score_.set_last_shortcut_launch_time(test_clock_.Now());
+ test_clock_.SetNow(GetReferenceTime() + base::TimeDelta::FromDays(3));
+ now = test_clock_.Now();
+ score_.Reset(15.0, &now);
+
+ // 5 bonus from the last shortcut launch.
+ EXPECT_DOUBLE_EQ(20.0, score_.Score());
+ EXPECT_DOUBLE_EQ(0, score_.points_added_today_);
+ EXPECT_EQ(now, score_.last_engagement_time_);
+ EXPECT_EQ(now, score_.last_shortcut_launch_time_);
}
class SiteEngagementServiceTest : public ChromeRenderViewHostTestHarness {

Powered by Google App Engine
This is Rietveld 408576698