OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #import <Cocoa/Cocoa.h> | 5 #import <Cocoa/Cocoa.h> |
6 | 6 |
7 #include "base/memory/scoped_nsobject.h" | 7 #include "base/mac/scoped_nsobject.h" |
8 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" | 8 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" |
9 #import "chrome/browser/ui/cocoa/wrench_menu/menu_tracked_root_view.h" | 9 #import "chrome/browser/ui/cocoa/wrench_menu/menu_tracked_root_view.h" |
10 #include "testing/gtest/include/gtest/gtest.h" | 10 #include "testing/gtest/include/gtest/gtest.h" |
11 #include "testing/platform_test.h" | 11 #include "testing/platform_test.h" |
| 12 #import "third_party/ocmock/OCMock/OCMock.h" |
12 #include "third_party/ocmock/gtest_support.h" | 13 #include "third_party/ocmock/gtest_support.h" |
13 #import "third_party/ocmock/OCMock/OCMock.h" | |
14 | 14 |
15 class MenuTrackedRootViewTest : public CocoaTest { | 15 class MenuTrackedRootViewTest : public CocoaTest { |
16 public: | 16 public: |
17 virtual void SetUp() { | 17 virtual void SetUp() { |
18 CocoaTest::SetUp(); | 18 CocoaTest::SetUp(); |
19 view_.reset([[MenuTrackedRootView alloc] init]); | 19 view_.reset([[MenuTrackedRootView alloc] init]); |
20 } | 20 } |
21 | 21 |
22 scoped_nsobject<MenuTrackedRootView> view_; | 22 base::scoped_nsobject<MenuTrackedRootView> view_; |
23 }; | 23 }; |
24 | 24 |
25 TEST_F(MenuTrackedRootViewTest, MouseUp) { | 25 TEST_F(MenuTrackedRootViewTest, MouseUp) { |
26 id menu = [OCMockObject mockForClass:[NSMenu class]]; | 26 id menu = [OCMockObject mockForClass:[NSMenu class]]; |
27 [[menu expect] cancelTracking]; | 27 [[menu expect] cancelTracking]; |
28 | 28 |
29 id menuItem = [OCMockObject mockForClass:[NSMenuItem class]]; | 29 id menuItem = [OCMockObject mockForClass:[NSMenuItem class]]; |
30 [[[menuItem stub] andReturn:menu] menu]; | 30 [[[menuItem stub] andReturn:menu] menu]; |
31 | 31 |
32 [view_ setMenuItem:menuItem]; | 32 [view_ setMenuItem:menuItem]; |
33 NSEvent* event = [NSEvent mouseEventWithType:NSLeftMouseUp | 33 NSEvent* event = [NSEvent mouseEventWithType:NSLeftMouseUp |
34 location:NSMakePoint(42, 42) | 34 location:NSMakePoint(42, 42) |
35 modifierFlags:0 | 35 modifierFlags:0 |
36 timestamp:0 | 36 timestamp:0 |
37 windowNumber:[test_window() windowNumber] | 37 windowNumber:[test_window() windowNumber] |
38 context:nil | 38 context:nil |
39 eventNumber:1 | 39 eventNumber:1 |
40 clickCount:1 | 40 clickCount:1 |
41 pressure:1.0]; | 41 pressure:1.0]; |
42 [view_ mouseUp:event]; | 42 [view_ mouseUp:event]; |
43 | 43 |
44 EXPECT_OCMOCK_VERIFY(menu); | 44 EXPECT_OCMOCK_VERIFY(menu); |
45 EXPECT_OCMOCK_VERIFY(menuItem); | 45 EXPECT_OCMOCK_VERIFY(menuItem); |
46 } | 46 } |
OLD | NEW |