Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Side by Side Diff: chrome/browser/manifest/manifest_icon_downloader_unittest.cc

Issue 1261143004: Implement manifest icon downloader (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments on review Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "chrome/browser/manifest/manifest_icon_downloader.h"
6
7 #include <string>
8 #include <vector>
9
10 #include "testing/gtest/include/gtest/gtest.h"
11
12 class ManifestIconDownloaderTest : public testing::Test {
13 protected:
14 ManifestIconDownloaderTest() = default;
15 ~ManifestIconDownloaderTest() override = default;
16
17 int FindBitmap(const int ideal_icon_size_in_px,
18 const std::vector<SkBitmap>& bitmaps) {
19 return ManifestIconDownloader::FindClosestBitmapIndex(
20 ideal_icon_size_in_px, bitmaps);
21 }
22
23 SkBitmap CreateDummyBitmap(int width, int height) {
24 SkBitmap bitmap;
25 bitmap.allocN32Pixels(width, height);
26 bitmap.setImmutable();
27 return bitmap;
28 }
29
30 DISALLOW_COPY_AND_ASSIGN(ManifestIconDownloaderTest);
31 };
32
33 TEST_F(ManifestIconDownloaderTest, NoIcons) {
34 ASSERT_EQ(-1, FindBitmap(0, std::vector<SkBitmap>()));
35 }
36
37 TEST_F(ManifestIconDownloaderTest, ExactIsChosen) {
38 std::vector<SkBitmap> vector { CreateDummyBitmap(10, 10) };
39 ASSERT_EQ(0, FindBitmap(10, vector));
40 }
41
42 TEST_F(ManifestIconDownloaderTest, BiggerIsChosen) {
43 std::vector<SkBitmap> vector { CreateDummyBitmap(20, 20) };
44 ASSERT_EQ(0, FindBitmap(10, vector));
45 }
46
47 TEST_F(ManifestIconDownloaderTest, SmallerIsIgnored) {
48 std::vector<SkBitmap> vector { CreateDummyBitmap(10, 10) };
49 ASSERT_EQ(-1, FindBitmap(20, vector));
50 }
51
52 TEST_F(ManifestIconDownloaderTest, ExactIsPreferredOverBigger) {
53 std::vector<SkBitmap> vector {
54 CreateDummyBitmap(20, 20), CreateDummyBitmap(10, 10)
55 };
56 ASSERT_EQ(1, FindBitmap(10, vector));
57 }
58
59 TEST_F(ManifestIconDownloaderTest, ExactIsPreferredOverSmaller) {
60 std::vector<SkBitmap> vector {
61 CreateDummyBitmap(10, 10), CreateDummyBitmap(20, 20)
62 };
63 ASSERT_EQ(1, FindBitmap(20, vector));
64 }
65
66 TEST_F(ManifestIconDownloaderTest, ClosestToExactIsChosen) {
67 std::vector<SkBitmap> vector {
68 CreateDummyBitmap(20, 20), CreateDummyBitmap(25, 25)
69 };
70 ASSERT_EQ(0, FindBitmap(10, vector));
71 }
72
73 TEST_F(ManifestIconDownloaderTest, ClosestToExactIsChosenUnordered) {
74 std::vector<SkBitmap> vector {
75 CreateDummyBitmap(25, 25), CreateDummyBitmap(20, 20)
76 };
77 ASSERT_EQ(1, FindBitmap(10, vector));
78 }
79
80 TEST_F(ManifestIconDownloaderTest, MixedReturnsClosestAndBiggest) {
81 std::vector<SkBitmap> vector {
82 CreateDummyBitmap(10, 10), CreateDummyBitmap(8, 8), CreateDummyBitmap(6, 6)
83 };
84 ASSERT_EQ(0, FindBitmap(9, vector));
85 }
86
87 TEST_F(ManifestIconDownloaderTest, MixedCanReturnMiddle) {
88 std::vector<SkBitmap> vector {
89 CreateDummyBitmap(10, 10), CreateDummyBitmap(8, 8), CreateDummyBitmap(6, 6)
90 };
91 ASSERT_EQ(1, FindBitmap(7, vector));
92 }
93
94 TEST_F(ManifestIconDownloaderTest, NonSquareHeightIsIgnored) {
95 std::vector<SkBitmap> vector { CreateDummyBitmap(15, 10) };
96 ASSERT_EQ(-1, FindBitmap(10, vector));
97 }
98
99 TEST_F(ManifestIconDownloaderTest, NonSquareWidthIsIgnored) {
100 std::vector<SkBitmap> vector { CreateDummyBitmap(15, 10) };
101 ASSERT_EQ(-1, FindBitmap(15, vector));
102 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698