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.
5 #import <Cocoa/Cocoa.h>
7 #include "base/mac/scoped_nsobject.h"
8 #import "chrome/browser/ui/cocoa/background_gradient_view.h"
9 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "testing/platform_test.h"
13 // Since BackgroundGradientView doesn't do any drawing by default, we
14 // create a subclass to call its draw method for us.
15 @interface BackgroundGradientSubClassTest : BackgroundGradientView {
16 BOOL backgroundIsOpaque;
19 @property BOOL backgroundIsOpaque;
23 @implementation BackgroundGradientSubClassTest
25 @synthesize backgroundIsOpaque;
27 - (void)drawRect:(NSRect)rect {
28 [self drawBackgroundWithOpaque:backgroundIsOpaque];
35 class BackgroundGradientViewTest : public CocoaTest {
37 BackgroundGradientViewTest() {
38 NSRect frame = NSMakeRect(0, 0, 100, 30);
39 base::scoped_nsobject<BackgroundGradientSubClassTest> view;
40 view.reset([[BackgroundGradientSubClassTest alloc] initWithFrame:frame]);
42 [[test_window() contentView] addSubview:view_];
45 BackgroundGradientSubClassTest* view_;
48 TEST_VIEW(BackgroundGradientViewTest, view_)
50 // Test drawing, mostly to ensure nothing leaks or crashes.
51 TEST_F(BackgroundGradientViewTest, DisplayWithDivider) {
52 [view_ setShowsDivider:YES];
53 [view_ setBackgroundIsOpaque:YES];
55 [view_ setBackgroundIsOpaque:NO];