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/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 "ash/test/shell_test_api.h" | 10 #include "ash/test/shell_test_api.h" |
11 #include "ash/test/test_session_state_delegate.h" | 11 #include "ash/test/test_session_state_delegate.h" |
12 #include "base/callback.h" | 12 #include "base/callback.h" |
13 #include "base/command_line.h" | 13 #include "base/command_line.h" |
14 #include "base/prefs/pref_service.h" | 14 #include "base/prefs/pref_service.h" |
15 #include "base/strings/utf_string_conversions.h" | 15 #include "base/strings/utf_string_conversions.h" |
16 #include "chrome/browser/browser_process.h" | 16 #include "chrome/browser/browser_process.h" |
17 #include "chrome/browser/chrome_notification_types.h" | 17 #include "chrome/browser/chrome_notification_types.h" |
18 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" | 18 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
19 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" | 19 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" |
20 #include "chrome/browser/chromeos/login/helper.h" | 20 #include "chrome/browser/chromeos/login/helper.h" |
21 #include "chrome/browser/chromeos/login/login_utils.h" | 21 #include "chrome/browser/chromeos/login/login_utils.h" |
22 #include "chrome/browser/chromeos/login/startup_utils.h" | 22 #include "chrome/browser/chromeos/login/startup_utils.h" |
23 #include "chrome/browser/chromeos/login/users/user_manager.h" | |
24 #include "chrome/browser/extensions/api/braille_display_private/mock_braille_con
troller.h" | 23 #include "chrome/browser/extensions/api/braille_display_private/mock_braille_con
troller.h" |
25 #include "chrome/browser/profiles/profile.h" | 24 #include "chrome/browser/profiles/profile.h" |
26 #include "chrome/browser/profiles/profile_manager.h" | 25 #include "chrome/browser/profiles/profile_manager.h" |
27 #include "chrome/common/chrome_switches.h" | 26 #include "chrome/common/chrome_switches.h" |
28 #include "chrome/common/pref_names.h" | 27 #include "chrome/common/pref_names.h" |
29 #include "chrome/test/base/in_process_browser_test.h" | 28 #include "chrome/test/base/in_process_browser_test.h" |
30 #include "chrome/test/base/testing_profile.h" | 29 #include "chrome/test/base/testing_profile.h" |
31 #include "chromeos/chromeos_switches.h" | 30 #include "chromeos/chromeos_switches.h" |
32 #include "components/policy/core/browser/browser_policy_connector.h" | 31 #include "components/policy/core/browser/browser_policy_connector.h" |
33 #include "components/policy/core/common/external_data_fetcher.h" | 32 #include "components/policy/core/common/external_data_fetcher.h" |
34 #include "components/policy/core/common/mock_configuration_policy_provider.h" | 33 #include "components/policy/core/common/mock_configuration_policy_provider.h" |
35 #include "components/policy/core/common/policy_map.h" | 34 #include "components/policy/core/common/policy_map.h" |
36 #include "components/policy/core/common/policy_types.h" | 35 #include "components/policy/core/common/policy_types.h" |
| 36 #include "components/user_manager/user_manager.h" |
37 #include "content/public/test/test_utils.h" | 37 #include "content/public/test/test_utils.h" |
38 #include "policy/policy_constants.h" | 38 #include "policy/policy_constants.h" |
39 #include "testing/gtest/include/gtest/gtest.h" | 39 #include "testing/gtest/include/gtest/gtest.h" |
40 #include "ui/views/controls/label.h" | 40 #include "ui/views/controls/label.h" |
41 #include "ui/views/widget/widget.h" | 41 #include "ui/views/widget/widget.h" |
42 | 42 |
43 using extensions::api::braille_display_private::BrailleObserver; | 43 using extensions::api::braille_display_private::BrailleObserver; |
44 using extensions::api::braille_display_private::DisplayState; | 44 using extensions::api::braille_display_private::DisplayState; |
45 using extensions::api::braille_display_private::MockBrailleController; | 45 using extensions::api::braille_display_private::MockBrailleController; |
46 using testing::Return; | 46 using testing::Return; |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 *braille_controller_.GetDisplayState()); | 264 *braille_controller_.GetDisplayState()); |
265 } | 265 } |
266 | 266 |
267 policy::MockConfigurationPolicyProvider provider_; | 267 policy::MockConfigurationPolicyProvider provider_; |
268 MockBrailleController braille_controller_; | 268 MockBrailleController braille_controller_; |
269 }; | 269 }; |
270 | 270 |
271 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, LoginStatus) { | 271 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, LoginStatus) { |
272 EXPECT_EQ(ash::user::LOGGED_IN_NONE, GetLoginStatus()); | 272 EXPECT_EQ(ash::user::LOGGED_IN_NONE, GetLoginStatus()); |
273 | 273 |
274 UserManager::Get()->UserLoggedIn( | 274 user_manager::UserManager::Get()->UserLoggedIn( |
275 "owner@invalid.domain", "owner@invalid.domain", true); | 275 "owner@invalid.domain", "owner@invalid.domain", true); |
276 UserManager::Get()->SessionStarted(); | 276 user_manager::UserManager::Get()->SessionStarted(); |
277 | 277 |
278 EXPECT_EQ(ash::user::LOGGED_IN_USER, GetLoginStatus()); | 278 EXPECT_EQ(ash::user::LOGGED_IN_USER, GetLoginStatus()); |
279 } | 279 } |
280 | 280 |
281 // http://crbug.com/396342 | 281 // http://crbug.com/396342 |
282 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, DISABLED_ShowTrayIcon) { | 282 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, DISABLED_ShowTrayIcon) { |
283 SetLoginStatus(ash::user::LOGGED_IN_NONE); | 283 SetLoginStatus(ash::user::LOGGED_IN_NONE); |
284 | 284 |
285 // Confirms that the icon is invisible before login. | 285 // Confirms that the icon is invisible before login. |
286 EXPECT_FALSE(IsTrayIconVisible()); | 286 EXPECT_FALSE(IsTrayIconVisible()); |
287 | 287 |
288 UserManager::Get()->UserLoggedIn( | 288 user_manager::UserManager::Get()->UserLoggedIn( |
289 "owner@invalid.domain", "owner@invalid.domain", true); | 289 "owner@invalid.domain", "owner@invalid.domain", true); |
290 UserManager::Get()->SessionStarted(); | 290 user_manager::UserManager::Get()->SessionStarted(); |
291 | 291 |
292 // Confirms that the icon is invisible just after login. | 292 // Confirms that the icon is invisible just after login. |
293 EXPECT_FALSE(IsTrayIconVisible()); | 293 EXPECT_FALSE(IsTrayIconVisible()); |
294 | 294 |
295 // Toggling spoken feedback changes the visibillity of the icon. | 295 // Toggling spoken feedback changes the visibillity of the icon. |
296 AccessibilityManager::Get()->EnableSpokenFeedback( | 296 AccessibilityManager::Get()->EnableSpokenFeedback( |
297 true, ash::A11Y_NOTIFICATION_NONE); | 297 true, ash::A11Y_NOTIFICATION_NONE); |
298 EXPECT_TRUE(IsTrayIconVisible()); | 298 EXPECT_TRUE(IsTrayIconVisible()); |
299 AccessibilityManager::Get()->EnableSpokenFeedback( | 299 AccessibilityManager::Get()->EnableSpokenFeedback( |
300 false, ash::A11Y_NOTIFICATION_NONE); | 300 false, ash::A11Y_NOTIFICATION_NONE); |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
344 SetShowAccessibilityOptionsInSystemTrayMenu(true); | 344 SetShowAccessibilityOptionsInSystemTrayMenu(true); |
345 AccessibilityManager::Get()->EnableHighContrast(true); | 345 AccessibilityManager::Get()->EnableHighContrast(true); |
346 EXPECT_TRUE(IsTrayIconVisible()); | 346 EXPECT_TRUE(IsTrayIconVisible()); |
347 AccessibilityManager::Get()->EnableHighContrast(false); | 347 AccessibilityManager::Get()->EnableHighContrast(false); |
348 EXPECT_FALSE(IsTrayIconVisible()); | 348 EXPECT_FALSE(IsTrayIconVisible()); |
349 } | 349 } |
350 | 350 |
351 // http://crbug.com/396342 | 351 // http://crbug.com/396342 |
352 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, DISABLED_ShowMenu) { | 352 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, DISABLED_ShowMenu) { |
353 // Login | 353 // Login |
354 UserManager::Get()->UserLoggedIn( | 354 user_manager::UserManager::Get()->UserLoggedIn( |
355 "owner@invalid.domain", "owner@invalid.domain", true); | 355 "owner@invalid.domain", "owner@invalid.domain", true); |
356 UserManager::Get()->SessionStarted(); | 356 user_manager::UserManager::Get()->SessionStarted(); |
357 | 357 |
358 SetShowAccessibilityOptionsInSystemTrayMenu(false); | 358 SetShowAccessibilityOptionsInSystemTrayMenu(false); |
359 | 359 |
360 // Confirms that the menu is hidden. | 360 // Confirms that the menu is hidden. |
361 EXPECT_FALSE(CanCreateMenuItem()); | 361 EXPECT_FALSE(CanCreateMenuItem()); |
362 | 362 |
363 // Toggling spoken feedback changes the visibillity of the menu. | 363 // Toggling spoken feedback changes the visibillity of the menu. |
364 AccessibilityManager::Get()->EnableSpokenFeedback( | 364 AccessibilityManager::Get()->EnableSpokenFeedback( |
365 true, ash::A11Y_NOTIFICATION_NONE); | 365 true, ash::A11Y_NOTIFICATION_NONE); |
366 EXPECT_TRUE(CanCreateMenuItem()); | 366 EXPECT_TRUE(CanCreateMenuItem()); |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 AccessibilityManager::Get()->EnableHighContrast(false); | 414 AccessibilityManager::Get()->EnableHighContrast(false); |
415 EXPECT_TRUE(CanCreateMenuItem()); | 415 EXPECT_TRUE(CanCreateMenuItem()); |
416 SetMagnifierEnabled(false); | 416 SetMagnifierEnabled(false); |
417 EXPECT_FALSE(CanCreateMenuItem()); | 417 EXPECT_FALSE(CanCreateMenuItem()); |
418 } | 418 } |
419 | 419 |
420 // http://crbug.com/396318 | 420 // http://crbug.com/396318 |
421 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, | 421 IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, |
422 DISABLED_ShowMenuWithShowMenuOption) { | 422 DISABLED_ShowMenuWithShowMenuOption) { |
423 // Login | 423 // Login |
424 UserManager::Get()->UserLoggedIn( | 424 user_manager::UserManager::Get()->UserLoggedIn( |
425 "owner@invalid.domain", "owner@invalid.domain", true); | 425 "owner@invalid.domain", "owner@invalid.domain", true); |
426 UserManager::Get()->SessionStarted(); | 426 user_manager::UserManager::Get()->SessionStarted(); |
427 | 427 |
428 SetShowAccessibilityOptionsInSystemTrayMenu(true); | 428 SetShowAccessibilityOptionsInSystemTrayMenu(true); |
429 | 429 |
430 // Confirms that the menu is visible. | 430 // Confirms that the menu is visible. |
431 EXPECT_TRUE(CanCreateMenuItem()); | 431 EXPECT_TRUE(CanCreateMenuItem()); |
432 | 432 |
433 // The menu remains visible regardless of toggling spoken feedback. | 433 // The menu remains visible regardless of toggling spoken feedback. |
434 AccessibilityManager::Get()->EnableSpokenFeedback( | 434 AccessibilityManager::Get()->EnableSpokenFeedback( |
435 true, ash::A11Y_NOTIFICATION_NONE); | 435 true, ash::A11Y_NOTIFICATION_NONE); |
436 EXPECT_TRUE(CanCreateMenuItem()); | 436 EXPECT_TRUE(CanCreateMenuItem()); |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
909 EXPECT_FALSE(IsSettingsShownOnDetailMenu()); | 909 EXPECT_FALSE(IsSettingsShownOnDetailMenu()); |
910 CloseDetailMenu(); | 910 CloseDetailMenu(); |
911 } | 911 } |
912 | 912 |
913 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, | 913 INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance, |
914 TrayAccessibilityTest, | 914 TrayAccessibilityTest, |
915 testing::Values(PREF_SERVICE, | 915 testing::Values(PREF_SERVICE, |
916 POLICY)); | 916 POLICY)); |
917 | 917 |
918 } // namespace chromeos | 918 } // namespace chromeos |
OLD | NEW |