• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2011 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#import <AppKit/AppKit.h>
6
7#include "base/memory/scoped_nsobject.h"
8#import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
9#include "testing/gtest/include/gtest/gtest.h"
10#include "third_party/skia/include/core/SkBitmap.h"
11#include "ui/gfx/image.h"
12#include "ui/gfx/image_unittest.h"
13
14namespace {
15
16class UiGfxImageTest : public CocoaTest {
17};
18
19TEST_F(UiGfxImageTest, CheckColor) {
20  gfx::Image image(gfx::test::CreateBitmap());
21  [image lockFocus];
22  NSColor* color = NSReadPixel(NSMakePoint(10, 10));
23  [image unlockFocus];
24
25  // SkBitmapToNSImage returns a bitmap in the calibrated color space (sRGB),
26  // while NSReadPixel returns a color in the device color space. Convert back
27  // to the calibrated color space before testing.
28  color = [color colorUsingColorSpaceName:NSCalibratedRGBColorSpace];
29
30  CGFloat components[4] = { 0 };
31  [color getComponents:components];
32
33  EXPECT_GT(components[0], 0.95);
34  EXPECT_LT(components[1], 0.05);
35  EXPECT_LT(components[2], 0.05);
36  EXPECT_GT(components[3], 0.95);
37}
38
39TEST_F(UiGfxImageTest, ImageView) {
40  scoped_nsobject<NSImageView> image_view(
41      [[NSImageView alloc] initWithFrame:NSMakeRect(10, 10, 25, 25)]);
42  [[test_window() contentView] addSubview:image_view];
43  [test_window() orderFront:nil];
44
45  gfx::Image image(gfx::test::CreateBitmap());
46  [image_view setImage:image];
47}
48
49}  // namespace
50