| OLD | NEW |
| 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/common/accessibility_types.h" | 5 #include "ash/common/accessibility_types.h" |
| 6 #include "ash/common/login_status.h" | 6 #include "ash/common/login_status.h" |
| 7 #include "ash/common/material_design/material_design_controller.h" | 7 #include "ash/common/material_design/material_design_controller.h" |
| 8 #include "ash/common/system/tray/system_tray.h" | 8 #include "ash/common/system/tray/system_tray.h" |
| 9 #include "ash/common/system/tray_accessibility.h" | 9 #include "ash/common/system/tray_accessibility.h" |
| 10 #include "ash/common/test/test_session_state_delegate.h" | 10 #include "ash/common/test/test_session_state_delegate.h" |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 #include "chrome/test/base/testing_profile.h" | 29 #include "chrome/test/base/testing_profile.h" |
| 30 #include "chromeos/chromeos_switches.h" | 30 #include "chromeos/chromeos_switches.h" |
| 31 #include "components/policy/core/browser/browser_policy_connector.h" | 31 #include "components/policy/core/browser/browser_policy_connector.h" |
| 32 #include "components/policy/core/common/external_data_fetcher.h" | 32 #include "components/policy/core/common/external_data_fetcher.h" |
| 33 #include "components/policy/core/common/mock_configuration_policy_provider.h" | 33 #include "components/policy/core/common/mock_configuration_policy_provider.h" |
| 34 #include "components/policy/core/common/policy_map.h" | 34 #include "components/policy/core/common/policy_map.h" |
| 35 #include "components/policy/core/common/policy_types.h" | 35 #include "components/policy/core/common/policy_types.h" |
| 36 #include "components/policy/policy_constants.h" | 36 #include "components/policy/policy_constants.h" |
| 37 #include "components/prefs/pref_service.h" | 37 #include "components/prefs/pref_service.h" |
| 38 #include "components/session_manager/core/session_manager.h" | 38 #include "components/session_manager/core/session_manager.h" |
| 39 #include "components/user_manager/user_manager.h" | |
| 40 #include "content/public/test/test_utils.h" | 39 #include "content/public/test/test_utils.h" |
| 41 #include "testing/gtest/include/gtest/gtest.h" | 40 #include "testing/gtest/include/gtest/gtest.h" |
| 42 #include "ui/views/controls/button/button.h" | 41 #include "ui/views/controls/button/button.h" |
| 43 #include "ui/views/controls/button/custom_button.h" | 42 #include "ui/views/controls/button/custom_button.h" |
| 44 #include "ui/views/controls/label.h" | 43 #include "ui/views/controls/label.h" |
| 45 #include "ui/views/widget/widget.h" | 44 #include "ui/views/widget/widget.h" |
| 46 | 45 |
| 47 using extensions::api::braille_display_private::BrailleObserver; | 46 using extensions::api::braille_display_private::BrailleObserver; |
| 48 using extensions::api::braille_display_private::DisplayState; | 47 using extensions::api::braille_display_private::DisplayState; |
| 49 using extensions::api::braille_display_private::MockBrailleController; | 48 using extensions::api::braille_display_private::MockBrailleController; |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 *braille_controller_.GetDisplayState()); | 276 *braille_controller_.GetDisplayState()); |
| 278 } | 277 } |
| 279 | 278 |
| 280 policy::MockConfigurationPolicyProvider provider_; | 279 policy::MockConfigurationPolicyProvider provider_; |
| 281 MockBrailleController braille_controller_; | 280 MockBrailleController braille_controller_; |
| 282 }; | 281 }; |
| 283 | 282 |
| 284 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, LoginStatus) { | 283 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, LoginStatus) { |
| 285 EXPECT_EQ(ash::LoginStatus::NOT_LOGGED_IN, GetLoginStatus()); | 284 EXPECT_EQ(ash::LoginStatus::NOT_LOGGED_IN, GetLoginStatus()); |
| 286 | 285 |
| 287 user_manager::UserManager::Get()->UserLoggedIn( | 286 session_manager::SessionManager::Get()->CreateSession( |
| 288 AccountId::FromUserEmail("owner@invalid.domain"), "owner@invalid.domain", | 287 AccountId::FromUserEmail("owner@invalid.domain"), "owner@invalid.domain"); |
| 289 true); | |
| 290 session_manager::SessionManager::Get()->SessionStarted(); | 288 session_manager::SessionManager::Get()->SessionStarted(); |
| 291 | 289 |
| 292 EXPECT_EQ(ash::LoginStatus::USER, GetLoginStatus()); | 290 EXPECT_EQ(ash::LoginStatus::USER, GetLoginStatus()); |
| 293 } | 291 } |
| 294 | 292 |
| 295 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowTrayIcon) { | 293 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowTrayIcon) { |
| 296 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN); | 294 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN); |
| 297 | 295 |
| 298 // Confirms that the icon is invisible before login. | 296 // Confirms that the icon is invisible before login. |
| 299 EXPECT_FALSE(IsTrayIconVisible()); | 297 EXPECT_FALSE(IsTrayIconVisible()); |
| 300 | 298 |
| 301 user_manager::UserManager::Get()->UserLoggedIn( | 299 session_manager::SessionManager::Get()->CreateSession( |
| 302 AccountId::FromUserEmail("owner@invalid.domain"), "owner@invalid.domain", | 300 AccountId::FromUserEmail("owner@invalid.domain"), "owner@invalid.domain"); |
| 303 true); | |
| 304 session_manager::SessionManager::Get()->SessionStarted(); | 301 session_manager::SessionManager::Get()->SessionStarted(); |
| 305 | 302 |
| 306 // Confirms that the icon is invisible just after login. | 303 // Confirms that the icon is invisible just after login. |
| 307 EXPECT_FALSE(IsTrayIconVisible()); | 304 EXPECT_FALSE(IsTrayIconVisible()); |
| 308 | 305 |
| 309 // Toggling spoken feedback changes the visibillity of the icon. | 306 // Toggling spoken feedback changes the visibillity of the icon. |
| 310 AccessibilityManager::Get()->EnableSpokenFeedback( | 307 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 311 true, ash::A11Y_NOTIFICATION_NONE); | 308 true, ash::A11Y_NOTIFICATION_NONE); |
| 312 EXPECT_TRUE(IsTrayIconVisible()); | 309 EXPECT_TRUE(IsTrayIconVisible()); |
| 313 AccessibilityManager::Get()->EnableSpokenFeedback( | 310 AccessibilityManager::Get()->EnableSpokenFeedback( |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 // the icon on the tray. | 354 // the icon on the tray. |
| 358 SetShowAccessibilityOptionsInSystemTrayMenu(true); | 355 SetShowAccessibilityOptionsInSystemTrayMenu(true); |
| 359 AccessibilityManager::Get()->EnableHighContrast(true); | 356 AccessibilityManager::Get()->EnableHighContrast(true); |
| 360 EXPECT_TRUE(IsTrayIconVisible()); | 357 EXPECT_TRUE(IsTrayIconVisible()); |
| 361 AccessibilityManager::Get()->EnableHighContrast(false); | 358 AccessibilityManager::Get()->EnableHighContrast(false); |
| 362 EXPECT_FALSE(IsTrayIconVisible()); | 359 EXPECT_FALSE(IsTrayIconVisible()); |
| 363 } | 360 } |
| 364 | 361 |
| 365 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenu) { | 362 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenu) { |
| 366 // Login | 363 // Login |
| 367 user_manager::UserManager::Get()->UserLoggedIn( | 364 session_manager::SessionManager::Get()->CreateSession( |
| 368 AccountId::FromUserEmail("owner@invalid.domain"), "owner@invalid.domain", | 365 AccountId::FromUserEmail("owner@invalid.domain"), "owner@invalid.domain"); |
| 369 true); | |
| 370 session_manager::SessionManager::Get()->SessionStarted(); | 366 session_manager::SessionManager::Get()->SessionStarted(); |
| 371 | 367 |
| 372 SetShowAccessibilityOptionsInSystemTrayMenu(false); | 368 SetShowAccessibilityOptionsInSystemTrayMenu(false); |
| 373 | 369 |
| 374 // Confirms that the menu is hidden. | 370 // Confirms that the menu is hidden. |
| 375 EXPECT_FALSE(CanCreateMenuItem()); | 371 EXPECT_FALSE(CanCreateMenuItem()); |
| 376 | 372 |
| 377 // Toggling spoken feedback changes the visibillity of the menu. | 373 // Toggling spoken feedback changes the visibillity of the menu. |
| 378 AccessibilityManager::Get()->EnableSpokenFeedback( | 374 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 379 true, ash::A11Y_NOTIFICATION_NONE); | 375 true, ash::A11Y_NOTIFICATION_NONE); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 false, ash::A11Y_NOTIFICATION_NONE); | 422 false, ash::A11Y_NOTIFICATION_NONE); |
| 427 EXPECT_TRUE(CanCreateMenuItem()); | 423 EXPECT_TRUE(CanCreateMenuItem()); |
| 428 AccessibilityManager::Get()->EnableHighContrast(false); | 424 AccessibilityManager::Get()->EnableHighContrast(false); |
| 429 EXPECT_TRUE(CanCreateMenuItem()); | 425 EXPECT_TRUE(CanCreateMenuItem()); |
| 430 SetMagnifierEnabled(false); | 426 SetMagnifierEnabled(false); |
| 431 EXPECT_FALSE(CanCreateMenuItem()); | 427 EXPECT_FALSE(CanCreateMenuItem()); |
| 432 } | 428 } |
| 433 | 429 |
| 434 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowMenuOption) { | 430 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowMenuOption) { |
| 435 // Login | 431 // Login |
| 436 user_manager::UserManager::Get()->UserLoggedIn( | 432 session_manager::SessionManager::Get()->CreateSession( |
| 437 AccountId::FromUserEmail("owner@invalid.domain"), "owner@invalid.domain", | 433 AccountId::FromUserEmail("owner@invalid.domain"), "owner@invalid.domain"); |
| 438 true); | |
| 439 session_manager::SessionManager::Get()->SessionStarted(); | 434 session_manager::SessionManager::Get()->SessionStarted(); |
| 440 | 435 |
| 441 SetShowAccessibilityOptionsInSystemTrayMenu(true); | 436 SetShowAccessibilityOptionsInSystemTrayMenu(true); |
| 442 | 437 |
| 443 // Confirms that the menu is visible. | 438 // Confirms that the menu is visible. |
| 444 EXPECT_TRUE(CanCreateMenuItem()); | 439 EXPECT_TRUE(CanCreateMenuItem()); |
| 445 | 440 |
| 446 // The menu remains visible regardless of toggling spoken feedback. | 441 // The menu remains visible regardless of toggling spoken feedback. |
| 447 AccessibilityManager::Get()->EnableSpokenFeedback( | 442 AccessibilityManager::Get()->EnableSpokenFeedback( |
| 448 true, ash::A11Y_NOTIFICATION_NONE); | 443 true, ash::A11Y_NOTIFICATION_NONE); |
| (...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 918 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu()); | 913 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu()); |
| 919 CloseDetailMenu(); | 914 CloseDetailMenu(); |
| 920 } | 915 } |
| 921 | 916 |
| 922 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, | 917 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, |
| 923 TrayAccessibilityTest, | 918 TrayAccessibilityTest, |
| 924 testing::Values(PREF_SERVICE, | 919 testing::Values(PREF_SERVICE, |
| 925 POLICY)); | 920 POLICY)); |
| 926 | 921 |
| 927 } // namespace chromeos | 922 } // namespace chromeos |
| OLD | NEW |