Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(114)

Side by Side Diff: chrome/browser/ui/cocoa/menu_button_unittest.mm

Issue 17593006: mac: Update clients of scoped_nsobject.h. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: iwyu, scoped_nsprotocol Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 #include "base/memory/scoped_nsobject.h" 5 #include "base/mac/scoped_nsobject.h"
6 #import "chrome/browser/ui/cocoa/clickhold_button_cell.h" 6 #import "chrome/browser/ui/cocoa/clickhold_button_cell.h"
7 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" 7 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
8 #import "chrome/browser/ui/cocoa/menu_button.h" 8 #import "chrome/browser/ui/cocoa/menu_button.h"
9 9
10 @interface MenuButtonTestDelegate : NSObject<NSMenuDelegate> { 10 @interface MenuButtonTestDelegate : NSObject<NSMenuDelegate> {
11 @private 11 @private
12 scoped_nsobject<NSMenu> menu_; 12 base::scoped_nsobject<NSMenu> menu_;
13 BOOL open_; 13 BOOL open_;
14 BOOL didOpen_; 14 BOOL didOpen_;
15 } 15 }
16 - (BOOL)isOpen; 16 - (BOOL)isOpen;
17 - (BOOL)didOpen; 17 - (BOOL)didOpen;
18 @end 18 @end
19 19
20 @implementation MenuButtonTestDelegate 20 @implementation MenuButtonTestDelegate
21 - (id)initWithMenu:(NSMenu*)menu { 21 - (id)initWithMenu:(NSMenu*)menu {
22 if ((self = [super init])) { 22 if ((self = [super init])) {
(...skipping 30 matching lines...) Expand all
53 open_ = NO; 53 open_ = NO;
54 } 54 }
55 @end 55 @end
56 56
57 namespace { 57 namespace {
58 58
59 class MenuButtonTest : public CocoaTest { 59 class MenuButtonTest : public CocoaTest {
60 public: 60 public:
61 MenuButtonTest() { 61 MenuButtonTest() {
62 NSRect frame = NSMakeRect(0, 0, 50, 30); 62 NSRect frame = NSMakeRect(0, 0, 50, 30);
63 scoped_nsobject<MenuButton> button( 63 base::scoped_nsobject<MenuButton> button(
64 [[MenuButton alloc] initWithFrame:frame]); 64 [[MenuButton alloc] initWithFrame:frame]);
65 button_ = button.get(); 65 button_ = button.get();
66 scoped_nsobject<ClickHoldButtonCell> cell( 66 base::scoped_nsobject<ClickHoldButtonCell> cell(
67 [[ClickHoldButtonCell alloc] initTextCell:@"Testing"]); 67 [[ClickHoldButtonCell alloc] initTextCell:@"Testing"]);
68 [button_ setCell:cell.get()]; 68 [button_ setCell:cell.get()];
69 [[test_window() contentView] addSubview:button_]; 69 [[test_window() contentView] addSubview:button_];
70 } 70 }
71 71
72 NSMenu* CreateMenu() { 72 NSMenu* CreateMenu() {
73 NSMenu* menu = [[NSMenu alloc] initWithTitle:@""]; 73 NSMenu* menu = [[NSMenu alloc] initWithTitle:@""];
74 [menu insertItemWithTitle:@"" action:nil keyEquivalent:@"" atIndex:0]; 74 [menu insertItemWithTitle:@"" action:nil keyEquivalent:@"" atIndex:0];
75 [menu insertItemWithTitle:@"foo" action:nil keyEquivalent:@"" atIndex:1]; 75 [menu insertItemWithTitle:@"foo" action:nil keyEquivalent:@"" atIndex:1];
76 [menu insertItemWithTitle:@"bar" action:nil keyEquivalent:@"" atIndex:2]; 76 [menu insertItemWithTitle:@"bar" action:nil keyEquivalent:@"" atIndex:2];
(...skipping 18 matching lines...) Expand all
95 return event; 95 return event;
96 } 96 }
97 97
98 MenuButton* button_; 98 MenuButton* button_;
99 }; 99 };
100 100
101 TEST_VIEW(MenuButtonTest, button_); 101 TEST_VIEW(MenuButtonTest, button_);
102 102
103 // Test assigning a menu, again mostly to ensure nothing leaks or crashes. 103 // Test assigning a menu, again mostly to ensure nothing leaks or crashes.
104 TEST_F(MenuButtonTest, MenuAssign) { 104 TEST_F(MenuButtonTest, MenuAssign) {
105 scoped_nsobject<NSMenu> menu(CreateMenu()); 105 base::scoped_nsobject<NSMenu> menu(CreateMenu());
106 ASSERT_TRUE(menu.get()); 106 ASSERT_TRUE(menu.get());
107 107
108 [button_ setAttachedMenu:menu]; 108 [button_ setAttachedMenu:menu];
109 EXPECT_TRUE([button_ attachedMenu]); 109 EXPECT_TRUE([button_ attachedMenu]);
110 } 110 }
111 111
112 TEST_F(MenuButtonTest, OpenOnClick) { 112 TEST_F(MenuButtonTest, OpenOnClick) {
113 scoped_nsobject<NSMenu> menu(CreateMenu()); 113 base::scoped_nsobject<NSMenu> menu(CreateMenu());
114 ASSERT_TRUE(menu.get()); 114 ASSERT_TRUE(menu.get());
115 115
116 scoped_nsobject<MenuButtonTestDelegate> delegate( 116 base::scoped_nsobject<MenuButtonTestDelegate> delegate(
117 [[MenuButtonTestDelegate alloc] initWithMenu:menu.get()]); 117 [[MenuButtonTestDelegate alloc] initWithMenu:menu.get()]);
118 ASSERT_TRUE(delegate.get()); 118 ASSERT_TRUE(delegate.get());
119 119
120 [menu setDelegate:delegate.get()]; 120 [menu setDelegate:delegate.get()];
121 [button_ setAttachedMenu:menu]; 121 [button_ setAttachedMenu:menu];
122 [button_ setOpenMenuOnClick:YES]; 122 [button_ setOpenMenuOnClick:YES];
123 123
124 EXPECT_FALSE([delegate isOpen]); 124 EXPECT_FALSE([delegate isOpen]);
125 EXPECT_FALSE([delegate didOpen]); 125 EXPECT_FALSE([delegate didOpen]);
126 126
127 // Should open the menu. 127 // Should open the menu.
128 [button_ performClick:nil]; 128 [button_ performClick:nil];
129 129
130 EXPECT_TRUE([delegate didOpen]); 130 EXPECT_TRUE([delegate didOpen]);
131 EXPECT_FALSE([delegate isOpen]); 131 EXPECT_FALSE([delegate isOpen]);
132 } 132 }
133 133
134 TEST_F(MenuButtonTest, OpenOnRightClick) { 134 TEST_F(MenuButtonTest, OpenOnRightClick) {
135 scoped_nsobject<NSMenu> menu(CreateMenu()); 135 base::scoped_nsobject<NSMenu> menu(CreateMenu());
136 ASSERT_TRUE(menu.get()); 136 ASSERT_TRUE(menu.get());
137 137
138 scoped_nsobject<MenuButtonTestDelegate> delegate( 138 base::scoped_nsobject<MenuButtonTestDelegate> delegate(
139 [[MenuButtonTestDelegate alloc] initWithMenu:menu.get()]); 139 [[MenuButtonTestDelegate alloc] initWithMenu:menu.get()]);
140 ASSERT_TRUE(delegate.get()); 140 ASSERT_TRUE(delegate.get());
141 141
142 [menu setDelegate:delegate.get()]; 142 [menu setDelegate:delegate.get()];
143 [button_ setAttachedMenu:menu]; 143 [button_ setAttachedMenu:menu];
144 [button_ setOpenMenuOnClick:YES]; 144 [button_ setOpenMenuOnClick:YES];
145 // Right click is enabled. 145 // Right click is enabled.
146 [button_ setOpenMenuOnRightClick:YES]; 146 [button_ setOpenMenuOnRightClick:YES];
147 147
148 EXPECT_FALSE([delegate isOpen]); 148 EXPECT_FALSE([delegate isOpen]);
149 EXPECT_FALSE([delegate didOpen]); 149 EXPECT_FALSE([delegate didOpen]);
150 150
151 // Should open the menu. 151 // Should open the menu.
152 NSEvent* event = MouseDownEvent(NSRightMouseDown); 152 NSEvent* event = MouseDownEvent(NSRightMouseDown);
153 [button_ rightMouseDown:event]; 153 [button_ rightMouseDown:event];
154 154
155 EXPECT_TRUE([delegate didOpen]); 155 EXPECT_TRUE([delegate didOpen]);
156 EXPECT_FALSE([delegate isOpen]); 156 EXPECT_FALSE([delegate isOpen]);
157 } 157 }
158 158
159 TEST_F(MenuButtonTest, DontOpenOnRightClickWithoutSetRightClick) { 159 TEST_F(MenuButtonTest, DontOpenOnRightClickWithoutSetRightClick) {
160 scoped_nsobject<NSMenu> menu(CreateMenu()); 160 base::scoped_nsobject<NSMenu> menu(CreateMenu());
161 ASSERT_TRUE(menu.get()); 161 ASSERT_TRUE(menu.get());
162 162
163 scoped_nsobject<MenuButtonTestDelegate> delegate( 163 base::scoped_nsobject<MenuButtonTestDelegate> delegate(
164 [[MenuButtonTestDelegate alloc] initWithMenu:menu.get()]); 164 [[MenuButtonTestDelegate alloc] initWithMenu:menu.get()]);
165 ASSERT_TRUE(delegate.get()); 165 ASSERT_TRUE(delegate.get());
166 166
167 [menu setDelegate:delegate.get()]; 167 [menu setDelegate:delegate.get()];
168 [button_ setAttachedMenu:menu]; 168 [button_ setAttachedMenu:menu];
169 [button_ setOpenMenuOnClick:YES]; 169 [button_ setOpenMenuOnClick:YES];
170 170
171 EXPECT_FALSE([delegate isOpen]); 171 EXPECT_FALSE([delegate isOpen]);
172 EXPECT_FALSE([delegate didOpen]); 172 EXPECT_FALSE([delegate didOpen]);
173 173
174 // Should not open the menu. 174 // Should not open the menu.
175 NSEvent* event = MouseDownEvent(NSRightMouseDown); 175 NSEvent* event = MouseDownEvent(NSRightMouseDown);
176 [button_ rightMouseDown:event]; 176 [button_ rightMouseDown:event];
177 177
178 EXPECT_FALSE([delegate didOpen]); 178 EXPECT_FALSE([delegate didOpen]);
179 EXPECT_FALSE([delegate isOpen]); 179 EXPECT_FALSE([delegate isOpen]);
180 180
181 // Should open the menu in this case. 181 // Should open the menu in this case.
182 [button_ performClick:nil]; 182 [button_ performClick:nil];
183 183
184 EXPECT_TRUE([delegate didOpen]); 184 EXPECT_TRUE([delegate didOpen]);
185 EXPECT_FALSE([delegate isOpen]); 185 EXPECT_FALSE([delegate isOpen]);
186 } 186 }
187 187
188 } // namespace 188 } // namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698