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

Side by Side Diff: chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_mac_unittest.mm

Issue 1456213002: Revert of [Extensions] Don't count bubble dismissal from focus loss as acknowledgment (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/logging.h" 5 #include "base/logging.h"
6 #import "base/mac/foundation_util.h" 6 #import "base/mac/foundation_util.h"
7 #import "base/mac/scoped_nsobject.h" 7 #import "base/mac/scoped_nsobject.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h" 9 #import "chrome/browser/ui/cocoa/cocoa_test_helper.h"
10 #import "chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_mac.h" 10 #import "chrome/browser/ui/cocoa/extensions/toolbar_actions_bar_bubble_mac.h"
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 base::scoped_nsobject<WindowObserver> windowObserver( 110 base::scoped_nsobject<WindowObserver> windowObserver(
111 [[WindowObserver alloc] initWithWindow:[bubble window]]); 111 [[WindowObserver alloc] initWithWindow:[bubble window]]);
112 EXPECT_FALSE([windowObserver windowIsClosing]); 112 EXPECT_FALSE([windowObserver windowIsClosing]);
113 113
114 // Find the appropriate button to click. 114 // Find the appropriate button to click.
115 NSButton* button = nil; 115 NSButton* button = nil;
116 switch (expected_action) { 116 switch (expected_action) {
117 case ToolbarActionsBarBubbleDelegate::CLOSE_EXECUTE: 117 case ToolbarActionsBarBubbleDelegate::CLOSE_EXECUTE:
118 button = [bubble actionButton]; 118 button = [bubble actionButton];
119 break; 119 break;
120 case ToolbarActionsBarBubbleDelegate::CLOSE_DISMISS_USER_ACTION: 120 case ToolbarActionsBarBubbleDelegate::CLOSE_DISMISS:
121 button = [bubble dismissButton]; 121 button = [bubble dismissButton];
122 break; 122 break;
123 case ToolbarActionsBarBubbleDelegate::CLOSE_LEARN_MORE: 123 case ToolbarActionsBarBubbleDelegate::CLOSE_LEARN_MORE:
124 button = [bubble learnMoreButton]; 124 button = [bubble learnMoreButton];
125 break; 125 break;
126 case ToolbarActionsBarBubbleDelegate::CLOSE_DISMISS_DEACTIVATION:
127 NOTREACHED(); // Deactivation is tested below.
128 break;
129 } 126 }
130 ASSERT_TRUE(button); 127 ASSERT_TRUE(button);
131 128
132 // Click the button. 129 // Click the button.
133 std::pair<NSEvent*, NSEvent*> events = 130 std::pair<NSEvent*, NSEvent*> events =
134 cocoa_test_event_utils::MouseClickInView(button, 1); 131 cocoa_test_event_utils::MouseClickInView(button, 1);
135 [NSApp postEvent:events.second atStart:YES]; 132 [NSApp postEvent:events.second atStart:YES];
136 [NSApp sendEvent:events.first]; 133 [NSApp sendEvent:events.first];
137 chrome::testing::NSRunLoopRunAllPending(); 134 chrome::testing::NSRunLoopRunAllPending();
138 135
139 // The bubble should be closed, and the delegate should be told that the 136 // The bubble should be closed, and the delegate should be told that the
140 // button was clicked. 137 // button was clicked.
141 ASSERT_TRUE(delegate.close_action()); 138 ASSERT_TRUE(delegate.close_action());
142 EXPECT_EQ(expected_action, *delegate.close_action()); 139 EXPECT_EQ(expected_action, *delegate.close_action());
143 EXPECT_TRUE([windowObserver windowIsClosing]); 140 EXPECT_TRUE([windowObserver windowIsClosing]);
144 } 141 }
145 142
146 // Test clicking on the action button and dismissing the bubble. 143 // Test clicking on the action button and dismissing the bubble.
147 TEST_F(ToolbarActionsBarBubbleMacTest, CloseActionAndDismiss) { 144 TEST_F(ToolbarActionsBarBubbleMacTest, CloseActionAndDismiss) {
148 // Test all the possible actions. 145 // Test all the possible actions.
149 TestBubbleButton(ToolbarActionsBarBubbleDelegate::CLOSE_EXECUTE); 146 TestBubbleButton(ToolbarActionsBarBubbleDelegate::CLOSE_EXECUTE);
150 TestBubbleButton(ToolbarActionsBarBubbleDelegate::CLOSE_DISMISS_USER_ACTION); 147 TestBubbleButton(ToolbarActionsBarBubbleDelegate::CLOSE_DISMISS);
151 TestBubbleButton(ToolbarActionsBarBubbleDelegate::CLOSE_LEARN_MORE); 148 TestBubbleButton(ToolbarActionsBarBubbleDelegate::CLOSE_LEARN_MORE);
152 149
153 { 150 {
154 // Test dismissing the bubble without clicking the button. 151 // Test dismissing the bubble without clicking the button.
155 TestToolbarActionsBarBubbleDelegate delegate( 152 TestToolbarActionsBarBubbleDelegate delegate(
156 HeadingString(), BodyString(), ActionString()); 153 HeadingString(), BodyString(), ActionString());
157 ToolbarActionsBarBubbleMac* bubble = CreateAndShowBubble(&delegate); 154 ToolbarActionsBarBubbleMac* bubble = CreateAndShowBubble(&delegate);
158 base::scoped_nsobject<WindowObserver> windowObserver( 155 base::scoped_nsobject<WindowObserver> windowObserver(
159 [[WindowObserver alloc] initWithWindow:[bubble window]]); 156 [[WindowObserver alloc] initWithWindow:[bubble window]]);
160 EXPECT_FALSE([windowObserver windowIsClosing]); 157 EXPECT_FALSE([windowObserver windowIsClosing]);
161 158
162 // Close the bubble. The delegate should be told it was dismissed. 159 // Close the bubble. The delegate should be told it was dismissed.
163 [bubble close]; 160 [bubble close];
164 chrome::testing::NSRunLoopRunAllPending(); 161 chrome::testing::NSRunLoopRunAllPending();
165 ASSERT_TRUE(delegate.close_action()); 162 ASSERT_TRUE(delegate.close_action());
166 EXPECT_EQ(ToolbarActionsBarBubbleDelegate::CLOSE_DISMISS_DEACTIVATION, 163 EXPECT_EQ(ToolbarActionsBarBubbleDelegate::CLOSE_DISMISS,
167 *delegate.close_action()); 164 *delegate.close_action());
168 EXPECT_TRUE([windowObserver windowIsClosing]); 165 EXPECT_TRUE([windowObserver windowIsClosing]);
169 } 166 }
170 } 167 }
171 168
172 // Test the basic layout of the bubble. 169 // Test the basic layout of the bubble.
173 TEST_F(ToolbarActionsBarBubbleMacTest, ToolbarActionsBarBubbleLayout) { 170 TEST_F(ToolbarActionsBarBubbleMacTest, ToolbarActionsBarBubbleLayout) {
174 // Test with no optional fields. 171 // Test with no optional fields.
175 { 172 {
176 TestToolbarActionsBarBubbleDelegate delegate( 173 TestToolbarActionsBarBubbleDelegate delegate(
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 ToolbarActionsBarBubbleMac* bubble = CreateAndShowBubble(&delegate); 238 ToolbarActionsBarBubbleMac* bubble = CreateAndShowBubble(&delegate);
242 EXPECT_TRUE([bubble actionButton]); 239 EXPECT_TRUE([bubble actionButton]);
243 EXPECT_TRUE([bubble learnMoreButton]); 240 EXPECT_TRUE([bubble learnMoreButton]);
244 EXPECT_TRUE([bubble dismissButton]); 241 EXPECT_TRUE([bubble dismissButton]);
245 EXPECT_TRUE([bubble itemList]); 242 EXPECT_TRUE([bubble itemList]);
246 243
247 [bubble close]; 244 [bubble close];
248 chrome::testing::NSRunLoopRunAllPending(); 245 chrome::testing::NSRunLoopRunAllPending();
249 } 246 }
250 } 247 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698