- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / constrained_window / constrained_window_button_unittest.mm
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/mac/scoped_nsobject.h"
6 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
7 #import "chrome/browser/ui/cocoa/constrained_window/constrained_window_button.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9 #include "testing/platform_test.h"
10
11 class ConstrainedWindowButtonTest : public CocoaTest {
12  public:
13   ConstrainedWindowButtonTest() {
14     NSRect frame = NSMakeRect(0, 0, 50, 30);
15     button_.reset([[ConstrainedWindowButton alloc] initWithFrame:frame]);
16     [button_ setTitle:@"Abcdefg"];
17     [button_ sizeToFit];
18     [[test_window() contentView] addSubview:button_];
19   }
20
21  protected:
22   base::scoped_nsobject<ConstrainedWindowButton> button_;
23 };
24
25 TEST_VIEW(ConstrainedWindowButtonTest, button_)
26
27 // Test hover, mostly to ensure nothing leaks or crashes.
28 TEST_F(ConstrainedWindowButtonTest, 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(ConstrainedWindowButtonTest, 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(ConstrainedWindowButtonTest, 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(ConstrainedWindowButtonTest, TrackingRects) {
53   ConstrainedWindowButtonCell* 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 }