| Index: components/offline_pages/offline_page_model_impl_unittest.cc
|
| diff --git a/components/offline_pages/offline_page_model_impl_unittest.cc b/components/offline_pages/offline_page_model_impl_unittest.cc
|
| index 722e7743eebe05925f06052134bd888c459f560b..25e64335c0e96a6b70ce2c860f6b9895653ee26e 100644
|
| --- a/components/offline_pages/offline_page_model_impl_unittest.cc
|
| +++ b/components/offline_pages/offline_page_model_impl_unittest.cc
|
| @@ -13,6 +13,7 @@
|
| #include "base/feature_list.h"
|
| #include "base/files/file_util.h"
|
| #include "base/files/scoped_temp_dir.h"
|
| +#include "base/metrics/statistics_recorder.h"
|
| #include "base/run_loop.h"
|
| #include "base/single_thread_task_runner.h"
|
| #include "base/strings/string_number_conversions.h"
|
| @@ -1040,6 +1041,48 @@ TEST_F(OfflinePageModelImplTest, SaveMultiplePagesWithSameURLBySameClientId) {
|
| EXPECT_TRUE(id_set.find(offline2) != id_set.end());
|
| }
|
|
|
| +TEST_F(OfflinePageModelImplTest, DownloadMetrics) {
|
| + EXPECT_FALSE(HasPages(kUserRequestedNamespace));
|
| + SavePage(kTestUrl, kTestUserRequestedClientId);
|
| + histograms().ExpectUniqueSample(
|
| + "OfflinePages.DownloadSavedPageDuplicateCount", 1, 1);
|
| + FastForwardBy(base::TimeDelta::FromMinutes(1));
|
| + histograms().ExpectTotalCount(
|
| + "OfflinePages.DownloadSavedPageTimeSinceDuplicateSaved", 0);
|
| + SavePage(kTestUrl, kTestUserRequestedClientId);
|
| + histograms().ExpectTotalCount("OfflinePages.DownloadSavedPageDuplicateCount",
|
| + 2);
|
| + histograms().ExpectBucketCount("OfflinePages.DownloadSavedPageDuplicateCount",
|
| + 2, 1);
|
| + histograms().ExpectBucketCount("OfflinePages.DownloadSavedPageDuplicateCount",
|
| + 1, 1);
|
| + histograms().ExpectTotalCount(
|
| + "OfflinePages.DownloadSavedPageTimeSinceDuplicateSaved", 1);
|
| + histograms().ExpectTotalCount(
|
| + "OfflinePages.DownloadDeletedPageDuplicateCount", 0);
|
| +
|
| + // void DeletePage(int64_t offline_id, const DeletePageCallback& callback) {
|
| + const std::vector<int64_t> ids =
|
| + GetOfflineIdsForClientId(kTestUserRequestedClientId);
|
| + ASSERT_EQ(2U, ids.size());
|
| +
|
| + DeletePage(ids[0], base::Bind(&OfflinePageModelImplTest::OnDeletePageDone,
|
| + AsWeakPtr()));
|
| + PumpLoop();
|
| + histograms().ExpectUniqueSample(
|
| + "OfflinePages.DownloadDeletedPageDuplicateCount", 2, 1);
|
| + DeletePage(ids[1], base::Bind(&OfflinePageModelImplTest::OnDeletePageDone,
|
| + AsWeakPtr()));
|
| + PumpLoop();
|
| + // No change when we delete the last page.
|
| + histograms().ExpectTotalCount(
|
| + "OfflinePages.DownloadDeletedPageDuplicateCount", 2);
|
| + histograms().ExpectBucketCount(
|
| + "OfflinePages.DownloadDeletedPageDuplicateCount", 1, 1);
|
| + histograms().ExpectBucketCount(
|
| + "OfflinePages.DownloadDeletedPageDuplicateCount", 2, 1);
|
| +}
|
| +
|
| TEST_F(OfflinePageModelImplTest, GetBestPage) {
|
| // We will save 3 pages - two for the same URL, and one for a different URL.
|
| // Correct behavior will pick the most recently saved page for the correct
|
|
|