- add sources.
[platform/framework/web/crosswalk.git] / src / ui / message_center / cocoa / status_item_view_unittest.mm
1 // Copyright (c) 2013 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 "ui/message_center/cocoa/status_item_view.h"
6
7 #include "base/mac/scoped_nsobject.h"
8 #import "ui/base/test/ui_cocoa_test_helper.h"
9
10 class StatusItemViewTest : public ui::CocoaTest {
11  public:
12   StatusItemViewTest()
13       : view_([[MCStatusItemView alloc] init]) {
14   }
15
16   virtual void SetUp() OVERRIDE {
17     ui::CocoaTest::SetUp();
18     [[test_window() contentView] addSubview:view_];
19   }
20
21   virtual void TearDown() OVERRIDE {
22     [view_ removeItem];
23     ui::CocoaTest::TearDown();
24   }
25
26  protected:
27   base::scoped_nsobject<MCStatusItemView> view_;
28 };
29
30 // These tests are like TEST_VIEW() but set some of the properties.
31
32 TEST_F(StatusItemViewTest, Callback) {
33   __block BOOL got_callback = NO;
34   [view_ setCallback:^{
35       got_callback = YES;
36   }];
37   [view_ mouseDown:nil];
38   EXPECT_TRUE(got_callback);
39   [view_ mouseUp:nil];
40
41   got_callback = NO;
42   [view_ rightMouseDown:nil];
43   EXPECT_TRUE(got_callback);
44   [view_ rightMouseUp:nil];
45
46   got_callback = NO;
47   [view_ otherMouseDown:nil];
48   EXPECT_TRUE(got_callback);
49   [view_ otherMouseUp:nil];
50 }
51
52 TEST_F(StatusItemViewTest, UnreadCount) {
53   CGFloat initial_width = NSWidth([view_ frame]);
54
55   [view_ setUnreadCount:2 withQuietMode:NO];
56   [view_ display];
57   EXPECT_EQ(NSWidth([view_ frame]), initial_width);
58
59   [view_ setUnreadCount:0 withQuietMode:NO];
60   [view_ display];
61   EXPECT_EQ(NSWidth([view_ frame]), initial_width);
62
63   [view_ setUnreadCount:1000 withQuietMode:YES];
64   [view_ display];
65   EXPECT_EQ(NSWidth([view_ frame]), initial_width);
66
67   [view_ setUnreadCount:0 withQuietMode:YES];
68   [view_ display];
69   EXPECT_EQ(NSWidth([view_ frame]), initial_width);
70 }
71
72 TEST_F(StatusItemViewTest, Highlight) {
73   [view_ setHighlight:YES];
74   [view_ display];
75   [view_ setHighlight:NO];
76   [view_ display];
77 }
78
79 TEST_F(StatusItemViewTest, HighlightAndMouseEvent) {
80   [view_ mouseDown:nil];
81   [view_ display];
82   [view_ setHighlight:YES];
83   [view_ display];
84   [view_ mouseUp:nil];
85   [view_ display];
86   [view_ setHighlight:NO];
87   [view_ display];
88 }