blob: 3c342dbb7a189f652ca95f80d3e85066644cc4f7 [file] [log] [blame]
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import <AppKit/AppKit.h>
#include "base/memory/scoped_nsobject.h"
#import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/skia/include/core/SkBitmap.h"
#include "ui/gfx/image/image.h"
#include "ui/gfx/image/image_unittest_util.h"
namespace {
class UiGfxImageTest : public CocoaTest {
};
TEST_F(UiGfxImageTest, CheckColor) {
gfx::Image image(gfx::test::CreateBitmap(25, 25));
[image lockFocus];
NSColor* color = NSReadPixel(NSMakePoint(10, 10));
[image unlockFocus];
// SkBitmapToNSImage returns a bitmap in the calibrated color space (sRGB),
// while NSReadPixel returns a color in the device color space. Convert back
// to the calibrated color space before testing.
color = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
CGFloat components[4] = { 0 };
[color getComponents:components];
EXPECT_GT(components[0], 0.95);
EXPECT_LT(components[1], 0.05);
EXPECT_LT(components[2], 0.05);
EXPECT_GT(components[3], 0.95);
}
TEST_F(UiGfxImageTest, ImageView) {
scoped_nsobject<NSImageView> image_view(
[[NSImageView alloc] initWithFrame:NSMakeRect(10, 10, 25, 25)]);
[[test_window() contentView] addSubview:image_view];
[test_window() orderFront:nil];
gfx::Image image(gfx::test::CreateBitmap(25, 25));
[image_view setImage:image.ToNSImage()];
}
} // namespace