| Index: components/precache/core/precache_fetcher_unittest.cc
|
| diff --git a/components/precache/core/precache_fetcher_unittest.cc b/components/precache/core/precache_fetcher_unittest.cc
|
| index a5ed3531059f89bfa2bfe4012b648e95b4ef28ed..f42c6c39ba1a525dba24316bbbf010103281b0c9 100644
|
| --- a/components/precache/core/precache_fetcher_unittest.cc
|
| +++ b/components/precache/core/precache_fetcher_unittest.cc
|
| @@ -1421,7 +1421,32 @@ TEST_F(PrecacheFetcherTest, SendUsedDownloadedResourceHash) {
|
| }
|
| }
|
|
|
| -TEST_F(PrecacheFetcherTest, GloballyRankResources) {
|
| +TEST(PrecacheFetcherResourceWeightTest, Naive) {
|
| + ASSERT_EQ(
|
| + 0, ResourceWeight(PrecacheConfigurationSettings::FUNCTION_NAIVE, 0, 100));
|
| + ASSERT_EQ(
|
| + 4, ResourceWeight(PrecacheConfigurationSettings::FUNCTION_NAIVE, 1, 4));
|
| + ASSERT_EQ(8, ResourceWeight(PrecacheConfigurationSettings::FUNCTION_NAIVE,
|
| + 0.5, 16));
|
| +}
|
| +
|
| +TEST(PrecacheFetcherResourceWeightTest, Geometric) {
|
| + ASSERT_EQ(0, ResourceWeight(PrecacheConfigurationSettings::FUNCTION_GEOMETRIC,
|
| + 0, 100));
|
| + ASSERT_EQ(1, ResourceWeight(PrecacheConfigurationSettings::FUNCTION_GEOMETRIC,
|
| + 1, 4));
|
| + ASSERT_NEAR(0.9999847,
|
| + ResourceWeight(PrecacheConfigurationSettings::FUNCTION_GEOMETRIC,
|
| + 0.5, 16),
|
| + 0.0000001);
|
| +}
|
| +
|
| +class PrecacheFetcherGlobalRankingTest
|
| + : public PrecacheFetcherTest,
|
| + public testing::WithParamInterface<
|
| + PrecacheConfigurationSettings::ResourceWeightFunction> {};
|
| +
|
| +TEST_P(PrecacheFetcherGlobalRankingTest, GloballyRankResources) {
|
| SetDefaultFlags();
|
|
|
| const size_t kNumTopHosts = 5;
|
| @@ -1432,6 +1457,7 @@ TEST_F(PrecacheFetcherTest, GloballyRankResources) {
|
| PrecacheConfigurationSettings config;
|
| config.set_top_sites_count(kNumTopHosts);
|
| config.set_global_ranking(true);
|
| + config.set_resource_weight_function(GetParam());
|
| factory_.SetFakeResponse(GURL(kConfigURL), config.SerializeAsString(),
|
| net::HTTP_OK, net::URLRequestStatus::SUCCESS);
|
| expected_requested_urls.emplace_back(kConfigURL);
|
| @@ -1465,8 +1491,8 @@ TEST_F(PrecacheFetcherTest, GloballyRankResources) {
|
| resource->set_weight_ratio(weight);
|
| factory_.SetFakeResponse(GURL(resource_url), "good", net::HTTP_OK,
|
| net::URLRequestStatus::SUCCESS);
|
| - resources.emplace_back(resource_url,
|
| - top_host->visits() * resource->weight_ratio());
|
| + resources.emplace_back(
|
| + resource_url, ResourceWeight(GetParam(), weight, top_host->visits()));
|
| }
|
| factory_.SetFakeResponse(GURL(kManifestURLPrefix + top_host_url),
|
| manifest.SerializeAsString(), net::HTTP_OK,
|
| @@ -1494,6 +1520,12 @@ TEST_F(PrecacheFetcherTest, GloballyRankResources) {
|
| EXPECT_TRUE(precache_delegate_.was_on_done_called());
|
| }
|
|
|
| +INSTANTIATE_TEST_CASE_P(
|
| + PrecacheFetcherGlobalRankingTest,
|
| + PrecacheFetcherGlobalRankingTest,
|
| + testing::Values(PrecacheConfigurationSettings::FUNCTION_NAIVE,
|
| + PrecacheConfigurationSettings::FUNCTION_GEOMETRIC));
|
| +
|
| TEST_F(PrecacheFetcherTest, GloballyRankResourcesAfterPauseResume) {
|
| SetDefaultFlags();
|
|
|
|
|