Index: components/favicon/core/favicon_handler_unittest.cc |
diff --git a/components/favicon/core/favicon_handler_unittest.cc b/components/favicon/core/favicon_handler_unittest.cc |
index 5cbe691f441020857267ecfeac8505a508e94c74..5a608b8ec5446bff4af2dfe69ff1338178c962a3 100644 |
--- a/components/favicon/core/favicon_handler_unittest.cc |
+++ b/components/favicon/core/favicon_handler_unittest.cc |
@@ -6,6 +6,7 @@ |
#include <stddef.h> |
+#include <map> |
#include <memory> |
#include <set> |
#include <vector> |
@@ -888,45 +889,32 @@ TEST_F(FaviconHandlerTest, FaviconInvalidURL) { |
} |
TEST_F(FaviconHandlerTest, TestSortFavicon) { |
+ // Names represent the bitmap sizes per icon. |
+ const GURL kIconURL1_17("http://www.google.com/a"); |
+ const GURL kIconURL1024_512("http://www.google.com/b"); |
+ const GURL kIconURL16_14("http://www.google.com/c"); |
+ const GURL kIconURLWithoutSize1("http://www.google.com/d"); |
+ const GURL kIconURLWithoutSize2("http://www.google.com/e"); |
+ |
const std::vector<favicon::FaviconURL> kSourceIconURLs{ |
- FaviconURL(GURL("http://www.google.com/a"), FAVICON, |
- {gfx::Size(1, 1), gfx::Size(17, 17)}), |
- FaviconURL(GURL("http://www.google.com/b"), FAVICON, |
+ FaviconURL(kIconURL1_17, FAVICON, {gfx::Size(1, 1), gfx::Size(17, 17)}), |
+ FaviconURL(kIconURL1024_512, FAVICON, |
{gfx::Size(1024, 1024), gfx::Size(512, 512)}), |
- FaviconURL(GURL("http://www.google.com/c"), FAVICON, |
+ FaviconURL(kIconURL16_14, FAVICON, |
{gfx::Size(16, 16), gfx::Size(14, 14)}), |
- FaviconURL(GURL("http://www.google.com/d"), FAVICON, kEmptySizes), |
- FaviconURL(GURL("http://www.google.com/e"), FAVICON, kEmptySizes)}; |
+ FaviconURL(kIconURLWithoutSize1, FAVICON, kEmptySizes), |
+ FaviconURL(kIconURLWithoutSize2, FAVICON, kEmptySizes)}; |
std::unique_ptr<FaviconHandler> handler = RunHandlerWithCandidates( |
FaviconDriverObserver::NON_TOUCH_LARGEST, kSourceIconURLs); |
- struct ExpectedResult { |
- // The favicon's index in kSourceIconURLs. |
- size_t favicon_index; |
- // Width of largest bitmap. |
- int width; |
- } results[] = { |
- // First is icon2, though its size larger than maximal. |
- {1, 1024}, |
- // Second is icon1 |
- // The 17x17 is largest. |
- {0, 17}, |
- // Third is icon3. |
- // The 16x16 is largest. |
- {2, 16}, |
- // The rest of bitmaps come in order, there is no "sizes" attribute. |
- {3, -1}, |
- {4, -1}, |
- }; |
- const std::vector<FaviconURL>& icons = handler->image_urls(); |
- ASSERT_EQ(5u, icons.size()); |
- for (size_t i = 0; i < icons.size(); ++i) { |
- EXPECT_EQ(kSourceIconURLs[results[i].favicon_index].icon_url, |
- icons[i].icon_url); |
- if (results[i].width != -1) |
- EXPECT_EQ(results[i].width, icons[i].icon_sizes[0].width()); |
- } |
+ EXPECT_THAT( |
+ handler->GetIconURLs(), |
+ ElementsAre( |
+ // The 512x512 bitmap is the best match for the desired size. |
+ kIconURL1024_512, kIconURL1_17, kIconURL16_14, |
+ // The rest of bitmaps come in order, there is no "sizes" attribute. |
+ kIconURLWithoutSize1, kIconURLWithoutSize2)); |
} |
TEST_F(FaviconHandlerTest, TestDownloadLargestFavicon) { |
@@ -979,7 +967,8 @@ TEST_F(FaviconHandlerTest, TestSelectLargestFavicon) { |
} |
TEST_F(FaviconHandlerTest, TestFaviconWasScaledAfterDownload) { |
- const int kMaximalSize = FaviconHandler::GetMaximalIconSize(FAVICON); |
+ const int kMaximalSize = FaviconHandler::GetMaximalIconSize( |
+ FaviconDriverObserver::NON_TOUCH_LARGEST); |
const GURL kIconURL1("http://www.google.com/b"); |
const GURL kIconURL2("http://www.google.com/c"); |
@@ -992,10 +981,10 @@ TEST_F(FaviconHandlerTest, TestFaviconWasScaledAfterDownload) { |
delegate_.fake_downloader().AddWithOriginalSizes( |
kIconURL2, IntVector{kMaximalSize}, IntVector{kOriginalSize2}); |
- // Verify the largest bitmap was selected although it was scaled down to |
- // maximal size and smaller than |kIconURL1| now. |
+ // Verify the best bitmap was selected (although smaller than |kIconURL2|) |
+ // and that it was scaled down to |kMaximalSize|. |
EXPECT_CALL(delegate_, |
- OnFaviconUpdated(_, _, kIconURL2, _, |
+ OnFaviconUpdated(_, _, kIconURL1, _, |
ImageSizeIs(kMaximalSize, kMaximalSize))); |
RunHandlerWithCandidates( |
@@ -1005,7 +994,7 @@ TEST_F(FaviconHandlerTest, TestFaviconWasScaledAfterDownload) { |
FaviconURL(kIconURL2, FAVICON, |
SizeVector{gfx::Size(kOriginalSize2, kOriginalSize2)})}); |
- EXPECT_THAT(delegate_.downloads(), ElementsAre(kIconURL2)); |
+ EXPECT_THAT(delegate_.downloads(), ElementsAre(kIconURL1)); |
} |
// Test that if several icons are downloaded because the icons are smaller than |