summaryrefslogtreecommitdiffstats
path: root/skia/ext/skia_utils_mac_unittest.mm
diff options
context:
space:
mode:
authorsail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-25 13:10:33 +0000
committersail@chromium.org <sail@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-25 13:10:33 +0000
commit954ec2e600852fff44837e593b2b3f80209597e2 (patch)
tree6f6b3776d6f29fb00c892a1f39c339447c23d56b /skia/ext/skia_utils_mac_unittest.mm
parent61b86fbd9ea4e2bb6c125dcf995526031bde6eda (diff)
downloadchromium_src-954ec2e600852fff44837e593b2b3f80209597e2.zip
chromium_src-954ec2e600852fff44837e593b2b3f80209597e2.tar.gz
chromium_src-954ec2e600852fff44837e593b2b3f80209597e2.tar.bz2
Revert 82838 - Temporary change to test perf regression (full)This change tests which part of this review:http://codereview.chromium.org/6897013/is causing a performance regression. This change will be reverted later tonight.
TBR=sail@chromium.org Review URL: http://codereview.chromium.org/6895050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@82856 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia/ext/skia_utils_mac_unittest.mm')
-rw-r--r--skia/ext/skia_utils_mac_unittest.mm142
1 files changed, 23 insertions, 119 deletions
diff --git a/skia/ext/skia_utils_mac_unittest.mm b/skia/ext/skia_utils_mac_unittest.mm
index 7d07fb6..7401f11 100644
--- a/skia/ext/skia_utils_mac_unittest.mm
+++ b/skia/ext/skia_utils_mac_unittest.mm
@@ -9,60 +9,39 @@ namespace {
class SkiaUtilsMacTest : public testing::Test {
public:
- // Creates a red or blue bitmap.
- SkBitmap CreateSkBitmap(int width, int height, bool isred, bool tfbit);
-
- // Creates a red or blue image.
- NSImage* CreateNSImage(int width, int height, bool isred);
-
- // Checks that the given bitmap rep is actually red or blue.
- void TestImageRep(NSBitmapImageRep* imageRep, bool isred);
-
- // Checks that the given bitmap is actually red or blue.
- void TestSkBitmap(const SkBitmap& bitmap, bool isred);
-
// If not red, is blue.
// If not tfbit (twenty-four-bit), is 444.
void ShapeHelper(int width, int height, bool isred, bool tfbit);
};
-SkBitmap SkiaUtilsMacTest::CreateSkBitmap(int width, int height,
- bool isred, bool tfbit) {
- SkBitmap bitmap;
+void SkiaUtilsMacTest::ShapeHelper(int width, int height,
+ bool isred, bool tfbit) {
+ SkBitmap thing;
if (tfbit)
- bitmap.setConfig(SkBitmap::kARGB_8888_Config, width, height);
+ thing.setConfig(SkBitmap::kARGB_8888_Config, width, height);
else
- bitmap.setConfig(SkBitmap::kARGB_4444_Config, width, height);
- bitmap.allocPixels();
+ thing.setConfig(SkBitmap::kARGB_4444_Config, width, height);
+ thing.allocPixels();
if (isred)
- bitmap.eraseRGB(0xff, 0, 0);
+ thing.eraseRGB(0xff, 0, 0);
else
- bitmap.eraseRGB(0, 0, 0xff);
+ thing.eraseRGB(0, 0, 0xff);
- return bitmap;
-}
+ // Confirm size
+ NSImage* image = gfx::SkBitmapToNSImage(thing);
+ EXPECT_DOUBLE_EQ([image size].width, (double)width);
+ EXPECT_DOUBLE_EQ([image size].height, (double)height);
-NSImage* SkiaUtilsMacTest::CreateNSImage(int width, int height, bool isred) {
- NSImage* image = [[[NSImage alloc] initWithSize:NSMakeSize(width, height)]
- autorelease];
+ // Get the color of a pixel and make sure it looks fine
[image lockFocus];
- if (isred)
- [[NSColor colorWithDeviceRed:1.0 green:0.0 blue:0.0 alpha:1.0] set];
- else
- [[NSColor colorWithDeviceRed:0.0 green:0.0 blue:1.0 alpha:1.0] set];
- NSRectFill(NSMakeRect(0, 0, width, height));
- [image unlockFocus];
- return image;
-}
-void SkiaUtilsMacTest::TestImageRep(NSBitmapImageRep* imageRep, bool isred) {
- // Get the color of a pixel and make sure it looks fine
- int x = [imageRep size].width > 17 ? 17 : 0;
- int y = [imageRep size].height > 17 ? 17 : 0;
- NSColor* color = [imageRep colorAtX:x y:y];
+ int x = width > 17 ? 17 : 0;
+ int y = height > 17 ? 17 : 0;
+ NSColor* color = NSReadPixel(NSMakePoint(x, y));
CGFloat red = 0, green = 0, blue = 0, alpha = 0;
+ [image unlockFocus];
// SkBitmapToNSImage returns a bitmap in the calibrated color space (sRGB),
// while NSReadPixel returns a color in the device color space. Convert back
@@ -73,45 +52,14 @@ void SkiaUtilsMacTest::TestImageRep(NSBitmapImageRep* imageRep, bool isred) {
// Be tolerant of floating point rounding and lossy color space conversions.
if (isred) {
- EXPECT_NEAR(red, 1.0, 0.025);
- EXPECT_NEAR(blue, 0.0, 0.025);
- } else {
- EXPECT_NEAR(red, 0.0, 0.025);
- EXPECT_NEAR(blue, 1.0, 0.025);
- }
- EXPECT_NEAR(green, 0.0, 0.025);
- EXPECT_NEAR(alpha, 1.0, 0.025);
-}
-
-void SkiaUtilsMacTest::TestSkBitmap(const SkBitmap& bitmap, bool isred) {
- int x = bitmap.width() > 17 ? 17 : 0;
- int y = bitmap.height() > 17 ? 17 : 0;
- SkColor color = bitmap.getColor(x, y);
-
- if (isred) {
- EXPECT_EQ(255u, SkColorGetR(color));
- EXPECT_EQ(0u, SkColorGetB(color));
+ EXPECT_GT(red, 0.95);
+ EXPECT_LT(blue, 0.05);
} else {
- EXPECT_EQ(0u, SkColorGetR(color));
- EXPECT_EQ(255u, SkColorGetB(color));
+ EXPECT_LT(red, 0.05);
+ EXPECT_GT(blue, 0.95);
}
- EXPECT_EQ(0u, SkColorGetG(color));
- EXPECT_EQ(255u, SkColorGetA(color));
-}
-
-void SkiaUtilsMacTest::ShapeHelper(int width, int height,
- bool isred, bool tfbit) {
- SkBitmap thing(CreateSkBitmap(width, height, isred, tfbit));
-
- // Confirm size
- NSImage* image = gfx::SkBitmapToNSImage(thing);
- EXPECT_DOUBLE_EQ([image size].width, (double)width);
- EXPECT_DOUBLE_EQ([image size].height, (double)height);
-
- EXPECT_TRUE([[image representations] count] == 1);
- EXPECT_TRUE([[[image representations] lastObject]
- isKindOfClass:[NSBitmapImageRep class]]);
- TestImageRep([[image representations] lastObject], isred);
+ EXPECT_LT(green, 0.05);
+ EXPECT_GT(alpha, 0.95);
}
TEST_F(SkiaUtilsMacTest, FAILS_BitmapToNSImage_RedSquare64x64) {
@@ -126,48 +74,4 @@ TEST_F(SkiaUtilsMacTest, FAILS_BitmapToNSImage_BlueRectangle444) {
ShapeHelper(200, 200, false, false);
}
-TEST_F(SkiaUtilsMacTest, FAILS_MultipleBitmapsToNSImage) {
- int redWidth = 10;
- int redHeight = 15;
- int blueWidth = 20;
- int blueHeight = 30;
-
- SkBitmap redBitmap(CreateSkBitmap(redWidth, redHeight, true, true));
- SkBitmap blueBitmap(CreateSkBitmap(blueWidth, blueHeight, false, true));
- std::vector<const SkBitmap*> bitmaps;
- bitmaps.push_back(&redBitmap);
- bitmaps.push_back(&blueBitmap);
-
- NSImage* image = gfx::SkBitmapsToNSImage(bitmaps);
-
- // Image size should be the same as the smallest bitmap.
- EXPECT_DOUBLE_EQ(redWidth, [image size].width);
- EXPECT_DOUBLE_EQ(redHeight, [image size].height);
-
- EXPECT_EQ(2u, [[image representations] count]);
-
- for (NSBitmapImageRep* imageRep in [image representations]) {
- bool isred = [imageRep size].width == redWidth;
- if (isred) {
- EXPECT_DOUBLE_EQ(redHeight, [imageRep size].height);
- } else {
- EXPECT_DOUBLE_EQ(blueWidth, [imageRep size].width);
- EXPECT_DOUBLE_EQ(blueHeight, [imageRep size].height);
- }
- TestImageRep(imageRep, isred);
- }
-}
-
-TEST_F(SkiaUtilsMacTest, FAILS_NSImageRepToSkBitmap) {
- int width = 10;
- int height = 15;
- bool isred = true;
-
- NSImage* image = CreateNSImage(width, height, isred);
- EXPECT_EQ(1u, [[image representations] count]);
- NSBitmapImageRep* imageRep = [[image representations] lastObject];
- SkBitmap bitmap(gfx::NSImageRepToSkBitmap(imageRep, [image size], false));
- TestSkBitmap(bitmap, isred);
-}
-
} // namespace