OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 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 "base/memory/scoped_nsobject.h" | |
6 #import "chrome/browser/ui/cocoa/constrained_window/cw_button.h" | |
7 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" | |
8 #include "testing/gtest/include/gtest/gtest.h" | |
9 #include "testing/platform_test.h" | |
10 | |
11 class CWButtonTest : public CocoaTest { | |
12 public: | |
13 CWButtonTest() { | |
14 NSRect frame = NSMakeRect(0, 0, 50, 30); | |
15 button_.reset([[CWButton alloc] initWithFrame:frame]); | |
16 [button_ setTitle:@"Abcdefg"]; | |
17 [button_ sizeToFit]; | |
18 [[test_window() contentView] addSubview:button_]; | |
19 } | |
20 | |
21 protected: | |
22 scoped_nsobject<CWButton> button_; | |
23 }; | |
24 | |
25 TEST_VIEW(CWButtonTest, button_) | |
26 | |
27 // Test hover, mostly to ensure nothing leaks or crashes. | |
28 TEST_F(CWButtonTest, DisplayWithHover) { | |
29 [[button_ cell] setIsMouseInside:NO]; | |
30 [button_ display]; | |
31 [[button_ cell] setIsMouseInside:YES]; | |
32 [button_ display]; | |
33 } | |
34 | |
35 // Test disabled, mostly to ensure nothing leaks or crashes. | |
36 TEST_F(CWButtonTest, DisplayWithDisable) { | |
37 [button_ setEnabled:YES]; | |
38 [button_ display]; | |
39 [button_ setEnabled:NO]; | |
40 [button_ display]; | |
41 } | |
42 | |
43 // Test pushed, mostly to ensure nothing leaks or crashes. | |
44 TEST_F(CWButtonTest, DisplayWithPushed) { | |
45 [[button_ cell] setHighlighted:NO]; | |
46 [button_ display]; | |
47 [[button_ cell] setHighlighted:YES]; | |
48 [button_ display]; | |
49 } | |
50 | |
51 // Tracking rects | |
52 TEST_F(CWButtonTest, TrackingRects) { | |
53 CWButtonCell* cell = [button_ cell]; | |
54 EXPECT_FALSE([cell isMouseInside]); | |
55 | |
56 [button_ mouseEntered:nil]; | |
57 EXPECT_TRUE([cell isMouseInside]); | |
58 [button_ mouseExited:nil]; | |
59 EXPECT_FALSE([cell isMouseInside]); | |
60 } | |
OLD | NEW |