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

Side by Side Diff: chrome/browser/chromeos/system/tray_accessibility_browsertest.cc

Issue 16175004: Large Cursor: Add the toggle menuitem to a11y menu in uber tray (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix test failure on win 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 "ash/magnifier/magnification_controller.h" 5 #include "ash/magnifier/magnification_controller.h"
6 #include "ash/shell.h" 6 #include "ash/shell.h"
7 #include "ash/system/tray/system_tray.h" 7 #include "ash/system/tray/system_tray.h"
8 #include "ash/system/tray_accessibility.h" 8 #include "ash/system/tray_accessibility.h"
9 #include "ash/system/user/login_status.h" 9 #include "ash/system/user/login_status.h"
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 11 matching lines...) Expand all
22 #include "chrome/browser/policy/mock_configuration_policy_provider.h" 22 #include "chrome/browser/policy/mock_configuration_policy_provider.h"
23 #include "chrome/browser/policy/policy_map.h" 23 #include "chrome/browser/policy/policy_map.h"
24 #include "chrome/browser/policy/policy_types.h" 24 #include "chrome/browser/policy/policy_types.h"
25 #include "chrome/browser/profiles/profile.h" 25 #include "chrome/browser/profiles/profile.h"
26 #include "chrome/browser/profiles/profile_manager.h" 26 #include "chrome/browser/profiles/profile_manager.h"
27 #include "chrome/common/chrome_notification_types.h" 27 #include "chrome/common/chrome_notification_types.h"
28 #include "chrome/common/chrome_switches.h" 28 #include "chrome/common/chrome_switches.h"
29 #include "chrome/common/pref_names.h" 29 #include "chrome/common/pref_names.h"
30 #include "chrome/test/base/testing_profile.h" 30 #include "chrome/test/base/testing_profile.h"
31 #include "chromeos/chromeos_switches.h" 31 #include "chromeos/chromeos_switches.h"
32 #include "chromeos/login/login_state.h"
32 #include "content/public/test/test_utils.h" 33 #include "content/public/test/test_utils.h"
33 #include "policy/policy_constants.h" 34 #include "policy/policy_constants.h"
34 #include "testing/gtest/include/gtest/gtest.h" 35 #include "testing/gtest/include/gtest/gtest.h"
35 #include "ui/views/widget/widget.h" 36 #include "ui/views/widget/widget.h"
36 37
37 using testing::AnyNumber; 38 using testing::AnyNumber;
38 using testing::Return; 39 using testing::Return;
39 using testing::_; 40 using testing::_;
40 using testing::WithParamInterface; 41 using testing::WithParamInterface;
41 42
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 } 159 }
159 160
160 bool IsHighContrastEnabledOnDetailMenu() { 161 bool IsHighContrastEnabledOnDetailMenu() {
161 return tray()->detailed_menu_->high_contrast_enabled_; 162 return tray()->detailed_menu_->high_contrast_enabled_;
162 } 163 }
163 164
164 bool IsScreenMagnifierEnabledOnDetailMenu() { 165 bool IsScreenMagnifierEnabledOnDetailMenu() {
165 return tray()->detailed_menu_->screen_magnifier_enabled_; 166 return tray()->detailed_menu_->screen_magnifier_enabled_;
166 } 167 }
167 168
169 bool IsLargeCursorEnabledOnDetailMenu() {
170 return tray()->detailed_menu_->large_cursor_enabled_;
171 }
172
173 bool IsSpokenFeedbackMenuShownOnDetailMenu() {
174 return tray()->detailed_menu_->spoken_feedback_view_;
175 }
176
177 bool IsHighContrastMenuShownOnDetailMenu() {
178 return tray()->detailed_menu_->high_contrast_view_;
179 }
180
181 bool IsScreenMagnifierMenuShownOnDetailMenu() {
182 return tray()->detailed_menu_->screen_magnifier_view_;
183 }
184
185 bool IsLargeCursorMenuShownOnDetailMenu() {
186 return tray()->detailed_menu_->large_cursor_view_;
187 }
188
168 policy::MockConfigurationPolicyProvider provider_; 189 policy::MockConfigurationPolicyProvider provider_;
169 }; 190 };
170 191
171 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, LoginStatus) { 192 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, LoginStatus) {
172 EXPECT_EQ(ash::user::LOGGED_IN_NONE, GetLoginStatus()); 193 EXPECT_EQ(ash::user::LOGGED_IN_NONE, GetLoginStatus());
173 194
174 UserManager::Get()->UserLoggedIn( 195 UserManager::Get()->UserLoggedIn(
175 "owner@invalid.domain", "owner@invalid.domain", true); 196 "owner@invalid.domain", "owner@invalid.domain", true);
176 UserManager::Get()->SessionStarted(); 197 UserManager::Get()->SessionStarted();
177 198
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 EXPECT_TRUE(CreateDetailedMenu()); 463 EXPECT_TRUE(CreateDetailedMenu());
443 ClickScreenMagnifierOnDetailMenu(); 464 ClickScreenMagnifierOnDetailMenu();
444 EXPECT_TRUE(MagnificationManager::Get()->IsMagnifierEnabled()); 465 EXPECT_TRUE(MagnificationManager::Get()->IsMagnifierEnabled());
445 466
446 EXPECT_TRUE(CreateDetailedMenu()); 467 EXPECT_TRUE(CreateDetailedMenu());
447 ClickScreenMagnifierOnDetailMenu(); 468 ClickScreenMagnifierOnDetailMenu();
448 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled()); 469 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled());
449 } 470 }
450 471
451 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) { 472 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
473 SetLoginStatus(ash::user::LOGGED_IN_NONE);
474
452 // At first, all of the check is unchecked. 475 // At first, all of the check is unchecked.
453 EXPECT_TRUE(CreateDetailedMenu()); 476 EXPECT_TRUE(CreateDetailedMenu());
454 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); 477 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
455 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); 478 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
456 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); 479 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
480 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
457 CloseDetailMenu(); 481 CloseDetailMenu();
458 482
459 // Enabling spoken feedback. 483 // Enabling spoken feedback.
460 AccessibilityManager::Get()->EnableSpokenFeedback( 484 AccessibilityManager::Get()->EnableSpokenFeedback(
461 true, NULL, ash::A11Y_NOTIFICATION_NONE); 485 true, NULL, ash::A11Y_NOTIFICATION_NONE);
462 EXPECT_TRUE(CreateDetailedMenu()); 486 EXPECT_TRUE(CreateDetailedMenu());
463 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu()); 487 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
464 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); 488 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
465 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); 489 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
490 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
466 CloseDetailMenu(); 491 CloseDetailMenu();
467 492
468 // Disabling spoken feedback. 493 // Disabling spoken feedback.
469 AccessibilityManager::Get()->EnableSpokenFeedback( 494 AccessibilityManager::Get()->EnableSpokenFeedback(
470 false, NULL, ash::A11Y_NOTIFICATION_NONE); 495 false, NULL, ash::A11Y_NOTIFICATION_NONE);
471 EXPECT_TRUE(CreateDetailedMenu()); 496 EXPECT_TRUE(CreateDetailedMenu());
472 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); 497 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
473 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); 498 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
474 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); 499 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
500 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
475 CloseDetailMenu(); 501 CloseDetailMenu();
476 502
477 // Enabling high contrast. 503 // Enabling high contrast.
478 AccessibilityManager::Get()->EnableHighContrast(true); 504 AccessibilityManager::Get()->EnableHighContrast(true);
479 EXPECT_TRUE(CreateDetailedMenu()); 505 EXPECT_TRUE(CreateDetailedMenu());
480 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); 506 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
481 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu()); 507 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
482 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); 508 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
509 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
483 CloseDetailMenu(); 510 CloseDetailMenu();
484 511
485 // Disabling high contrast. 512 // Disabling high contrast.
486 AccessibilityManager::Get()->EnableHighContrast(false); 513 AccessibilityManager::Get()->EnableHighContrast(false);
487 EXPECT_TRUE(CreateDetailedMenu()); 514 EXPECT_TRUE(CreateDetailedMenu());
488 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); 515 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
489 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); 516 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
490 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); 517 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
518 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
491 CloseDetailMenu(); 519 CloseDetailMenu();
492 520
493 // Enabling full screen magnifier. 521 // Enabling full screen magnifier.
494 SetMagnifierEnabled(true); 522 SetMagnifierEnabled(true);
495 EXPECT_TRUE(CreateDetailedMenu()); 523 EXPECT_TRUE(CreateDetailedMenu());
496 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); 524 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
497 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); 525 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
498 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu()); 526 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
527 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
499 CloseDetailMenu(); 528 CloseDetailMenu();
500 529
501 // Disabling screen magnifier. 530 // Disabling screen magnifier.
502 SetMagnifierEnabled(false); 531 SetMagnifierEnabled(false);
503 EXPECT_TRUE(CreateDetailedMenu()); 532 EXPECT_TRUE(CreateDetailedMenu());
504 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); 533 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
505 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); 534 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
506 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); 535 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
536 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
537 CloseDetailMenu();
538
539 // Enabling large cursor.
540 AccessibilityManager::Get()->EnableLargeCursor(true);
541 EXPECT_TRUE(CreateDetailedMenu());
542 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
543 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
544 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
545 EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
546 CloseDetailMenu();
547
548 // Disabling large cursor.
549 AccessibilityManager::Get()->EnableLargeCursor(false);
550 EXPECT_TRUE(CreateDetailedMenu());
551 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
552 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
553 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
554 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
507 CloseDetailMenu(); 555 CloseDetailMenu();
508 556
509 // Enabling all of the a11y features. 557 // Enabling all of the a11y features.
510 AccessibilityManager::Get()->EnableSpokenFeedback( 558 AccessibilityManager::Get()->EnableSpokenFeedback(
511 true, NULL, ash::A11Y_NOTIFICATION_NONE); 559 true, NULL, ash::A11Y_NOTIFICATION_NONE);
512 AccessibilityManager::Get()->EnableHighContrast(true); 560 AccessibilityManager::Get()->EnableHighContrast(true);
513 SetMagnifierEnabled(true); 561 SetMagnifierEnabled(true);
562 AccessibilityManager::Get()->EnableLargeCursor(true);
514 EXPECT_TRUE(CreateDetailedMenu()); 563 EXPECT_TRUE(CreateDetailedMenu());
515 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu()); 564 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
516 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu()); 565 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
517 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu()); 566 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
567 EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
518 CloseDetailMenu(); 568 CloseDetailMenu();
519 569
520 // Disabling all of the a11y features. 570 // Disabling all of the a11y features.
521 AccessibilityManager::Get()->EnableSpokenFeedback( 571 AccessibilityManager::Get()->EnableSpokenFeedback(
522 false, NULL, ash::A11Y_NOTIFICATION_NONE); 572 false, NULL, ash::A11Y_NOTIFICATION_NONE);
523 AccessibilityManager::Get()->EnableHighContrast(false); 573 AccessibilityManager::Get()->EnableHighContrast(false);
524 SetMagnifierEnabled(false); 574 SetMagnifierEnabled(false);
575 AccessibilityManager::Get()->EnableLargeCursor(false);
525 EXPECT_TRUE(CreateDetailedMenu()); 576 EXPECT_TRUE(CreateDetailedMenu());
526 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu()); 577 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
527 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu()); 578 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
528 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu()); 579 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
580 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
529 CloseDetailMenu(); 581 CloseDetailMenu();
530 } 582 }
531 583
584 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
585 SetLoginStatus(ash::user::LOGGED_IN_NONE);
586 EXPECT_TRUE(CreateDetailedMenu());
587 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
588 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
589 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
590 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
591 CloseDetailMenu();
592
593 SetLoginStatus(ash::user::LOGGED_IN_USER);
594 EXPECT_TRUE(CreateDetailedMenu());
595 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
596 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
597 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
598 EXPECT_FALSE(IsLargeCursorMenuShownOnDetailMenu());
599 CloseDetailMenu();
600
601 SetLoginStatus(ash::user::LOGGED_IN_LOCKED);
602 EXPECT_TRUE(CreateDetailedMenu());
603 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
604 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
605 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
606 EXPECT_FALSE(IsLargeCursorMenuShownOnDetailMenu());
607 CloseDetailMenu();
608 }
609
532 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, 610 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance,
533 TrayAccessibilityTest, 611 TrayAccessibilityTest,
534 testing::Values(PREF_SERVICE, 612 testing::Values(PREF_SERVICE,
535 POLICY)); 613 POLICY));
536 614
537 } // namespace chromeos 615 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/system/ash_system_tray_delegate.cc ('k') | chrome/browser/ui/ash/chrome_shell_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698