diff options
Diffstat (limited to 'ui/gfx/image/image_unittest.cc')
-rw-r--r-- | ui/gfx/image/image_unittest.cc | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/ui/gfx/image/image_unittest.cc b/ui/gfx/image/image_unittest.cc index 7b50be8..8793562 100644 --- a/ui/gfx/image/image_unittest.cc +++ b/ui/gfx/image/image_unittest.cc @@ -251,39 +251,41 @@ TEST_F(ImageTest, Assign) { EXPECT_EQ(image1.ToSkBitmap(), image2.ToSkBitmap()); } -TEST_F(ImageTest, MultiResolutionImage) { - const int width1x = 10; - const int height1x = 12; - const int width2x = 20; - const int height2x = 24; - - scoped_ptr<SkBitmap> bitmap1(gt::CreateBitmap(width1x, height1x)); - scoped_ptr<SkBitmap> bitmap2(gt::CreateBitmap(width2x, height2x)); - - gfx::ImageSkia image_skia; - image_skia.AddBitmapForScale(*bitmap1, 1.0f); - image_skia.AddBitmapForScale(*bitmap2, 2.0f); - - EXPECT_EQ(2u, image_skia.bitmaps().size()); - - float scale_factor; - const SkBitmap& bitmap1x = image_skia.GetBitmapForScale(1.0f, 1.0f, - &scale_factor); - EXPECT_TRUE(!bitmap1x.isNull()); - EXPECT_EQ(1.0f, scale_factor); - EXPECT_EQ(width1x, bitmap1x.width()); - EXPECT_EQ(height1x, bitmap1x.height()); - - const SkBitmap& bitmap2x = image_skia.GetBitmapForScale(2.0f, 2.0f, - &scale_factor); - EXPECT_TRUE(!bitmap2x.isNull()); - EXPECT_EQ(2.0f, scale_factor); - EXPECT_EQ(width2x, bitmap2x.width()); - EXPECT_EQ(height2x, bitmap2x.height()); - - // Check that the image has a single representation. - gfx::Image image(image_skia); +TEST_F(ImageTest, MultiResolutionSkBitmap) { + const int width1 = 10; + const int height1 = 12; + const int width2 = 20; + const int height2 = 24; + + std::vector<const SkBitmap*> bitmaps; + bitmaps.push_back(gt::CreateBitmap(width1, height1)); + bitmaps.push_back(gt::CreateBitmap(width2, height2)); + gfx::Image image(bitmaps); + + EXPECT_EQ(1u, image.RepresentationCount()); + const std::vector<const SkBitmap*>& image_bitmaps = + image.ToImageSkia()->bitmaps(); + EXPECT_EQ(2u, image_bitmaps.size()); + + const SkBitmap* bitmap1 = image_bitmaps[0]; + EXPECT_TRUE(bitmap1); + const SkBitmap* bitmap2 = image_bitmaps[1]; + EXPECT_TRUE(bitmap2); + + if (bitmap1->width() == width1) { + EXPECT_EQ(bitmap1->height(), height1); + EXPECT_EQ(bitmap2->width(), width2); + EXPECT_EQ(bitmap2->height(), height2); + } else { + EXPECT_EQ(bitmap1->width(), width2); + EXPECT_EQ(bitmap1->height(), height2); + EXPECT_EQ(bitmap2->width(), width1); + EXPECT_EQ(bitmap2->height(), height1); + } + + // Sanity check. EXPECT_EQ(1u, image.RepresentationCount()); + EXPECT_EQ(2u, image.ToImageSkia()->bitmaps().size()); } // Integration tests with UI toolkit frameworks require linking against the |