- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / wrench_menu / menu_tracked_root_view_unittest.mm
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.
4
5 #import <Cocoa/Cocoa.h>
6
7 #include "base/mac/scoped_nsobject.h"
8 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
9 #import "chrome/browser/ui/cocoa/wrench_menu/menu_tracked_root_view.h"
10 #include "testing/gtest/include/gtest/gtest.h"
11 #include "testing/platform_test.h"
12 #import "third_party/ocmock/OCMock/OCMock.h"
13 #include "third_party/ocmock/gtest_support.h"
14
15 class MenuTrackedRootViewTest : public CocoaTest {
16  public:
17   virtual void SetUp() {
18     CocoaTest::SetUp();
19     view_.reset([[MenuTrackedRootView alloc] init]);
20   }
21
22   base::scoped_nsobject<MenuTrackedRootView> view_;
23 };
24
25 TEST_F(MenuTrackedRootViewTest, MouseUp) {
26   id menu = [OCMockObject mockForClass:[NSMenu class]];
27   [[menu expect] cancelTracking];
28
29   id menuItem = [OCMockObject mockForClass:[NSMenuItem class]];
30   [[[menuItem stub] andReturn:menu] menu];
31
32   [view_ setMenuItem:menuItem];
33   NSEvent* event = [NSEvent mouseEventWithType:NSLeftMouseUp
34                                       location:NSMakePoint(42, 42)
35                                  modifierFlags:0
36                                      timestamp:0
37                                   windowNumber:[test_window() windowNumber]
38                                        context:nil
39                                    eventNumber:1
40                                     clickCount:1
41                                       pressure:1.0];
42   [view_ mouseUp:event];
43
44   EXPECT_OCMOCK_VERIFY(menu);
45   EXPECT_OCMOCK_VERIFY(menuItem);
46 }