| Index: chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
|
| diff --git a/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc b/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
|
| index c969bdea82ca3b0a9bb3bcfb7a65177696bf64a9..f037497399b2d003a44b98e73e08b157cd367175 100644
|
| --- a/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
|
| +++ b/chrome/browser/predictors/resource_prefetch_predictor_tables_unittest.cc
|
| @@ -575,33 +575,47 @@ void ResourcePrefetchPredictorTablesTest::ReopenDatabase() {
|
| // Test cases.
|
|
|
| TEST_F(ResourcePrefetchPredictorTablesTest, ComputeResourceScore) {
|
| - ResourceData js_resource = CreateResourceData(
|
| - "http://www.resources.google.com/script.js",
|
| - content::RESOURCE_TYPE_SCRIPT, 11, 0, 0, 1., net::MEDIUM, false, false);
|
| - ResourceData image_resource = CreateResourceData(
|
| - "http://www.resources.google.com/image.jpg", content::RESOURCE_TYPE_IMAGE,
|
| - 11, 0, 0, 1., net::MEDIUM, false, false);
|
| - ResourceData css_resource =
|
| - CreateResourceData("http://www.resources.google.com/stylesheet.css",
|
| - content::RESOURCE_TYPE_STYLESHEET, 11, 0, 0, 1.,
|
| - net::MEDIUM, false, false);
|
| - ResourceData font_resource =
|
| - CreateResourceData("http://www.resources.google.com/font.woff",
|
| - content::RESOURCE_TYPE_FONT_RESOURCE, 11, 0, 0, 1.,
|
| - net::MEDIUM, false, false);
|
| - float js_resource_score =
|
| - ResourcePrefetchPredictorTables::ComputeResourceScore(js_resource);
|
| - float css_resource_score =
|
| - ResourcePrefetchPredictorTables::ComputeResourceScore(css_resource);
|
| - float font_resource_score =
|
| - ResourcePrefetchPredictorTables::ComputeResourceScore(font_resource);
|
| - float image_resource_score =
|
| - ResourcePrefetchPredictorTables::ComputeResourceScore(image_resource);
|
| -
|
| - EXPECT_TRUE(js_resource_score == css_resource_score);
|
| - EXPECT_TRUE(js_resource_score == font_resource_score);
|
| - EXPECT_NEAR(199., js_resource_score, 1e-4);
|
| - EXPECT_NEAR(99., image_resource_score, 1e-4);
|
| + auto compute_score = [](net::RequestPriority priority,
|
| + content::ResourceType resource_type,
|
| + double average_position) {
|
| + return ResourcePrefetchPredictorTables::ComputeResourceScore(
|
| + CreateResourceData("", resource_type, 0, 0, 0, average_position,
|
| + priority, false, false));
|
| + };
|
| +
|
| + // Priority is more important than the rest.
|
| + EXPECT_TRUE(compute_score(net::HIGHEST, content::RESOURCE_TYPE_SCRIPT, 1.) >
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_IMAGE, 42.));
|
| +
|
| + EXPECT_TRUE(compute_score(net::HIGHEST, content::RESOURCE_TYPE_IMAGE, 42.) >
|
| + compute_score(net::MEDIUM, content::RESOURCE_TYPE_SCRIPT, 1.));
|
| + EXPECT_TRUE(compute_score(net::HIGHEST, content::RESOURCE_TYPE_IMAGE, 42.) >
|
| + compute_score(net::LOW, content::RESOURCE_TYPE_SCRIPT, 1.));
|
| + EXPECT_TRUE(compute_score(net::HIGHEST, content::RESOURCE_TYPE_IMAGE, 42.) >
|
| + compute_score(net::LOWEST, content::RESOURCE_TYPE_SCRIPT, 1.));
|
| + EXPECT_TRUE(compute_score(net::HIGHEST, content::RESOURCE_TYPE_IMAGE, 42.) >
|
| + compute_score(net::IDLE, content::RESOURCE_TYPE_SCRIPT, 1.));
|
| +
|
| + // Scripts and stylesheets are equivalent.
|
| + EXPECT_NEAR(
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_SCRIPT, 42.),
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_STYLESHEET, 42.),
|
| + 1e-4);
|
| +
|
| + // Scripts are more important than fonts and images, and the rest.
|
| + EXPECT_TRUE(
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_SCRIPT, 42.) >
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_FONT_RESOURCE, 42.));
|
| + EXPECT_TRUE(
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_FONT_RESOURCE, 42.) >
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_IMAGE, 42.));
|
| + EXPECT_TRUE(
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_FONT_RESOURCE, 42.) >
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_FAVICON, 42.));
|
| +
|
| + // All else being equal, position matters.
|
| + EXPECT_TRUE(compute_score(net::HIGHEST, content::RESOURCE_TYPE_SCRIPT, 12.) >
|
| + compute_score(net::HIGHEST, content::RESOURCE_TYPE_SCRIPT, 42.));
|
| }
|
|
|
| TEST_F(ResourcePrefetchPredictorTablesTest, GetAllData) {
|
|
|