Index: components/precache/core/precache_database_unittest.cc |
diff --git a/components/precache/core/precache_database_unittest.cc b/components/precache/core/precache_database_unittest.cc |
index 3f9253c744af757c3272e89fc7f0eceeb8b34204..e03a7c4836196b964021f7ffa69cb1166fa645a2 100644 |
--- a/components/precache/core/precache_database_unittest.cc |
+++ b/components/precache/core/precache_database_unittest.cc |
@@ -381,6 +381,34 @@ TEST_F(PrecacheDatabaseTest, SampleInteraction) { |
ElementsAre(Bucket(kSize1, 1))); |
} |
+TEST_F(PrecacheDatabaseTest, LastPrecacheTimestamp) { |
+ // So that it starts recording TimeSinceLastPrecache. |
+ const base::Time kStartTime = |
+ base::Time() + base::TimeDelta::FromSeconds(100); |
+ precache_database_->SetLastPrecacheTimestamp(kStartTime); |
+ |
+ RecordPrecacheFromNetwork(kURL, kLatency, kStartTime, kSize); |
+ RecordPrecacheFromNetwork(kURL, kLatency, kStartTime, kSize); |
+ RecordPrecacheFromNetwork(kURL, kLatency, kStartTime, kSize); |
+ RecordPrecacheFromNetwork(kURL, kLatency, kStartTime, kSize); |
+ |
+ EXPECT_THAT(histograms_.GetAllSamples("Precache.TimeSinceLastPrecache"), |
+ ElementsAre()); |
+ |
+ const base::Time kTimeA = kStartTime + base::TimeDelta::FromSeconds(7); |
+ const base::Time kTimeB = kStartTime + base::TimeDelta::FromSeconds(11); |
+ |
+ RecordFetchFromCacheCellular(kURL, kTimeA, kSize); |
+ RecordFetchFromCacheCellular(kURL, kTimeA, kSize); |
+ RecordFetchFromNetworkCellular(kURL, kLatency, kTimeB, kSize); |
+ RecordFetchFromNetworkCellular(kURL, kLatency, kTimeB, kSize); |
+ RecordFetchFromCacheCellular(kURL, kTimeB, kSize); |
+ |
+ EXPECT_THAT(histograms_.GetAllSamples("Precache.TimeSinceLastPrecache"), |
+ // Buckets are in milliseconds. |
+ ElementsAre(Bucket(5961, 2), Bucket(10000, 3))); |
+} |
+ |
} // namespace |
} // namespace precache |