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

Side by Side Diff: ui/views/focus/focus_manager_unittest.cc

Issue 1622433002: views: Remove unused GetCurrentTargetForAccelerator from FocusManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: tot-merge Created 4 years, 8 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
« no previous file with comments | « ui/views/focus/focus_manager_delegate.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "ui/views/focus/focus_manager.h" 5 #include "ui/views/focus/focus_manager.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 191
192 TEST_F(FocusManagerTest, CallsNormalAcceleratorTarget) { 192 TEST_F(FocusManagerTest, CallsNormalAcceleratorTarget) {
193 FocusManager* focus_manager = GetFocusManager(); 193 FocusManager* focus_manager = GetFocusManager();
194 ui::Accelerator return_accelerator(ui::VKEY_RETURN, ui::EF_NONE); 194 ui::Accelerator return_accelerator(ui::VKEY_RETURN, ui::EF_NONE);
195 ui::Accelerator escape_accelerator(ui::VKEY_ESCAPE, ui::EF_NONE); 195 ui::Accelerator escape_accelerator(ui::VKEY_ESCAPE, ui::EF_NONE);
196 196
197 TestAcceleratorTarget return_target(true); 197 TestAcceleratorTarget return_target(true);
198 TestAcceleratorTarget escape_target(true); 198 TestAcceleratorTarget escape_target(true);
199 EXPECT_EQ(return_target.accelerator_count(), 0); 199 EXPECT_EQ(return_target.accelerator_count(), 0);
200 EXPECT_EQ(escape_target.accelerator_count(), 0); 200 EXPECT_EQ(escape_target.accelerator_count(), 0);
201 EXPECT_EQ(NULL,
202 focus_manager->GetCurrentTargetForAccelerator(return_accelerator));
203 EXPECT_EQ(NULL,
204 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
205 201
206 // Register targets. 202 // Register targets.
207 focus_manager->RegisterAccelerator(return_accelerator, 203 focus_manager->RegisterAccelerator(return_accelerator,
208 ui::AcceleratorManager::kNormalPriority, 204 ui::AcceleratorManager::kNormalPriority,
209 &return_target); 205 &return_target);
210 focus_manager->RegisterAccelerator(escape_accelerator, 206 focus_manager->RegisterAccelerator(escape_accelerator,
211 ui::AcceleratorManager::kNormalPriority, 207 ui::AcceleratorManager::kNormalPriority,
212 &escape_target); 208 &escape_target);
213 209
214 // Checks if the correct target is registered.
215 EXPECT_EQ(&return_target,
216 focus_manager->GetCurrentTargetForAccelerator(return_accelerator));
217 EXPECT_EQ(&escape_target,
218 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
219
220 // Hitting the return key. 210 // Hitting the return key.
221 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator)); 211 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator));
222 EXPECT_EQ(return_target.accelerator_count(), 1); 212 EXPECT_EQ(return_target.accelerator_count(), 1);
223 EXPECT_EQ(escape_target.accelerator_count(), 0); 213 EXPECT_EQ(escape_target.accelerator_count(), 0);
224 214
225 // Hitting the escape key. 215 // Hitting the escape key.
226 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator)); 216 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator));
227 EXPECT_EQ(return_target.accelerator_count(), 1); 217 EXPECT_EQ(return_target.accelerator_count(), 1);
228 EXPECT_EQ(escape_target.accelerator_count(), 1); 218 EXPECT_EQ(escape_target.accelerator_count(), 1);
229 219
230 // Register another target for the return key. 220 // Register another target for the return key.
231 TestAcceleratorTarget return_target2(true); 221 TestAcceleratorTarget return_target2(true);
232 EXPECT_EQ(return_target2.accelerator_count(), 0); 222 EXPECT_EQ(return_target2.accelerator_count(), 0);
233 focus_manager->RegisterAccelerator(return_accelerator, 223 focus_manager->RegisterAccelerator(return_accelerator,
234 ui::AcceleratorManager::kNormalPriority, 224 ui::AcceleratorManager::kNormalPriority,
235 &return_target2); 225 &return_target2);
236 EXPECT_EQ(&return_target2,
237 focus_manager->GetCurrentTargetForAccelerator(return_accelerator));
238 226
239 // Hitting the return key; return_target2 has the priority. 227 // Hitting the return key; return_target2 has the priority.
240 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator)); 228 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator));
241 EXPECT_EQ(return_target.accelerator_count(), 1); 229 EXPECT_EQ(return_target.accelerator_count(), 1);
242 EXPECT_EQ(return_target2.accelerator_count(), 1); 230 EXPECT_EQ(return_target2.accelerator_count(), 1);
243 231
244 // Register a target that does not process the accelerator event. 232 // Register a target that does not process the accelerator event.
245 TestAcceleratorTarget return_target3(false); 233 TestAcceleratorTarget return_target3(false);
246 EXPECT_EQ(return_target3.accelerator_count(), 0); 234 EXPECT_EQ(return_target3.accelerator_count(), 0);
247 focus_manager->RegisterAccelerator(return_accelerator, 235 focus_manager->RegisterAccelerator(return_accelerator,
248 ui::AcceleratorManager::kNormalPriority, 236 ui::AcceleratorManager::kNormalPriority,
249 &return_target3); 237 &return_target3);
250 EXPECT_EQ(&return_target3,
251 focus_manager->GetCurrentTargetForAccelerator(return_accelerator));
252
253 // Hitting the return key. 238 // Hitting the return key.
254 // Since the event handler of return_target3 returns false, return_target2 239 // Since the event handler of return_target3 returns false, return_target2
255 // should be called too. 240 // should be called too.
256 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator)); 241 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator));
257 EXPECT_EQ(return_target.accelerator_count(), 1); 242 EXPECT_EQ(return_target.accelerator_count(), 1);
258 EXPECT_EQ(return_target2.accelerator_count(), 2); 243 EXPECT_EQ(return_target2.accelerator_count(), 2);
259 EXPECT_EQ(return_target3.accelerator_count(), 1); 244 EXPECT_EQ(return_target3.accelerator_count(), 1);
260 245
261 // Unregister return_target2. 246 // Unregister return_target2.
262 focus_manager->UnregisterAccelerator(return_accelerator, &return_target2); 247 focus_manager->UnregisterAccelerator(return_accelerator, &return_target2);
263 EXPECT_EQ(&return_target3,
264 focus_manager->GetCurrentTargetForAccelerator(return_accelerator));
265 248
266 // Hitting the return key. return_target3 and return_target should be called. 249 // Hitting the return key. return_target3 and return_target should be called.
267 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator)); 250 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator));
268 EXPECT_EQ(return_target.accelerator_count(), 2); 251 EXPECT_EQ(return_target.accelerator_count(), 2);
269 EXPECT_EQ(return_target2.accelerator_count(), 2); 252 EXPECT_EQ(return_target2.accelerator_count(), 2);
270 EXPECT_EQ(return_target3.accelerator_count(), 2); 253 EXPECT_EQ(return_target3.accelerator_count(), 2);
271 254
272 // Unregister targets. 255 // Unregister targets.
273 focus_manager->UnregisterAccelerator(return_accelerator, &return_target); 256 focus_manager->UnregisterAccelerator(return_accelerator, &return_target);
274 focus_manager->UnregisterAccelerator(return_accelerator, &return_target3); 257 focus_manager->UnregisterAccelerator(return_accelerator, &return_target3);
275 focus_manager->UnregisterAccelerator(escape_accelerator, &escape_target); 258 focus_manager->UnregisterAccelerator(escape_accelerator, &escape_target);
276 259
277 // Now there is no target registered.
278 EXPECT_EQ(NULL,
279 focus_manager->GetCurrentTargetForAccelerator(return_accelerator));
280 EXPECT_EQ(NULL,
281 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
282
283 // Hitting the return key and the escape key. Nothing should happen. 260 // Hitting the return key and the escape key. Nothing should happen.
284 EXPECT_FALSE(focus_manager->ProcessAccelerator(return_accelerator)); 261 EXPECT_FALSE(focus_manager->ProcessAccelerator(return_accelerator));
285 EXPECT_EQ(return_target.accelerator_count(), 2); 262 EXPECT_EQ(return_target.accelerator_count(), 2);
286 EXPECT_EQ(return_target2.accelerator_count(), 2); 263 EXPECT_EQ(return_target2.accelerator_count(), 2);
287 EXPECT_EQ(return_target3.accelerator_count(), 2); 264 EXPECT_EQ(return_target3.accelerator_count(), 2);
288 EXPECT_FALSE(focus_manager->ProcessAccelerator(escape_accelerator)); 265 EXPECT_FALSE(focus_manager->ProcessAccelerator(escape_accelerator));
289 EXPECT_EQ(escape_target.accelerator_count(), 1); 266 EXPECT_EQ(escape_target.accelerator_count(), 1);
290 } 267 }
291 268
292 TEST_F(FocusManagerTest, HighPriorityHandlers) { 269 TEST_F(FocusManagerTest, HighPriorityHandlers) {
293 FocusManager* focus_manager = GetFocusManager(); 270 FocusManager* focus_manager = GetFocusManager();
294 ui::Accelerator escape_accelerator(ui::VKEY_ESCAPE, ui::EF_NONE); 271 ui::Accelerator escape_accelerator(ui::VKEY_ESCAPE, ui::EF_NONE);
295 272
296 TestAcceleratorTarget escape_target_high(true); 273 TestAcceleratorTarget escape_target_high(true);
297 TestAcceleratorTarget escape_target_normal(true); 274 TestAcceleratorTarget escape_target_normal(true);
298 EXPECT_EQ(escape_target_high.accelerator_count(), 0); 275 EXPECT_EQ(escape_target_high.accelerator_count(), 0);
299 EXPECT_EQ(escape_target_normal.accelerator_count(), 0); 276 EXPECT_EQ(escape_target_normal.accelerator_count(), 0);
300 EXPECT_EQ(NULL,
301 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
302 EXPECT_FALSE(focus_manager->HasPriorityHandler(escape_accelerator)); 277 EXPECT_FALSE(focus_manager->HasPriorityHandler(escape_accelerator));
303 278
304 // Register high priority target. 279 // Register high priority target.
305 focus_manager->RegisterAccelerator(escape_accelerator, 280 focus_manager->RegisterAccelerator(escape_accelerator,
306 ui::AcceleratorManager::kHighPriority, 281 ui::AcceleratorManager::kHighPriority,
307 &escape_target_high); 282 &escape_target_high);
308 EXPECT_EQ(&escape_target_high,
309 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
310 EXPECT_TRUE(focus_manager->HasPriorityHandler(escape_accelerator)); 283 EXPECT_TRUE(focus_manager->HasPriorityHandler(escape_accelerator));
311 284
312 // Hit the escape key. 285 // Hit the escape key.
313 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator)); 286 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator));
314 EXPECT_EQ(escape_target_high.accelerator_count(), 1); 287 EXPECT_EQ(escape_target_high.accelerator_count(), 1);
315 EXPECT_EQ(escape_target_normal.accelerator_count(), 0); 288 EXPECT_EQ(escape_target_normal.accelerator_count(), 0);
316 289
317 // Add a normal priority target and make sure it doesn't see the key. 290 // Add a normal priority target and make sure it doesn't see the key.
318 focus_manager->RegisterAccelerator(escape_accelerator, 291 focus_manager->RegisterAccelerator(escape_accelerator,
319 ui::AcceleratorManager::kNormalPriority, 292 ui::AcceleratorManager::kNormalPriority,
320 &escape_target_normal); 293 &escape_target_normal);
321 294
322 // Checks if the correct target is registered (same as before, the high 295 // Checks if the correct target is registered (same as before, the high
323 // priority one). 296 // priority one).
324 EXPECT_EQ(&escape_target_high,
325 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
326 EXPECT_TRUE(focus_manager->HasPriorityHandler(escape_accelerator)); 297 EXPECT_TRUE(focus_manager->HasPriorityHandler(escape_accelerator));
327 298
328 // Hit the escape key. 299 // Hit the escape key.
329 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator)); 300 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator));
330 EXPECT_EQ(escape_target_high.accelerator_count(), 2); 301 EXPECT_EQ(escape_target_high.accelerator_count(), 2);
331 EXPECT_EQ(escape_target_normal.accelerator_count(), 0); 302 EXPECT_EQ(escape_target_normal.accelerator_count(), 0);
332 303
333 // Unregister the high priority accelerator. 304 // Unregister the high priority accelerator.
334 focus_manager->UnregisterAccelerator(escape_accelerator, &escape_target_high); 305 focus_manager->UnregisterAccelerator(escape_accelerator, &escape_target_high);
335 EXPECT_EQ(&escape_target_normal,
336 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
337 EXPECT_FALSE(focus_manager->HasPriorityHandler(escape_accelerator)); 306 EXPECT_FALSE(focus_manager->HasPriorityHandler(escape_accelerator));
338 307
339 // Hit the escape key. 308 // Hit the escape key.
340 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator)); 309 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator));
341 EXPECT_EQ(escape_target_high.accelerator_count(), 2); 310 EXPECT_EQ(escape_target_high.accelerator_count(), 2);
342 EXPECT_EQ(escape_target_normal.accelerator_count(), 1); 311 EXPECT_EQ(escape_target_normal.accelerator_count(), 1);
343 312
344 // Add the high priority target back and make sure it starts seeing the key. 313 // Add the high priority target back and make sure it starts seeing the key.
345 focus_manager->RegisterAccelerator(escape_accelerator, 314 focus_manager->RegisterAccelerator(escape_accelerator,
346 ui::AcceleratorManager::kHighPriority, 315 ui::AcceleratorManager::kHighPriority,
347 &escape_target_high); 316 &escape_target_high);
348 EXPECT_EQ(&escape_target_high,
349 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
350 EXPECT_TRUE(focus_manager->HasPriorityHandler(escape_accelerator)); 317 EXPECT_TRUE(focus_manager->HasPriorityHandler(escape_accelerator));
351 318
352 // Hit the escape key. 319 // Hit the escape key.
353 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator)); 320 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator));
354 EXPECT_EQ(escape_target_high.accelerator_count(), 3); 321 EXPECT_EQ(escape_target_high.accelerator_count(), 3);
355 EXPECT_EQ(escape_target_normal.accelerator_count(), 1); 322 EXPECT_EQ(escape_target_normal.accelerator_count(), 1);
356 323
357 // Unregister the normal priority accelerator. 324 // Unregister the normal priority accelerator.
358 focus_manager->UnregisterAccelerator( 325 focus_manager->UnregisterAccelerator(
359 escape_accelerator, &escape_target_normal); 326 escape_accelerator, &escape_target_normal);
360 EXPECT_EQ(&escape_target_high,
361 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
362 EXPECT_TRUE(focus_manager->HasPriorityHandler(escape_accelerator)); 327 EXPECT_TRUE(focus_manager->HasPriorityHandler(escape_accelerator));
363 328
364 // Hit the escape key. 329 // Hit the escape key.
365 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator)); 330 EXPECT_TRUE(focus_manager->ProcessAccelerator(escape_accelerator));
366 EXPECT_EQ(escape_target_high.accelerator_count(), 4); 331 EXPECT_EQ(escape_target_high.accelerator_count(), 4);
367 EXPECT_EQ(escape_target_normal.accelerator_count(), 1); 332 EXPECT_EQ(escape_target_normal.accelerator_count(), 1);
368 333
369 // Unregister the high priority accelerator. 334 // Unregister the high priority accelerator.
370 focus_manager->UnregisterAccelerator(escape_accelerator, &escape_target_high); 335 focus_manager->UnregisterAccelerator(escape_accelerator, &escape_target_high);
371 EXPECT_EQ(NULL,
372 focus_manager->GetCurrentTargetForAccelerator(escape_accelerator));
373 EXPECT_FALSE(focus_manager->HasPriorityHandler(escape_accelerator)); 336 EXPECT_FALSE(focus_manager->HasPriorityHandler(escape_accelerator));
374 337
375 // Hit the escape key (no change, no targets registered). 338 // Hit the escape key (no change, no targets registered).
376 EXPECT_FALSE(focus_manager->ProcessAccelerator(escape_accelerator)); 339 EXPECT_FALSE(focus_manager->ProcessAccelerator(escape_accelerator));
377 EXPECT_EQ(escape_target_high.accelerator_count(), 4); 340 EXPECT_EQ(escape_target_high.accelerator_count(), 4);
378 EXPECT_EQ(escape_target_normal.accelerator_count(), 1); 341 EXPECT_EQ(escape_target_normal.accelerator_count(), 1);
379 } 342 }
380 343
381 TEST_F(FocusManagerTest, CallsEnabledAcceleratorTargetsOnly) { 344 TEST_F(FocusManagerTest, CallsEnabledAcceleratorTargetsOnly) {
382 FocusManager* focus_manager = GetFocusManager(); 345 FocusManager* focus_manager = GetFocusManager();
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 int accelerator_count_; 405 int accelerator_count_;
443 406
444 DISALLOW_COPY_AND_ASSIGN(SelfUnregisteringAcceleratorTarget); 407 DISALLOW_COPY_AND_ASSIGN(SelfUnregisteringAcceleratorTarget);
445 }; 408 };
446 409
447 TEST_F(FocusManagerTest, CallsSelfDeletingAcceleratorTarget) { 410 TEST_F(FocusManagerTest, CallsSelfDeletingAcceleratorTarget) {
448 FocusManager* focus_manager = GetFocusManager(); 411 FocusManager* focus_manager = GetFocusManager();
449 ui::Accelerator return_accelerator(ui::VKEY_RETURN, ui::EF_NONE); 412 ui::Accelerator return_accelerator(ui::VKEY_RETURN, ui::EF_NONE);
450 SelfUnregisteringAcceleratorTarget target(return_accelerator, focus_manager); 413 SelfUnregisteringAcceleratorTarget target(return_accelerator, focus_manager);
451 EXPECT_EQ(target.accelerator_count(), 0); 414 EXPECT_EQ(target.accelerator_count(), 0);
452 EXPECT_EQ(NULL,
453 focus_manager->GetCurrentTargetForAccelerator(return_accelerator));
454 415
455 // Register the target. 416 // Register the target.
456 focus_manager->RegisterAccelerator(return_accelerator, 417 focus_manager->RegisterAccelerator(return_accelerator,
457 ui::AcceleratorManager::kNormalPriority, 418 ui::AcceleratorManager::kNormalPriority,
458 &target); 419 &target);
459 EXPECT_EQ(&target,
460 focus_manager->GetCurrentTargetForAccelerator(return_accelerator));
461 420
462 // Hitting the return key. The target will be unregistered. 421 // Hitting the return key. The target will be unregistered.
463 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator)); 422 EXPECT_TRUE(focus_manager->ProcessAccelerator(return_accelerator));
464 EXPECT_EQ(target.accelerator_count(), 1); 423 EXPECT_EQ(target.accelerator_count(), 1);
465 EXPECT_EQ(NULL,
466 focus_manager->GetCurrentTargetForAccelerator(return_accelerator));
467 424
468 // Hitting the return key again; nothing should happen. 425 // Hitting the return key again; nothing should happen.
469 EXPECT_FALSE(focus_manager->ProcessAccelerator(return_accelerator)); 426 EXPECT_FALSE(focus_manager->ProcessAccelerator(return_accelerator));
470 EXPECT_EQ(target.accelerator_count(), 1); 427 EXPECT_EQ(target.accelerator_count(), 1);
471 } 428 }
472 429
473 TEST_F(FocusManagerTest, SuspendAccelerators) { 430 TEST_F(FocusManagerTest, SuspendAccelerators) {
474 const ui::KeyEvent event(ui::ET_KEY_PRESSED, ui::VKEY_RETURN, ui::EF_NONE); 431 const ui::KeyEvent event(ui::ET_KEY_PRESSED, ui::VKEY_RETURN, ui::EF_NONE);
475 ui::Accelerator accelerator(event.key_code(), event.flags()); 432 ui::Accelerator accelerator(event.key_code(), event.flags());
476 TestAcceleratorTarget target(true); 433 TestAcceleratorTarget target(true);
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
874 EXPECT_EQ(view1, GetFocusManager()->GetFocusedView()); 831 EXPECT_EQ(view1, GetFocusManager()->GetFocusedView());
875 832
876 // Allow focus to go to the parent, and focus backwards which should now move 833 // Allow focus to go to the parent, and focus backwards which should now move
877 // up |widget_view| (in the parent). 834 // up |widget_view| (in the parent).
878 delegate->set_should_advance_focus_to_parent(true); 835 delegate->set_should_advance_focus_to_parent(true);
879 GetFocusManager()->AdvanceFocus(true); 836 GetFocusManager()->AdvanceFocus(true);
880 EXPECT_EQ(widget_view, GetFocusManager()->GetFocusedView()); 837 EXPECT_EQ(widget_view, GetFocusManager()->GetFocusedView());
881 } 838 }
882 839
883 } // namespace views 840 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/focus/focus_manager_delegate.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698