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

Side by Side Diff: ash/accelerators/accelerator_controller_unittest.cc

Issue 10399085: accelerators: Remove deprecated Accelerator ctor that takes booleans. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix aura_shell_unittests Created 8 years, 7 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
« no previous file with comments | « no previous file | ash/accelerators/nested_dispatcher_controller_unittest.cc » ('j') | 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 "ash/accelerators/accelerator_controller.h" 5 #include "ash/accelerators/accelerator_controller.h"
6 #include "ash/caps_lock_delegate.h" 6 #include "ash/caps_lock_delegate.h"
7 #include "ash/ime_control_delegate.h" 7 #include "ash/ime_control_delegate.h"
8 #include "ash/screenshot_delegate.h" 8 #include "ash/screenshot_delegate.h"
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/shell_window_ids.h" 10 #include "ash/shell_window_ids.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 virtual bool CanHandleAccelerators() const OVERRIDE; 46 virtual bool CanHandleAccelerators() const OVERRIDE;
47 47
48 private: 48 private:
49 int accelerator_pressed_count_; 49 int accelerator_pressed_count_;
50 50
51 DISALLOW_COPY_AND_ASSIGN(TestTarget); 51 DISALLOW_COPY_AND_ASSIGN(TestTarget);
52 }; 52 };
53 53
54 class ReleaseAccelerator : public ui::Accelerator { 54 class ReleaseAccelerator : public ui::Accelerator {
55 public: 55 public:
56 ReleaseAccelerator(ui::KeyboardCode keycode, 56 ReleaseAccelerator(ui::KeyboardCode keycode, int modifiers)
57 bool shift_pressed, 57 : ui::Accelerator(keycode, modifiers) {
58 bool ctrl_pressed,
59 bool alt_pressed)
60 : ui::Accelerator(keycode, shift_pressed, ctrl_pressed, alt_pressed) {
61 set_type(ui::ET_KEY_RELEASED); 58 set_type(ui::ET_KEY_RELEASED);
62 } 59 }
63 }; 60 };
64 61
65 class DummyScreenshotDelegate : public ScreenshotDelegate { 62 class DummyScreenshotDelegate : public ScreenshotDelegate {
66 public: 63 public:
67 DummyScreenshotDelegate() 64 DummyScreenshotDelegate()
68 : handle_take_screenshot_count_(0), 65 : handle_take_screenshot_count_(0),
69 handle_take_partial_screenshot_count_(0) { 66 handle_take_partial_screenshot_count_(0) {
70 } 67 }
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 virtual ~AcceleratorControllerTest() {}; 275 virtual ~AcceleratorControllerTest() {};
279 276
280 static AcceleratorController* GetController(); 277 static AcceleratorController* GetController();
281 }; 278 };
282 279
283 AcceleratorController* AcceleratorControllerTest::GetController() { 280 AcceleratorController* AcceleratorControllerTest::GetController() {
284 return Shell::GetInstance()->accelerator_controller(); 281 return Shell::GetInstance()->accelerator_controller();
285 } 282 }
286 283
287 TEST_F(AcceleratorControllerTest, Register) { 284 TEST_F(AcceleratorControllerTest, Register) {
288 const ui::Accelerator accelerator_a(ui::VKEY_A, false, false, false); 285 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
289 TestTarget target; 286 TestTarget target;
290 GetController()->Register(accelerator_a, &target); 287 GetController()->Register(accelerator_a, &target);
291 288
292 // The registered accelerator is processed. 289 // The registered accelerator is processed.
293 EXPECT_TRUE(GetController()->Process(accelerator_a)); 290 EXPECT_TRUE(GetController()->Process(accelerator_a));
294 EXPECT_EQ(1, target.accelerator_pressed_count()); 291 EXPECT_EQ(1, target.accelerator_pressed_count());
295 } 292 }
296 293
297 TEST_F(AcceleratorControllerTest, RegisterMultipleTarget) { 294 TEST_F(AcceleratorControllerTest, RegisterMultipleTarget) {
298 const ui::Accelerator accelerator_a(ui::VKEY_A, false, false, false); 295 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
299 TestTarget target1; 296 TestTarget target1;
300 GetController()->Register(accelerator_a, &target1); 297 GetController()->Register(accelerator_a, &target1);
301 TestTarget target2; 298 TestTarget target2;
302 GetController()->Register(accelerator_a, &target2); 299 GetController()->Register(accelerator_a, &target2);
303 300
304 // If multiple targets are registered with the same accelerator, the target 301 // If multiple targets are registered with the same accelerator, the target
305 // registered later processes the accelerator. 302 // registered later processes the accelerator.
306 EXPECT_TRUE(GetController()->Process(accelerator_a)); 303 EXPECT_TRUE(GetController()->Process(accelerator_a));
307 EXPECT_EQ(0, target1.accelerator_pressed_count()); 304 EXPECT_EQ(0, target1.accelerator_pressed_count());
308 EXPECT_EQ(1, target2.accelerator_pressed_count()); 305 EXPECT_EQ(1, target2.accelerator_pressed_count());
309 } 306 }
310 307
311 TEST_F(AcceleratorControllerTest, Unregister) { 308 TEST_F(AcceleratorControllerTest, Unregister) {
312 const ui::Accelerator accelerator_a(ui::VKEY_A, false, false, false); 309 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
313 TestTarget target; 310 TestTarget target;
314 GetController()->Register(accelerator_a, &target); 311 GetController()->Register(accelerator_a, &target);
315 const ui::Accelerator accelerator_b(ui::VKEY_B, false, false, false); 312 const ui::Accelerator accelerator_b(ui::VKEY_B, ui::EF_NONE);
316 GetController()->Register(accelerator_b, &target); 313 GetController()->Register(accelerator_b, &target);
317 314
318 // Unregistering a different accelerator does not affect the other 315 // Unregistering a different accelerator does not affect the other
319 // accelerator. 316 // accelerator.
320 GetController()->Unregister(accelerator_b, &target); 317 GetController()->Unregister(accelerator_b, &target);
321 EXPECT_TRUE(GetController()->Process(accelerator_a)); 318 EXPECT_TRUE(GetController()->Process(accelerator_a));
322 EXPECT_EQ(1, target.accelerator_pressed_count()); 319 EXPECT_EQ(1, target.accelerator_pressed_count());
323 320
324 // The unregistered accelerator is no longer processed. 321 // The unregistered accelerator is no longer processed.
325 target.set_accelerator_pressed_count(0); 322 target.set_accelerator_pressed_count(0);
326 GetController()->Unregister(accelerator_a, &target); 323 GetController()->Unregister(accelerator_a, &target);
327 EXPECT_FALSE(GetController()->Process(accelerator_a)); 324 EXPECT_FALSE(GetController()->Process(accelerator_a));
328 EXPECT_EQ(0, target.accelerator_pressed_count()); 325 EXPECT_EQ(0, target.accelerator_pressed_count());
329 } 326 }
330 327
331 TEST_F(AcceleratorControllerTest, UnregisterAll) { 328 TEST_F(AcceleratorControllerTest, UnregisterAll) {
332 const ui::Accelerator accelerator_a(ui::VKEY_A, false, false, false); 329 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
333 TestTarget target1; 330 TestTarget target1;
334 GetController()->Register(accelerator_a, &target1); 331 GetController()->Register(accelerator_a, &target1);
335 const ui::Accelerator accelerator_b(ui::VKEY_B, false, false, false); 332 const ui::Accelerator accelerator_b(ui::VKEY_B, ui::EF_NONE);
336 GetController()->Register(accelerator_b, &target1); 333 GetController()->Register(accelerator_b, &target1);
337 const ui::Accelerator accelerator_c(ui::VKEY_C, false, false, false); 334 const ui::Accelerator accelerator_c(ui::VKEY_C, ui::EF_NONE);
338 TestTarget target2; 335 TestTarget target2;
339 GetController()->Register(accelerator_c, &target2); 336 GetController()->Register(accelerator_c, &target2);
340 GetController()->UnregisterAll(&target1); 337 GetController()->UnregisterAll(&target1);
341 338
342 // All the accelerators registered for |target1| are no longer processed. 339 // All the accelerators registered for |target1| are no longer processed.
343 EXPECT_FALSE(GetController()->Process(accelerator_a)); 340 EXPECT_FALSE(GetController()->Process(accelerator_a));
344 EXPECT_FALSE(GetController()->Process(accelerator_b)); 341 EXPECT_FALSE(GetController()->Process(accelerator_b));
345 EXPECT_EQ(0, target1.accelerator_pressed_count()); 342 EXPECT_EQ(0, target1.accelerator_pressed_count());
346 343
347 // UnregisterAll with a different target does not affect the other target. 344 // UnregisterAll with a different target does not affect the other target.
348 EXPECT_TRUE(GetController()->Process(accelerator_c)); 345 EXPECT_TRUE(GetController()->Process(accelerator_c));
349 EXPECT_EQ(1, target2.accelerator_pressed_count()); 346 EXPECT_EQ(1, target2.accelerator_pressed_count());
350 } 347 }
351 348
352 TEST_F(AcceleratorControllerTest, Process) { 349 TEST_F(AcceleratorControllerTest, Process) {
353 const ui::Accelerator accelerator_a(ui::VKEY_A, false, false, false); 350 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
354 TestTarget target1; 351 TestTarget target1;
355 GetController()->Register(accelerator_a, &target1); 352 GetController()->Register(accelerator_a, &target1);
356 353
357 // The registered accelerator is processed. 354 // The registered accelerator is processed.
358 EXPECT_TRUE(GetController()->Process(accelerator_a)); 355 EXPECT_TRUE(GetController()->Process(accelerator_a));
359 EXPECT_EQ(1, target1.accelerator_pressed_count()); 356 EXPECT_EQ(1, target1.accelerator_pressed_count());
360 357
361 // The non-registered accelerator is not processed. 358 // The non-registered accelerator is not processed.
362 const ui::Accelerator accelerator_b(ui::VKEY_B, false, false, false); 359 const ui::Accelerator accelerator_b(ui::VKEY_B, ui::EF_NONE);
363 EXPECT_FALSE(GetController()->Process(accelerator_b)); 360 EXPECT_FALSE(GetController()->Process(accelerator_b));
364 } 361 }
365 362
366 TEST_F(AcceleratorControllerTest, IsRegistered) { 363 TEST_F(AcceleratorControllerTest, IsRegistered) {
367 const ui::Accelerator accelerator_a(ui::VKEY_A, false, false, false); 364 const ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
368 const ui::Accelerator accelerator_shift_a(ui::VKEY_A, true, false, false); 365 const ui::Accelerator accelerator_shift_a(ui::VKEY_A, ui::EF_SHIFT_DOWN);
369 TestTarget target; 366 TestTarget target;
370 GetController()->Register(accelerator_a, &target); 367 GetController()->Register(accelerator_a, &target);
371 EXPECT_TRUE(GetController()->IsRegistered(accelerator_a)); 368 EXPECT_TRUE(GetController()->IsRegistered(accelerator_a));
372 EXPECT_FALSE(GetController()->IsRegistered(accelerator_shift_a)); 369 EXPECT_FALSE(GetController()->IsRegistered(accelerator_shift_a));
373 GetController()->UnregisterAll(&target); 370 GetController()->UnregisterAll(&target);
374 EXPECT_FALSE(GetController()->IsRegistered(accelerator_a)); 371 EXPECT_FALSE(GetController()->IsRegistered(accelerator_a));
375 } 372 }
376 373
377 #if defined(OS_WIN) || defined(USE_X11) 374 #if defined(OS_WIN) || defined(USE_X11)
378 TEST_F(AcceleratorControllerTest, ProcessOnce) { 375 TEST_F(AcceleratorControllerTest, ProcessOnce) {
379 ui::Accelerator accelerator_a(ui::VKEY_A, false, false, false); 376 ui::Accelerator accelerator_a(ui::VKEY_A, ui::EF_NONE);
380 TestTarget target; 377 TestTarget target;
381 GetController()->Register(accelerator_a, &target); 378 GetController()->Register(accelerator_a, &target);
382 379
383 // The accelerator is processed only once. 380 // The accelerator is processed only once.
384 #if defined(OS_WIN) 381 #if defined(OS_WIN)
385 MSG msg1 = { NULL, WM_KEYDOWN, ui::VKEY_A, 0 }; 382 MSG msg1 = { NULL, WM_KEYDOWN, ui::VKEY_A, 0 };
386 aura::TranslatedKeyEvent key_event1(msg1, false); 383 aura::TranslatedKeyEvent key_event1(msg1, false);
387 EXPECT_TRUE(Shell::GetRootWindow()->DispatchKeyEvent(&key_event1)); 384 EXPECT_TRUE(Shell::GetRootWindow()->DispatchKeyEvent(&key_event1));
388 385
389 MSG msg2 = { NULL, WM_CHAR, L'A', 0 }; 386 MSG msg2 = { NULL, WM_CHAR, L'A', 0 };
(...skipping 23 matching lines...) Expand all
413 EXPECT_FALSE(Shell::GetRootWindow()->DispatchKeyEvent(&key_event3)); 410 EXPECT_FALSE(Shell::GetRootWindow()->DispatchKeyEvent(&key_event3));
414 #endif 411 #endif
415 EXPECT_EQ(1, target.accelerator_pressed_count()); 412 EXPECT_EQ(1, target.accelerator_pressed_count());
416 } 413 }
417 #endif 414 #endif
418 415
419 // Disabled due to a real bug, see http://crbug.com/127538. 416 // Disabled due to a real bug, see http://crbug.com/127538.
420 TEST_F(AcceleratorControllerTest, DISABLED_GlobalAccelerators) { 417 TEST_F(AcceleratorControllerTest, DISABLED_GlobalAccelerators) {
421 // CycleBackward 418 // CycleBackward
422 EXPECT_TRUE(GetController()->Process( 419 EXPECT_TRUE(GetController()->Process(
423 ui::Accelerator(ui::VKEY_F5, true, false, false))); 420 ui::Accelerator(ui::VKEY_F5, ui::EF_CONTROL_DOWN)));
424 EXPECT_TRUE(GetController()->Process( 421 EXPECT_TRUE(GetController()->Process(
425 ui::Accelerator(ui::VKEY_TAB, true, false, true))); 422 ui::Accelerator(ui::VKEY_TAB, ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN)));
426 // CycleForward 423 // CycleForward
427 EXPECT_TRUE(GetController()->Process( 424 EXPECT_TRUE(GetController()->Process(
428 ui::Accelerator(ui::VKEY_F5, false, false, false))); 425 ui::Accelerator(ui::VKEY_F5, ui::EF_NONE)));
429 EXPECT_TRUE(GetController()->Process( 426 EXPECT_TRUE(GetController()->Process(
430 ui::Accelerator(ui::VKEY_TAB, false, false, true))); 427 ui::Accelerator(ui::VKEY_TAB, ui::EF_ALT_DOWN)));
431 // Take screenshot / partial screenshot 428 // Take screenshot / partial screenshot
432 // True should always be returned regardless of the existence of the delegate. 429 // True should always be returned regardless of the existence of the delegate.
433 { 430 {
434 EXPECT_TRUE(GetController()->Process( 431 EXPECT_TRUE(GetController()->Process(
435 ui::Accelerator(ui::VKEY_F5, false, true, false))); 432 ui::Accelerator(ui::VKEY_F5, ui::EF_CONTROL_DOWN)));
436 EXPECT_TRUE(GetController()->Process( 433 EXPECT_TRUE(GetController()->Process(
437 ui::Accelerator(ui::VKEY_PRINT, false, false, false))); 434 ui::Accelerator(ui::VKEY_PRINT, ui::EF_NONE)));
438 EXPECT_TRUE(GetController()->Process( 435 EXPECT_TRUE(GetController()->Process(
439 ui::Accelerator(ui::VKEY_F5, true, true, false))); 436 ui::Accelerator(ui::VKEY_F5, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
440 DummyScreenshotDelegate* delegate = new DummyScreenshotDelegate; 437 DummyScreenshotDelegate* delegate = new DummyScreenshotDelegate;
441 GetController()->SetScreenshotDelegate( 438 GetController()->SetScreenshotDelegate(
442 scoped_ptr<ScreenshotDelegate>(delegate).Pass()); 439 scoped_ptr<ScreenshotDelegate>(delegate).Pass());
443 EXPECT_EQ(0, delegate->handle_take_screenshot_count()); 440 EXPECT_EQ(0, delegate->handle_take_screenshot_count());
444 EXPECT_EQ(0, delegate->handle_take_partial_screenshot_count()); 441 EXPECT_EQ(0, delegate->handle_take_partial_screenshot_count());
445 EXPECT_TRUE(GetController()->Process( 442 EXPECT_TRUE(GetController()->Process(
446 ui::Accelerator(ui::VKEY_F5, false, true, false))); 443 ui::Accelerator(ui::VKEY_F5, ui::EF_CONTROL_DOWN)));
447 EXPECT_EQ(1, delegate->handle_take_screenshot_count()); 444 EXPECT_EQ(1, delegate->handle_take_screenshot_count());
448 EXPECT_EQ(0, delegate->handle_take_partial_screenshot_count()); 445 EXPECT_EQ(0, delegate->handle_take_partial_screenshot_count());
449 EXPECT_TRUE(GetController()->Process( 446 EXPECT_TRUE(GetController()->Process(
450 ui::Accelerator(ui::VKEY_PRINT, false, false, false))); 447 ui::Accelerator(ui::VKEY_PRINT, ui::EF_NONE)));
451 EXPECT_EQ(2, delegate->handle_take_screenshot_count()); 448 EXPECT_EQ(2, delegate->handle_take_screenshot_count());
452 EXPECT_EQ(0, delegate->handle_take_partial_screenshot_count()); 449 EXPECT_EQ(0, delegate->handle_take_partial_screenshot_count());
453 EXPECT_TRUE(GetController()->Process( 450 EXPECT_TRUE(GetController()->Process(
454 ui::Accelerator(ui::VKEY_F5, true, true, false))); 451 ui::Accelerator(ui::VKEY_F5, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
455 EXPECT_EQ(2, delegate->handle_take_screenshot_count()); 452 EXPECT_EQ(2, delegate->handle_take_screenshot_count());
456 EXPECT_EQ(1, delegate->handle_take_partial_screenshot_count()); 453 EXPECT_EQ(1, delegate->handle_take_partial_screenshot_count());
457 } 454 }
458 // ToggleAppList 455 // ToggleAppList
459 { 456 {
460 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility()); 457 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
461 EXPECT_TRUE(GetController()->Process( 458 EXPECT_TRUE(GetController()->Process(
462 ui::Accelerator(ui::VKEY_LWIN, false, true, false))); 459 ui::Accelerator(ui::VKEY_LWIN, ui::EF_CONTROL_DOWN)));
463 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility()); 460 EXPECT_TRUE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
464 EXPECT_TRUE(GetController()->Process( 461 EXPECT_TRUE(GetController()->Process(
465 ui::Accelerator(ui::VKEY_LWIN, false, true, false))); 462 ui::Accelerator(ui::VKEY_LWIN, ui::EF_CONTROL_DOWN)));
466 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility()); 463 EXPECT_FALSE(ash::Shell::GetInstance()->GetAppListTargetVisibility());
467 } 464 }
468 // ToggleCapsLock 465 // ToggleCapsLock
469 { 466 {
470 EXPECT_FALSE(GetController()->Process( 467 EXPECT_FALSE(GetController()->Process(
471 ui::Accelerator(ui::VKEY_LWIN, true, false, false))); 468 ui::Accelerator(ui::VKEY_LWIN, ui::EF_SHIFT_DOWN)));
472 DummyCapsLockDelegate* delegate = new DummyCapsLockDelegate(false); 469 DummyCapsLockDelegate* delegate = new DummyCapsLockDelegate(false);
473 GetController()->SetCapsLockDelegate( 470 GetController()->SetCapsLockDelegate(
474 scoped_ptr<CapsLockDelegate>(delegate).Pass()); 471 scoped_ptr<CapsLockDelegate>(delegate).Pass());
475 EXPECT_EQ(0, delegate->handle_caps_lock_count()); 472 EXPECT_EQ(0, delegate->handle_caps_lock_count());
476 EXPECT_FALSE(GetController()->Process( 473 EXPECT_FALSE(GetController()->Process(
477 ui::Accelerator(ui::VKEY_LWIN, true, false, false))); 474 ui::Accelerator(ui::VKEY_LWIN, ui::EF_SHIFT_DOWN)));
478 EXPECT_EQ(1, delegate->handle_caps_lock_count()); 475 EXPECT_EQ(1, delegate->handle_caps_lock_count());
479 } 476 }
480 { 477 {
481 DummyCapsLockDelegate* delegate = new DummyCapsLockDelegate(true); 478 DummyCapsLockDelegate* delegate = new DummyCapsLockDelegate(true);
482 GetController()->SetCapsLockDelegate( 479 GetController()->SetCapsLockDelegate(
483 scoped_ptr<CapsLockDelegate>(delegate).Pass()); 480 scoped_ptr<CapsLockDelegate>(delegate).Pass());
484 EXPECT_EQ(0, delegate->handle_caps_lock_count()); 481 EXPECT_EQ(0, delegate->handle_caps_lock_count());
485 EXPECT_TRUE(GetController()->Process( 482 EXPECT_TRUE(GetController()->Process(
486 ui::Accelerator(ui::VKEY_LWIN, true, false, false))); 483 ui::Accelerator(ui::VKEY_LWIN, ui::EF_SHIFT_DOWN)));
487 EXPECT_EQ(1, delegate->handle_caps_lock_count()); 484 EXPECT_EQ(1, delegate->handle_caps_lock_count());
488 } 485 }
489 // Volume 486 // Volume
490 const ui::Accelerator f8(ui::VKEY_F8, false, false, false); 487 const ui::Accelerator f8(ui::VKEY_F8, ui::EF_NONE);
491 const ui::Accelerator f9(ui::VKEY_F9, false, false, false); 488 const ui::Accelerator f9(ui::VKEY_F9, ui::EF_NONE);
492 const ui::Accelerator f10(ui::VKEY_F10, false, false, false); 489 const ui::Accelerator f10(ui::VKEY_F10, ui::EF_NONE);
493 { 490 {
494 EXPECT_FALSE(GetController()->Process(f8)); 491 EXPECT_FALSE(GetController()->Process(f8));
495 EXPECT_FALSE(GetController()->Process(f9)); 492 EXPECT_FALSE(GetController()->Process(f9));
496 EXPECT_FALSE(GetController()->Process(f10)); 493 EXPECT_FALSE(GetController()->Process(f10));
497 DummyVolumeControlDelegate* delegate = 494 DummyVolumeControlDelegate* delegate =
498 new DummyVolumeControlDelegate(false); 495 new DummyVolumeControlDelegate(false);
499 GetController()->SetVolumeControlDelegate( 496 GetController()->SetVolumeControlDelegate(
500 scoped_ptr<VolumeControlDelegate>(delegate).Pass()); 497 scoped_ptr<VolumeControlDelegate>(delegate).Pass());
501 EXPECT_EQ(0, delegate->handle_volume_mute_count()); 498 EXPECT_EQ(0, delegate->handle_volume_mute_count());
502 EXPECT_FALSE(GetController()->Process(f8)); 499 EXPECT_FALSE(GetController()->Process(f8));
(...skipping 18 matching lines...) Expand all
521 EXPECT_EQ(f8, delegate->last_accelerator()); 518 EXPECT_EQ(f8, delegate->last_accelerator());
522 EXPECT_EQ(0, delegate->handle_volume_down_count()); 519 EXPECT_EQ(0, delegate->handle_volume_down_count());
523 EXPECT_TRUE(GetController()->Process(f9)); 520 EXPECT_TRUE(GetController()->Process(f9));
524 EXPECT_EQ(1, delegate->handle_volume_down_count()); 521 EXPECT_EQ(1, delegate->handle_volume_down_count());
525 EXPECT_EQ(f9, delegate->last_accelerator()); 522 EXPECT_EQ(f9, delegate->last_accelerator());
526 EXPECT_EQ(0, delegate->handle_volume_up_count()); 523 EXPECT_EQ(0, delegate->handle_volume_up_count());
527 EXPECT_TRUE(GetController()->Process(f10)); 524 EXPECT_TRUE(GetController()->Process(f10));
528 EXPECT_EQ(1, delegate->handle_volume_up_count()); 525 EXPECT_EQ(1, delegate->handle_volume_up_count());
529 EXPECT_EQ(f10, delegate->last_accelerator()); 526 EXPECT_EQ(f10, delegate->last_accelerator());
530 } 527 }
531 const ui::Accelerator volume_mute( 528 const ui::Accelerator volume_mute(ui::VKEY_VOLUME_MUTE, ui::EF_NONE);
532 ui::VKEY_VOLUME_MUTE, false, false, false); 529 const ui::Accelerator volume_down(ui::VKEY_VOLUME_DOWN, ui::EF_NONE);
533 const ui::Accelerator volume_down( 530 const ui::Accelerator volume_up(ui::VKEY_VOLUME_UP, ui::EF_NONE);
534 ui::VKEY_VOLUME_DOWN, false, false, false);
535 const ui::Accelerator volume_up(ui::VKEY_VOLUME_UP, false, false, false);
536 { 531 {
537 DummyVolumeControlDelegate* delegate = 532 DummyVolumeControlDelegate* delegate =
538 new DummyVolumeControlDelegate(false); 533 new DummyVolumeControlDelegate(false);
539 GetController()->SetVolumeControlDelegate( 534 GetController()->SetVolumeControlDelegate(
540 scoped_ptr<VolumeControlDelegate>(delegate).Pass()); 535 scoped_ptr<VolumeControlDelegate>(delegate).Pass());
541 EXPECT_EQ(0, delegate->handle_volume_mute_count()); 536 EXPECT_EQ(0, delegate->handle_volume_mute_count());
542 EXPECT_FALSE(GetController()->Process(volume_mute)); 537 EXPECT_FALSE(GetController()->Process(volume_mute));
543 EXPECT_EQ(1, delegate->handle_volume_mute_count()); 538 EXPECT_EQ(1, delegate->handle_volume_mute_count());
544 EXPECT_EQ(volume_mute, delegate->last_accelerator()); 539 EXPECT_EQ(volume_mute, delegate->last_accelerator());
545 EXPECT_EQ(0, delegate->handle_volume_down_count()); 540 EXPECT_EQ(0, delegate->handle_volume_down_count());
(...skipping 16 matching lines...) Expand all
562 EXPECT_EQ(0, delegate->handle_volume_down_count()); 557 EXPECT_EQ(0, delegate->handle_volume_down_count());
563 EXPECT_TRUE(GetController()->Process(volume_down)); 558 EXPECT_TRUE(GetController()->Process(volume_down));
564 EXPECT_EQ(1, delegate->handle_volume_down_count()); 559 EXPECT_EQ(1, delegate->handle_volume_down_count());
565 EXPECT_EQ(volume_down, delegate->last_accelerator()); 560 EXPECT_EQ(volume_down, delegate->last_accelerator());
566 EXPECT_EQ(0, delegate->handle_volume_up_count()); 561 EXPECT_EQ(0, delegate->handle_volume_up_count());
567 EXPECT_TRUE(GetController()->Process(volume_up)); 562 EXPECT_TRUE(GetController()->Process(volume_up));
568 EXPECT_EQ(1, delegate->handle_volume_up_count()); 563 EXPECT_EQ(1, delegate->handle_volume_up_count());
569 EXPECT_EQ(volume_up, delegate->last_accelerator()); 564 EXPECT_EQ(volume_up, delegate->last_accelerator());
570 } 565 }
571 // Brightness 566 // Brightness
572 const ui::Accelerator f6(ui::VKEY_F6, false, false, false); 567 const ui::Accelerator f6(ui::VKEY_F6, ui::EF_NONE);
573 const ui::Accelerator f7(ui::VKEY_F7, false, false, false); 568 const ui::Accelerator f7(ui::VKEY_F7, ui::EF_NONE);
574 { 569 {
575 EXPECT_FALSE(GetController()->Process(f6)); 570 EXPECT_FALSE(GetController()->Process(f6));
576 EXPECT_FALSE(GetController()->Process(f7)); 571 EXPECT_FALSE(GetController()->Process(f7));
577 DummyBrightnessControlDelegate* delegate = 572 DummyBrightnessControlDelegate* delegate =
578 new DummyBrightnessControlDelegate(false); 573 new DummyBrightnessControlDelegate(false);
579 GetController()->SetBrightnessControlDelegate( 574 GetController()->SetBrightnessControlDelegate(
580 scoped_ptr<BrightnessControlDelegate>(delegate).Pass()); 575 scoped_ptr<BrightnessControlDelegate>(delegate).Pass());
581 EXPECT_EQ(0, delegate->handle_brightness_down_count()); 576 EXPECT_EQ(0, delegate->handle_brightness_down_count());
582 EXPECT_FALSE(GetController()->Process(f6)); 577 EXPECT_FALSE(GetController()->Process(f6));
583 EXPECT_EQ(1, delegate->handle_brightness_down_count()); 578 EXPECT_EQ(1, delegate->handle_brightness_down_count());
(...skipping 12 matching lines...) Expand all
596 EXPECT_TRUE(GetController()->Process(f6)); 591 EXPECT_TRUE(GetController()->Process(f6));
597 EXPECT_EQ(1, delegate->handle_brightness_down_count()); 592 EXPECT_EQ(1, delegate->handle_brightness_down_count());
598 EXPECT_EQ(f6, delegate->last_accelerator()); 593 EXPECT_EQ(f6, delegate->last_accelerator());
599 EXPECT_EQ(0, delegate->handle_brightness_up_count()); 594 EXPECT_EQ(0, delegate->handle_brightness_up_count());
600 EXPECT_TRUE(GetController()->Process(f7)); 595 EXPECT_TRUE(GetController()->Process(f7));
601 EXPECT_EQ(1, delegate->handle_brightness_up_count()); 596 EXPECT_EQ(1, delegate->handle_brightness_up_count());
602 EXPECT_EQ(f7, delegate->last_accelerator()); 597 EXPECT_EQ(f7, delegate->last_accelerator());
603 } 598 }
604 #if defined(OS_CHROMEOS) 599 #if defined(OS_CHROMEOS)
605 // ui::VKEY_BRIGHTNESS_DOWN/UP are not defined on Windows. 600 // ui::VKEY_BRIGHTNESS_DOWN/UP are not defined on Windows.
606 const ui::Accelerator brightness_down( 601 const ui::Accelerator brightness_down(ui::VKEY_BRIGHTNESS_DOWN, ui::EF_NONE);
607 ui::VKEY_BRIGHTNESS_DOWN, false, false, false); 602 const ui::Accelerator brightness_up(ui::VKEY_BRIGHTNESS_UP, ui::EF_NONE);
608 const ui::Accelerator brightness_up(
609 ui::VKEY_BRIGHTNESS_UP, false, false, false);
610 { 603 {
611 DummyBrightnessControlDelegate* delegate = 604 DummyBrightnessControlDelegate* delegate =
612 new DummyBrightnessControlDelegate(false); 605 new DummyBrightnessControlDelegate(false);
613 GetController()->SetBrightnessControlDelegate( 606 GetController()->SetBrightnessControlDelegate(
614 scoped_ptr<BrightnessControlDelegate>(delegate).Pass()); 607 scoped_ptr<BrightnessControlDelegate>(delegate).Pass());
615 EXPECT_EQ(0, delegate->handle_brightness_down_count()); 608 EXPECT_EQ(0, delegate->handle_brightness_down_count());
616 EXPECT_FALSE(GetController()->Process(brightness_down)); 609 EXPECT_FALSE(GetController()->Process(brightness_down));
617 EXPECT_EQ(1, delegate->handle_brightness_down_count()); 610 EXPECT_EQ(1, delegate->handle_brightness_down_count());
618 EXPECT_EQ(brightness_down, delegate->last_accelerator()); 611 EXPECT_EQ(brightness_down, delegate->last_accelerator());
619 EXPECT_EQ(0, delegate->handle_brightness_up_count()); 612 EXPECT_EQ(0, delegate->handle_brightness_up_count());
(...skipping 12 matching lines...) Expand all
632 EXPECT_EQ(brightness_down, delegate->last_accelerator()); 625 EXPECT_EQ(brightness_down, delegate->last_accelerator());
633 EXPECT_EQ(0, delegate->handle_brightness_up_count()); 626 EXPECT_EQ(0, delegate->handle_brightness_up_count());
634 EXPECT_TRUE(GetController()->Process(brightness_up)); 627 EXPECT_TRUE(GetController()->Process(brightness_up));
635 EXPECT_EQ(1, delegate->handle_brightness_up_count()); 628 EXPECT_EQ(1, delegate->handle_brightness_up_count());
636 EXPECT_EQ(brightness_up, delegate->last_accelerator()); 629 EXPECT_EQ(brightness_up, delegate->last_accelerator());
637 } 630 }
638 #endif 631 #endif
639 #if !defined(NDEBUG) 632 #if !defined(NDEBUG)
640 // RotateScreen 633 // RotateScreen
641 EXPECT_TRUE(GetController()->Process( 634 EXPECT_TRUE(GetController()->Process(
642 ui::Accelerator(ui::VKEY_HOME, false, true, false))); 635 ui::Accelerator(ui::VKEY_HOME, ui::EF_CONTROL_DOWN)));
643 // ToggleDesktopBackgroundMode 636 // ToggleDesktopBackgroundMode
644 EXPECT_TRUE(GetController()->Process( 637 EXPECT_TRUE(GetController()->Process(
645 ui::Accelerator(ui::VKEY_B, false, true, true))); 638 ui::Accelerator(ui::VKEY_B, ui::EF_CONTROL_DOWN | ui::EF_ALT_DOWN)));
646 #if !defined(OS_LINUX) 639 #if !defined(OS_LINUX)
647 // ToggleDesktopFullScreen (not implemented yet on Linux) 640 // ToggleDesktopFullScreen (not implemented yet on Linux)
648 EXPECT_TRUE(GetController()->Process( 641 EXPECT_TRUE(GetController()->Process(
649 ui::Accelerator(ui::VKEY_F11, false, true, false))); 642 ui::Accelerator(ui::VKEY_F11, ui::EF_CONTROL_DOWN)));
650 #endif // OS_LINUX 643 #endif // OS_LINUX
651 #endif // !NDEBUG 644 #endif // !NDEBUG
652 645
653 // Exit 646 // Exit
654 EXPECT_TRUE(GetController()->Process( 647 EXPECT_TRUE(GetController()->Process(
655 ui::Accelerator(ui::VKEY_Q, true, true ,false))); 648 ui::Accelerator(ui::VKEY_Q, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
656 649
657 // New incognito window 650 // New incognito window
658 EXPECT_TRUE(GetController()->Process( 651 EXPECT_TRUE(GetController()->Process(
659 ui::Accelerator(ui::VKEY_N, true, true, false))); 652 ui::Accelerator(ui::VKEY_N, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
660 653
661 // New window 654 // New window
662 EXPECT_TRUE(GetController()->Process( 655 EXPECT_TRUE(GetController()->Process(
663 ui::Accelerator(ui::VKEY_N, false, true, false))); 656 ui::Accelerator(ui::VKEY_N, ui::EF_CONTROL_DOWN)));
664 657
665 #if defined(OS_CHROMEOS) 658 #if defined(OS_CHROMEOS)
666 EXPECT_TRUE(GetController()->Process( 659 EXPECT_TRUE(GetController()->Process(
667 ui::Accelerator(ui::VKEY_L, true, true, false))); 660 ui::Accelerator(ui::VKEY_L, ui::EF_SHIFT_DOWN | ui::EF_CONTROL_DOWN)));
668 #endif 661 #endif
669 } 662 }
670 663
671 TEST_F(AcceleratorControllerTest, ImeGlobalAccelerators) { 664 TEST_F(AcceleratorControllerTest, ImeGlobalAccelerators) {
672 // Test IME shortcuts. 665 // Test IME shortcuts.
673 { 666 {
674 const ui::Accelerator control_space(ui::VKEY_SPACE, false, true, false); 667 const ui::Accelerator control_space(ui::VKEY_SPACE, ui::EF_CONTROL_DOWN);
675 const ui::Accelerator convert(ui::VKEY_CONVERT, false, false, false); 668 const ui::Accelerator convert(ui::VKEY_CONVERT, ui::EF_NONE);
676 const ui::Accelerator non_convert(ui::VKEY_NONCONVERT, false, false, false); 669 const ui::Accelerator non_convert(ui::VKEY_NONCONVERT, ui::EF_NONE);
677 const ui::Accelerator wide_half_1( 670 const ui::Accelerator wide_half_1(ui::VKEY_DBE_SBCSCHAR, ui::EF_NONE);
678 ui::VKEY_DBE_SBCSCHAR, false, false, false); 671 const ui::Accelerator wide_half_2(ui::VKEY_DBE_DBCSCHAR, ui::EF_NONE);
679 const ui::Accelerator wide_half_2( 672 const ui::Accelerator hangul(ui::VKEY_HANGUL, ui::EF_NONE);
680 ui::VKEY_DBE_DBCSCHAR, false, false, false); 673 const ui::Accelerator shift_space(ui::VKEY_SPACE, ui::EF_SHIFT_DOWN);
681 const ui::Accelerator hangul(ui::VKEY_HANGUL, false, false, false);
682 const ui::Accelerator shift_space(ui::VKEY_SPACE, true, false, false);
683 EXPECT_FALSE(GetController()->Process(control_space)); 674 EXPECT_FALSE(GetController()->Process(control_space));
684 EXPECT_FALSE(GetController()->Process(convert)); 675 EXPECT_FALSE(GetController()->Process(convert));
685 EXPECT_FALSE(GetController()->Process(non_convert)); 676 EXPECT_FALSE(GetController()->Process(non_convert));
686 EXPECT_FALSE(GetController()->Process(wide_half_1)); 677 EXPECT_FALSE(GetController()->Process(wide_half_1));
687 EXPECT_FALSE(GetController()->Process(wide_half_2)); 678 EXPECT_FALSE(GetController()->Process(wide_half_2));
688 EXPECT_FALSE(GetController()->Process(hangul)); 679 EXPECT_FALSE(GetController()->Process(hangul));
689 EXPECT_FALSE(GetController()->Process(shift_space)); 680 EXPECT_FALSE(GetController()->Process(shift_space));
690 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true); 681 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true);
691 GetController()->SetImeControlDelegate( 682 GetController()->SetImeControlDelegate(
692 scoped_ptr<ImeControlDelegate>(delegate).Pass()); 683 scoped_ptr<ImeControlDelegate>(delegate).Pass());
(...skipping 10 matching lines...) Expand all
703 EXPECT_TRUE(GetController()->Process(wide_half_2)); 694 EXPECT_TRUE(GetController()->Process(wide_half_2));
704 EXPECT_EQ(4, delegate->handle_switch_ime_count()); 695 EXPECT_EQ(4, delegate->handle_switch_ime_count());
705 EXPECT_TRUE(GetController()->Process(hangul)); 696 EXPECT_TRUE(GetController()->Process(hangul));
706 EXPECT_EQ(5, delegate->handle_switch_ime_count()); 697 EXPECT_EQ(5, delegate->handle_switch_ime_count());
707 EXPECT_TRUE(GetController()->Process(shift_space)); 698 EXPECT_TRUE(GetController()->Process(shift_space));
708 EXPECT_EQ(6, delegate->handle_switch_ime_count()); 699 EXPECT_EQ(6, delegate->handle_switch_ime_count());
709 } 700 }
710 701
711 // Test IME shortcuts that are triggered on key release. 702 // Test IME shortcuts that are triggered on key release.
712 { 703 {
713 const ui::Accelerator shift_alt_press(ui::VKEY_MENU, true, false, true); 704 const ui::Accelerator shift_alt_press(ui::VKEY_MENU,
714 const ReleaseAccelerator shift_alt(ui::VKEY_MENU, true, false, true); 705 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
715 const ui::Accelerator alt_shift_press(ui::VKEY_SHIFT, true, false, true); 706 const ReleaseAccelerator shift_alt(ui::VKEY_MENU,
716 const ReleaseAccelerator alt_shift(ui::VKEY_SHIFT, true, false, true); 707 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
708 const ui::Accelerator alt_shift_press(ui::VKEY_SHIFT,
709 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
710 const ReleaseAccelerator alt_shift(ui::VKEY_SHIFT,
711 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
717 712
718 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true); 713 DummyImeControlDelegate* delegate = new DummyImeControlDelegate(true);
719 GetController()->SetImeControlDelegate( 714 GetController()->SetImeControlDelegate(
720 scoped_ptr<ImeControlDelegate>(delegate).Pass()); 715 scoped_ptr<ImeControlDelegate>(delegate).Pass());
721 EXPECT_EQ(0, delegate->handle_next_ime_count()); 716 EXPECT_EQ(0, delegate->handle_next_ime_count());
722 EXPECT_FALSE(GetController()->Process(shift_alt_press)); 717 EXPECT_FALSE(GetController()->Process(shift_alt_press));
723 EXPECT_TRUE(GetController()->Process(shift_alt)); 718 EXPECT_TRUE(GetController()->Process(shift_alt));
724 EXPECT_EQ(1, delegate->handle_next_ime_count()); 719 EXPECT_EQ(1, delegate->handle_next_ime_count());
725 EXPECT_FALSE(GetController()->Process(alt_shift_press)); 720 EXPECT_FALSE(GetController()->Process(alt_shift_press));
726 EXPECT_TRUE(GetController()->Process(alt_shift)); 721 EXPECT_TRUE(GetController()->Process(alt_shift));
727 EXPECT_EQ(2, delegate->handle_next_ime_count()); 722 EXPECT_EQ(2, delegate->handle_next_ime_count());
728 723
729 // We should NOT switch IME when e.g. Shift+Alt+X is pressed and X is 724 // We should NOT switch IME when e.g. Shift+Alt+X is pressed and X is
730 // released. 725 // released.
731 const ui::Accelerator shift_alt_x_press(ui::VKEY_X, true, false, true); 726 const ui::Accelerator shift_alt_x_press(ui::VKEY_X,
732 const ReleaseAccelerator shift_alt_x(ui::VKEY_X, true, false, true); 727 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
728 const ReleaseAccelerator shift_alt_x(ui::VKEY_X,
729 ui::EF_SHIFT_DOWN | ui::EF_ALT_DOWN);
733 730
734 EXPECT_FALSE(GetController()->Process(shift_alt_press)); 731 EXPECT_FALSE(GetController()->Process(shift_alt_press));
735 EXPECT_FALSE(GetController()->Process(shift_alt_x_press)); 732 EXPECT_FALSE(GetController()->Process(shift_alt_x_press));
736 EXPECT_FALSE(GetController()->Process(shift_alt_x)); 733 EXPECT_FALSE(GetController()->Process(shift_alt_x));
737 EXPECT_FALSE(GetController()->Process(shift_alt)); 734 EXPECT_FALSE(GetController()->Process(shift_alt));
738 EXPECT_EQ(2, delegate->handle_next_ime_count()); 735 EXPECT_EQ(2, delegate->handle_next_ime_count());
739 } 736 }
740 } 737 }
741 738
742 } // namespace test 739 } // namespace test
743 } // namespace ash 740 } // namespace ash
OLDNEW
« no previous file with comments | « no previous file | ash/accelerators/nested_dispatcher_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698