NaCl: Update revision in DEPS, r12770 -> r12773
[chromium-blink-merge.git] / chrome / browser / ui / cocoa / background_gradient_view_unittest.mm
blobb7e9697383a0522ee392bb918d96522a3ba15e0a
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;
21 @end
23 @implementation BackgroundGradientSubClassTest
25 @synthesize backgroundIsOpaque;
27 - (void)drawRect:(NSRect)rect {
28   [self drawBackgroundWithOpaque:backgroundIsOpaque];
31 @end
33 namespace {
35 class BackgroundGradientViewTest : public CocoaTest {
36  public:
37   BackgroundGradientViewTest() {
38     NSRect frame = NSMakeRect(0, 0, 100, 30);
39     base::scoped_nsobject<BackgroundGradientSubClassTest> view;
40     view.reset([[BackgroundGradientSubClassTest alloc] initWithFrame:frame]);
41     view_ = view.get();
42     [[test_window() contentView] addSubview:view_];
43   }
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];
54   [view_ display];
55   [view_ setBackgroundIsOpaque:NO];
56   [view_ display];
59 }  // namespace