| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "components/favicon_base/select_favicon_frames.h" | 5 #include "components/favicon_base/select_favicon_frames.h" |
| 6 | 6 |
| 7 #include "testing/gtest/include/gtest/gtest.h" | 7 #include "testing/gtest/include/gtest/gtest.h" |
| 8 #include "third_party/skia/include/core/SkBitmap.h" | 8 #include "third_party/skia/include/core/SkBitmap.h" |
| 9 #include "third_party/skia/include/core/SkColor.h" | 9 #include "third_party/skia/include/core/SkColor.h" |
| 10 #include "ui/base/layout.h" | 10 #include "ui/base/layout.h" |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 190 EXPECT_EQ(1.5f, rep.scale()); | 190 EXPECT_EQ(1.5f, rep.scale()); |
| 191 EXPECT_EQ(16, rep.GetWidth()); | 191 EXPECT_EQ(16, rep.GetWidth()); |
| 192 EXPECT_EQ(16, rep.GetHeight()); | 192 EXPECT_EQ(16, rep.GetHeight()); |
| 193 EXPECT_EQ(24, rep.pixel_width()); | 193 EXPECT_EQ(24, rep.pixel_width()); |
| 194 EXPECT_EQ(24, rep.pixel_height()); | 194 EXPECT_EQ(24, rep.pixel_height()); |
| 195 EXPECT_EQ(3u, image.image_reps().size()); | 195 EXPECT_EQ(3u, image.image_reps().size()); |
| 196 #endif | 196 #endif |
| 197 } | 197 } |
| 198 | 198 |
| 199 TEST(SelectFaviconFramesTest, ExactMatchBetterThanLargeBitmap) { | 199 TEST(SelectFaviconFramesTest, ExactMatchBetterThanLargeBitmap) { |
| 200 SCOPED_FAVICON_SCALE_FACTOR_1XAND2X; |
| 201 |
| 200 float score1; | 202 float score1; |
| 201 vector<SkBitmap> bitmaps1; | 203 vector<SkBitmap> bitmaps1; |
| 202 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 48, 48)); | 204 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 48, 48)); |
| 203 CreateFaviconImageSkia( | 205 CreateFaviconImageSkia( |
| 204 bitmaps1, | 206 bitmaps1, |
| 205 SizesFromBitmaps(bitmaps1), 16, &score1); | 207 SizesFromBitmaps(bitmaps1), 16, &score1); |
| 206 | 208 |
| 207 float score2; | 209 float score2; |
| 208 vector<SkBitmap> bitmaps2; | 210 vector<SkBitmap> bitmaps2; |
| 209 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); | 211 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); |
| 210 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 32, 32)); | 212 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 32, 32)); |
| 211 CreateFaviconImageSkia(bitmaps2, | 213 CreateFaviconImageSkia(bitmaps2, |
| 212 SizesFromBitmaps(bitmaps2), 16, &score2); | 214 SizesFromBitmaps(bitmaps2), 16, &score2); |
| 213 | 215 |
| 214 EXPECT_GT(score2, score1); | 216 EXPECT_GT(score2, score1); |
| 215 } | 217 } |
| 216 | 218 |
| 217 TEST(SelectFaviconFramesTest, UpsampleABitBetterThanHugeBitmap) { | 219 TEST(SelectFaviconFramesTest, UpsampleABitBetterThanHugeBitmap) { |
| 220 SCOPED_FAVICON_SCALE_FACTOR_1XAND2X; |
| 221 |
| 218 float score1; | 222 float score1; |
| 219 vector<SkBitmap> bitmaps1; | 223 vector<SkBitmap> bitmaps1; |
| 220 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 128, 128)); | 224 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 128, 128)); |
| 221 CreateFaviconImageSkia(bitmaps1, | 225 CreateFaviconImageSkia(bitmaps1, |
| 222 SizesFromBitmaps(bitmaps1), 16, &score1); | 226 SizesFromBitmaps(bitmaps1), 16, &score1); |
| 223 | 227 |
| 224 float score2; | 228 float score2; |
| 225 vector<SkBitmap> bitmaps2; | 229 vector<SkBitmap> bitmaps2; |
| 226 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 24, 24)); | 230 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 24, 24)); |
| 227 CreateFaviconImageSkia(bitmaps2, | 231 CreateFaviconImageSkia(bitmaps2, |
| (...skipping 10 matching lines...) Expand all Loading... |
| 238 bitmaps4.push_back(MakeBitmap(SK_ColorGREEN, 15, 15)); | 242 bitmaps4.push_back(MakeBitmap(SK_ColorGREEN, 15, 15)); |
| 239 CreateFaviconImageSkia(bitmaps4, | 243 CreateFaviconImageSkia(bitmaps4, |
| 240 SizesFromBitmaps(bitmaps4), 16, &score4); | 244 SizesFromBitmaps(bitmaps4), 16, &score4); |
| 241 | 245 |
| 242 EXPECT_GT(score2, score1); | 246 EXPECT_GT(score2, score1); |
| 243 EXPECT_GT(score3, score1); | 247 EXPECT_GT(score3, score1); |
| 244 EXPECT_GT(score4, score1); | 248 EXPECT_GT(score4, score1); |
| 245 } | 249 } |
| 246 | 250 |
| 247 TEST(SelectFaviconFramesTest, DownsamplingBetterThanUpsampling) { | 251 TEST(SelectFaviconFramesTest, DownsamplingBetterThanUpsampling) { |
| 252 SCOPED_FAVICON_SCALE_FACTOR_1XAND2X; |
| 253 |
| 248 float score1; | 254 float score1; |
| 249 vector<SkBitmap> bitmaps1; | 255 vector<SkBitmap> bitmaps1; |
| 250 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 8, 8)); | 256 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 8, 8)); |
| 251 CreateFaviconImageSkia(bitmaps1, | 257 CreateFaviconImageSkia(bitmaps1, |
| 252 SizesFromBitmaps(bitmaps1), 16, &score1); | 258 SizesFromBitmaps(bitmaps1), 16, &score1); |
| 253 | 259 |
| 254 float score2; | 260 float score2; |
| 255 vector<SkBitmap> bitmaps2; | 261 vector<SkBitmap> bitmaps2; |
| 256 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 24, 24)); | 262 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 24, 24)); |
| 257 CreateFaviconImageSkia(bitmaps2, | 263 CreateFaviconImageSkia(bitmaps2, |
| 258 SizesFromBitmaps(bitmaps2), 16, &score2); | 264 SizesFromBitmaps(bitmaps2), 16, &score2); |
| 259 | 265 |
| 260 EXPECT_GT(score2, score1); | 266 EXPECT_GT(score2, score1); |
| 261 } | 267 } |
| 262 | 268 |
| 263 TEST(SelectFaviconFramesTest, DownsamplingLessIsBetter) { | 269 TEST(SelectFaviconFramesTest, DownsamplingLessIsBetter) { |
| 270 SCOPED_FAVICON_SCALE_FACTOR_1XAND2X; |
| 271 |
| 264 float score1; | 272 float score1; |
| 265 vector<SkBitmap> bitmaps1; | 273 vector<SkBitmap> bitmaps1; |
| 266 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 34, 34)); | 274 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 34, 34)); |
| 267 CreateFaviconImageSkia(bitmaps1, | 275 CreateFaviconImageSkia(bitmaps1, |
| 268 SizesFromBitmaps(bitmaps1), 16, &score1); | 276 SizesFromBitmaps(bitmaps1), 16, &score1); |
| 269 | 277 |
| 270 float score2; | 278 float score2; |
| 271 vector<SkBitmap> bitmaps2; | 279 vector<SkBitmap> bitmaps2; |
| 272 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 33, 33)); | 280 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 33, 33)); |
| 273 CreateFaviconImageSkia(bitmaps2, | 281 CreateFaviconImageSkia(bitmaps2, |
| 274 SizesFromBitmaps(bitmaps2), 16, &score2); | 282 SizesFromBitmaps(bitmaps2), 16, &score2); |
| 275 | 283 |
| 276 EXPECT_GT(score2, score1); | 284 EXPECT_GT(score2, score1); |
| 277 } | 285 } |
| 278 | 286 |
| 279 TEST(SelectFaviconFramesTest, UpsamplingLessIsBetter) { | 287 TEST(SelectFaviconFramesTest, UpsamplingLessIsBetter) { |
| 288 SCOPED_FAVICON_SCALE_FACTOR_1XAND2X; |
| 289 |
| 280 float score1; | 290 float score1; |
| 281 vector<SkBitmap> bitmaps1; | 291 vector<SkBitmap> bitmaps1; |
| 282 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 8, 8)); | 292 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 8, 8)); |
| 283 CreateFaviconImageSkia(bitmaps1, | 293 CreateFaviconImageSkia(bitmaps1, |
| 284 SizesFromBitmaps(bitmaps1), 16, &score1); | 294 SizesFromBitmaps(bitmaps1), 16, &score1); |
| 285 | 295 |
| 286 float score2; | 296 float score2; |
| 287 vector<SkBitmap> bitmaps2; | 297 vector<SkBitmap> bitmaps2; |
| 288 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 9, 9)); | 298 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 9, 9)); |
| 289 CreateFaviconImageSkia(bitmaps2, | 299 CreateFaviconImageSkia(bitmaps2, |
| 290 SizesFromBitmaps(bitmaps2), 16, &score2); | 300 SizesFromBitmaps(bitmaps2), 16, &score2); |
| 291 | 301 |
| 292 EXPECT_GT(score2, score1); | 302 EXPECT_GT(score2, score1); |
| 293 } | 303 } |
| 294 | 304 |
| 295 // Test that the score is determined by the |original_sizes| parameter, not the | 305 // Test that the score is determined by the |original_sizes| parameter, not the |
| 296 // |bitmaps| parameter to SelectFaviconFrames(). | 306 // |bitmaps| parameter to SelectFaviconFrames(). |
| 297 TEST(SelectFaviconFramesTest, ScoreDeterminedByOriginalSizes) { | 307 TEST(SelectFaviconFramesTest, ScoreDeterminedByOriginalSizes) { |
| 308 SCOPED_FAVICON_SCALE_FACTOR_1XAND2X; |
| 309 |
| 298 vector<SkBitmap> bitmaps1; | 310 vector<SkBitmap> bitmaps1; |
| 299 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); | 311 bitmaps1.push_back(MakeBitmap(SK_ColorGREEN, 16, 16)); |
| 300 vector<gfx::Size> sizes1; | 312 vector<gfx::Size> sizes1; |
| 301 sizes1.push_back(gfx::Size(256, 256)); | 313 sizes1.push_back(gfx::Size(256, 256)); |
| 302 float score1; | 314 float score1; |
| 303 CreateFaviconImageSkia(bitmaps1, sizes1, 16, &score1); | 315 CreateFaviconImageSkia(bitmaps1, sizes1, 16, &score1); |
| 304 | 316 |
| 305 vector<SkBitmap> bitmaps2; | 317 vector<SkBitmap> bitmaps2; |
| 306 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 15, 15)); | 318 bitmaps2.push_back(MakeBitmap(SK_ColorGREEN, 15, 15)); |
| 307 vector<gfx::Size> sizes2; | 319 vector<gfx::Size> sizes2; |
| 308 sizes2.push_back(gfx::Size(15, 15)); | 320 sizes2.push_back(gfx::Size(15, 15)); |
| 309 float score2; | 321 float score2; |
| 310 CreateFaviconImageSkia(bitmaps2, sizes2, 16, &score2); | 322 CreateFaviconImageSkia(bitmaps2, sizes2, 16, &score2); |
| 311 | 323 |
| 312 EXPECT_GT(score2, score1); | 324 EXPECT_GT(score2, score1); |
| 313 } | 325 } |
| 314 | 326 |
| 315 } // namespace | 327 } // namespace |
| OLD | NEW |