blob: d7e68ab99fb87f82edc858bd476fa817599ba97e [file] [log] [blame]
[email protected]806d94e2012-12-16 20:31:261// 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
3// found in the LICENSE file.
4
James Cookb0bf8e82017-04-09 17:01:445#include "ash/accessibility_types.h"
6#include "ash/login_status.h"
[email protected]806d94e2012-12-16 20:31:267#include "ash/magnifier/magnification_controller.h"
James Cookc63b9fd2017-08-18 18:48:328#include "ash/public/cpp/ash_pref_names.h"
[email protected]806d94e2012-12-16 20:31:269#include "ash/shell.h"
James Cook346c8c62017-07-18 19:38:3710#include "ash/shell_test_api.h"
James Cookb0bf8e82017-04-09 17:01:4411#include "ash/system/tray/system_tray.h"
jamescooka1b2a092017-06-08 15:07:5512#include "ash/system/tray/system_tray_test_api.h"
James Cookb0bf8e82017-04-09 17:01:4413#include "ash/system/tray_accessibility.h"
[email protected]aecb6082013-07-09 14:29:4114#include "base/callback.h"
[email protected]806d94e2012-12-16 20:31:2615#include "base/command_line.h"
fdorayba121422016-12-23 19:51:4816#include "base/memory/ptr_util.h"
Gabriel Charette078e3662017-08-28 22:59:0417#include "base/run_loop.h"
[email protected]a81b2c32014-03-28 06:35:0118#include "base/strings/utf_string_conversions.h"
[email protected]806d94e2012-12-16 20:31:2619#include "chrome/browser/browser_process.h"
[email protected]fdf40f3e2013-07-11 23:55:4620#include "chrome/browser/chrome_notification_types.h"
[email protected]1dfebfc2013-06-04 03:14:3221#include "chrome/browser/chromeos/accessibility/accessibility_manager.h"
[email protected]806d94e2012-12-16 20:31:2622#include "chrome/browser/chromeos/accessibility/magnification_manager.h"
[email protected]806d94e2012-12-16 20:31:2623#include "chrome/browser/chromeos/login/helper.h"
[email protected]aa8328fb2013-04-19 15:09:0624#include "chrome/browser/chromeos/login/startup_utils.h"
xiyuan8c6a4112017-06-19 21:03:4925#include "chrome/browser/chromeos/profiles/profile_helper.h"
[email protected]a81b2c32014-03-28 06:35:0126#include "chrome/browser/extensions/api/braille_display_private/mock_braille_controller.h"
[email protected]806d94e2012-12-16 20:31:2627#include "chrome/browser/profiles/profile.h"
28#include "chrome/browser/profiles/profile_manager.h"
xiyuan233f4e72017-04-06 06:59:5629#include "chrome/browser/ui/ash/session_controller_client.h"
[email protected]806d94e2012-12-16 20:31:2630#include "chrome/common/chrome_switches.h"
[email protected]0b294be2013-08-17 02:18:4131#include "chrome/test/base/in_process_browser_test.h"
[email protected]806d94e2012-12-16 20:31:2632#include "chrome/test/base/testing_profile.h"
[email protected]931d1042013-04-05 17:50:4433#include "chromeos/chromeos_switches.h"
[email protected]97275822014-01-21 19:30:3634#include "components/policy/core/browser/browser_policy_connector.h"
[email protected]c4a138a2013-11-21 19:54:5735#include "components/policy/core/common/external_data_fetcher.h"
[email protected]f20a3a22013-12-03 16:12:3736#include "components/policy/core/common/mock_configuration_policy_provider.h"
[email protected]c4a138a2013-11-21 19:54:5737#include "components/policy/core/common/policy_map.h"
38#include "components/policy/core/common/policy_types.h"
brettw39d6ba42016-08-24 16:56:3839#include "components/policy/policy_constants.h"
brettwb1fc1b82016-02-02 00:19:0840#include "components/prefs/pref_service.h"
xiyuan834f3bc2016-10-26 19:40:5341#include "components/session_manager/core/session_manager.h"
[email protected]806d94e2012-12-16 20:31:2642#include "content/public/test/test_utils.h"
43#include "testing/gtest/include/gtest/gtest.h"
yiyix2df25af2017-05-23 16:51:0744#include "ui/message_center/message_center.h"
tdanderson581149422016-10-25 21:37:5845#include "ui/views/controls/button/button.h"
[email protected]a81b2c32014-03-28 06:35:0146#include "ui/views/controls/label.h"
[email protected]806d94e2012-12-16 20:31:2647#include "ui/views/widget/widget.h"
48
[email protected]a81b2c32014-03-28 06:35:0149using extensions::api::braille_display_private::BrailleObserver;
50using extensions::api::braille_display_private::DisplayState;
51using extensions::api::braille_display_private::MockBrailleController;
yiyix2df25af2017-05-23 16:51:0752using message_center::MessageCenter;
[email protected]5ace0c232013-05-29 00:48:4153using testing::Return;
54using testing::_;
55using testing::WithParamInterface;
56
[email protected]806d94e2012-12-16 20:31:2657namespace chromeos {
58
[email protected]5ace0c232013-05-29 00:48:4159enum PrefSettingMechanism {
60 PREF_SERVICE,
61 POLICY,
62};
63
[email protected]7585f4c2013-01-10 18:26:4164void SetMagnifierEnabled(bool enabled) {
65 MagnificationManager::Get()->SetMagnifierEnabled(enabled);
[email protected]806d94e2012-12-16 20:31:2666}
67
xiyuan8c6a4112017-06-19 21:03:4968// Simulates how UserSessionManager creates and starts a user session.
69void CreateAndStartUserSession(const AccountId& account_id) {
70 using session_manager::SessionManager;
71
72 const std::string user_id_hash =
73 ProfileHelper::GetUserIdHashByUserIdForTesting(account_id.GetUserEmail());
74
75 SessionManager::Get()->CreateSession(account_id, user_id_hash);
76 ProfileHelper::GetProfileByUserIdHashForTest(user_id_hash);
77 SessionManager::Get()->SessionStarted();
78}
79
[email protected]5ace0c232013-05-29 00:48:4180class TrayAccessibilityTest
[email protected]0b294be2013-08-17 02:18:4181 : public InProcessBrowserTest,
[email protected]5ace0c232013-05-29 00:48:4182 public WithParamInterface<PrefSettingMechanism> {
[email protected]806d94e2012-12-16 20:31:2683 protected:
84 TrayAccessibilityTest() {}
85 virtual ~TrayAccessibilityTest() {}
[email protected]25cf28e2013-03-25 19:26:2586
[email protected]a81b2c32014-03-28 06:35:0187 // The profile which should be used by these tests.
[email protected]613b3f52013-12-13 23:37:0688 Profile* GetProfile() { return ProfileManager::GetActiveUserProfile(); }
89
dchengc97a0282015-01-15 23:04:2490 void SetUpInProcessBrowserTestFixture() override {
[email protected]5ace0c232013-05-29 00:48:4191 EXPECT_CALL(provider_, IsInitializationComplete(_))
92 .WillRepeatedly(Return(true));
[email protected]5ace0c232013-05-29 00:48:4193 policy::BrowserPolicyConnector::SetPolicyProviderForTesting(&provider_);
[email protected]a81b2c32014-03-28 06:35:0194 AccessibilityManager::SetBrailleControllerForTest(&braille_controller_);
[email protected]5ace0c232013-05-29 00:48:4195 }
96
dchengc97a0282015-01-15 23:04:2497 void SetUpCommandLine(base::CommandLine* command_line) override {
[email protected]806d94e2012-12-16 20:31:2698 command_line->AppendSwitch(switches::kLoginManager);
99 command_line->AppendSwitchASCII(switches::kLoginProfile,
100 TestingProfile::kTestUserProfileDir);
101 }
102
dchengc97a0282015-01-15 23:04:24103 void SetUpOnMainThread() override {
[email protected]613b3f52013-12-13 23:37:06104 AccessibilityManager::Get()->SetProfileForTest(GetProfile());
105 MagnificationManager::Get()->SetProfileForTest(GetProfile());
[email protected]25cf28e2013-03-25 19:26:25106 // Need to mark oobe completed to show detailed views.
[email protected]aa8328fb2013-04-19 15:09:06107 StartupUtils::MarkOobeCompleted();
[email protected]25cf28e2013-03-25 19:26:25108 }
109
dchengc97a0282015-01-15 23:04:24110 void TearDownOnMainThread() override {
[email protected]a81b2c32014-03-28 06:35:01111 AccessibilityManager::SetBrailleControllerForTest(NULL);
112 }
113
[email protected]5ace0c232013-05-29 00:48:41114 void SetShowAccessibilityOptionsInSystemTrayMenu(bool value) {
115 if (GetParam() == PREF_SERVICE) {
[email protected]613b3f52013-12-13 23:37:06116 PrefService* prefs = GetProfile()->GetPrefs();
James Cookc63b9fd2017-08-18 18:48:32117 prefs->SetBoolean(ash::prefs::kShouldAlwaysShowAccessibilityMenu, value);
[email protected]5ace0c232013-05-29 00:48:41118 } else if (GetParam() == POLICY) {
119 policy::PolicyMap policy_map;
120 policy_map.Set(policy::key::kShowAccessibilityOptionsInSystemTrayMenu,
dcheng3b344bc22016-05-10 02:26:09121 policy::POLICY_LEVEL_MANDATORY, policy::POLICY_SCOPE_USER,
fhorschig64834b712015-09-21 14:20:23122 policy::POLICY_SOURCE_CLOUD,
jdoerrie239723572017-03-02 12:09:19123 base::MakeUnique<base::Value>(value), nullptr);
[email protected]5ace0c232013-05-29 00:48:41124 provider_.UpdateChromePolicy(policy_map);
125 base::RunLoop().RunUntilIdle();
126 } else {
127 FAIL() << "Unknown test parameterization";
128 }
129 }
130
[email protected]093b8d642014-04-03 20:59:28131 ash::TrayAccessibility* tray() {
jamescooka1b2a092017-06-08 15:07:55132 return const_cast<ash::TrayAccessibility*>(
133 const_cast<const TrayAccessibilityTest*>(this)->tray());
[email protected]806d94e2012-12-16 20:31:26134 }
135
[email protected]093b8d642014-04-03 20:59:28136 const ash::TrayAccessibility* tray() const {
jamescooka1b2a092017-06-08 15:07:55137 return ash::SystemTrayTestApi(ash::Shell::Get()->GetPrimarySystemTray())
138 .tray_accessibility();
[email protected]806d94e2012-12-16 20:31:26139 }
140
[email protected]a81b2c32014-03-28 06:35:01141 bool IsTrayIconVisible() const { return tray()->tray_icon_visible_; }
142
[email protected]806d94e2012-12-16 20:31:26143 views::View* CreateMenuItem() {
144 return tray()->CreateDefaultView(GetLoginStatus());
145 }
146
Evan Stadee70b0a62017-06-05 20:42:30147 void DestroyMenuItem() { return tray()->OnDefaultViewDestroyed(); }
[email protected]806d94e2012-12-16 20:31:26148
149 bool CanCreateMenuItem() {
150 views::View* menu_item_view = CreateMenuItem();
151 DestroyMenuItem();
152 return menu_item_view != NULL;
153 }
154
skye79274a2016-06-08 05:39:02155 void SetLoginStatus(ash::LoginStatus status) {
[email protected]806d94e2012-12-16 20:31:26156 tray()->UpdateAfterLoginStatusChange(status);
157 }
158
skye79274a2016-06-08 05:39:02159 ash::LoginStatus GetLoginStatus() { return tray()->login_; }
[email protected]806d94e2012-12-16 20:31:26160
161 bool CreateDetailedMenu() {
estadeb0df1652017-03-22 22:41:10162 tray()->ShowDetailedView(0, false);
[email protected]806d94e2012-12-16 20:31:26163 return tray()->detailed_menu_ != NULL;
164 }
165
166 void CloseDetailMenu() {
Evan Stadee70b0a62017-06-05 20:42:30167 ASSERT_TRUE(tray()->detailed_menu_);
168 tray()->OnDetailedViewDestroyed();
169 EXPECT_FALSE(tray()->detailed_menu_);
[email protected]806d94e2012-12-16 20:31:26170 }
171
172 void ClickSpokenFeedbackOnDetailMenu() {
173 views::View* button = tray()->detailed_menu_->spoken_feedback_view_;
[email protected]abdd0d72014-02-05 17:18:07174 ASSERT_TRUE(button);
[email protected]acd0fd7a2013-03-04 22:00:53175 tray()->detailed_menu_->OnViewClicked(button);
[email protected]806d94e2012-12-16 20:31:26176 }
177
178 void ClickHighContrastOnDetailMenu() {
179 views::View* button = tray()->detailed_menu_->high_contrast_view_;
[email protected]abdd0d72014-02-05 17:18:07180 ASSERT_TRUE(button);
[email protected]acd0fd7a2013-03-04 22:00:53181 tray()->detailed_menu_->OnViewClicked(button);
[email protected]806d94e2012-12-16 20:31:26182 }
183
184 void ClickScreenMagnifierOnDetailMenu() {
185 views::View* button = tray()->detailed_menu_->screen_magnifier_view_;
[email protected]abdd0d72014-02-05 17:18:07186 ASSERT_TRUE(button);
[email protected]acd0fd7a2013-03-04 22:00:53187 tray()->detailed_menu_->OnViewClicked(button);
[email protected]806d94e2012-12-16 20:31:26188 }
189
[email protected]7cfa31a2013-10-23 20:08:13190 void ClickAutoclickOnDetailMenu() {
191 views::View* button = tray()->detailed_menu_->autoclick_view_;
[email protected]abdd0d72014-02-05 17:18:07192 ASSERT_TRUE(button);
193 tray()->detailed_menu_->OnViewClicked(button);
194 }
195
196 void ClickVirtualKeyboardOnDetailMenu() {
197 views::View* button = tray()->detailed_menu_->virtual_keyboard_view_;
198 ASSERT_TRUE(button);
[email protected]7cfa31a2013-10-23 20:08:13199 tray()->detailed_menu_->OnViewClicked(button);
200 }
201
mincha0b24ab2017-03-31 22:16:01202 void ClickLargeMouseCursorOnDetailMenu() {
203 views::View* button = tray()->detailed_menu_->large_cursor_view_;
204 ASSERT_TRUE(button);
205 tray()->detailed_menu_->OnViewClicked(button);
206 }
207
208 void ClickMonoAudioOnDetailMenu() {
209 views::View* button = tray()->detailed_menu_->mono_audio_view_;
210 ASSERT_TRUE(button);
211 tray()->detailed_menu_->OnViewClicked(button);
212 }
213
214 void ClickCaretHighlightOnDetailMenu() {
215 views::View* button = tray()->detailed_menu_->caret_highlight_view_;
216 ASSERT_TRUE(button);
217 tray()->detailed_menu_->OnViewClicked(button);
218 }
219
220 void ClickHighlightMouseCursorOnDetailMenu() {
221 views::View* button = tray()->detailed_menu_->highlight_mouse_cursor_view_;
222 ASSERT_TRUE(button);
223 tray()->detailed_menu_->OnViewClicked(button);
224 }
225
226 void ClickHighlishtKeyboardFocusOnDetailMenu() {
227 views::View* button =
228 tray()->detailed_menu_->highlight_keyboard_focus_view_;
229 ASSERT_TRUE(button);
230 tray()->detailed_menu_->OnViewClicked(button);
231 }
232
minchd9d542482017-04-07 19:29:56233 void ClickStickyKeysOnDetailMenu() {
234 views::View* button = tray()->detailed_menu_->sticky_keys_view_;
235 ASSERT_TRUE(button);
236 tray()->detailed_menu_->OnViewClicked(button);
237 }
238
239 void ClickTapDraggingOnDetailMenu() {
240 views::View* button = tray()->detailed_menu_->tap_dragging_view_;
241 ASSERT_TRUE(button);
242 tray()->detailed_menu_->OnViewClicked(button);
243 }
244
[email protected]a81b2c32014-03-28 06:35:01245 bool IsSpokenFeedbackEnabledOnDetailMenu() const {
[email protected]806d94e2012-12-16 20:31:26246 return tray()->detailed_menu_->spoken_feedback_enabled_;
247 }
248
[email protected]a81b2c32014-03-28 06:35:01249 bool IsHighContrastEnabledOnDetailMenu() const {
[email protected]806d94e2012-12-16 20:31:26250 return tray()->detailed_menu_->high_contrast_enabled_;
251 }
252
[email protected]a81b2c32014-03-28 06:35:01253 bool IsScreenMagnifierEnabledOnDetailMenu() const {
[email protected]806d94e2012-12-16 20:31:26254 return tray()->detailed_menu_->screen_magnifier_enabled_;
255 }
[email protected]5ace0c232013-05-29 00:48:41256
[email protected]a81b2c32014-03-28 06:35:01257 bool IsLargeCursorEnabledOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03258 return tray()->detailed_menu_->large_cursor_enabled_;
259 }
260
[email protected]a81b2c32014-03-28 06:35:01261 bool IsAutoclickEnabledOnDetailMenu() const {
[email protected]7cfa31a2013-10-23 20:08:13262 return tray()->detailed_menu_->autoclick_enabled_;
263 }
[email protected]abdd0d72014-02-05 17:18:07264
[email protected]a81b2c32014-03-28 06:35:01265 bool IsVirtualKeyboardEnabledOnDetailMenu() const {
[email protected]abdd0d72014-02-05 17:18:07266 return tray()->detailed_menu_->virtual_keyboard_enabled_;
267 }
268
mincha0b24ab2017-03-31 22:16:01269 bool IsMonoAudioEnabledOnDetailMenu() const {
270 return tray()->detailed_menu_->mono_audio_enabled_;
271 }
272
273 bool IsCaretHighlightEnabledOnDetailMenu() const {
274 return tray()->detailed_menu_->caret_highlight_enabled_;
275 }
276
277 bool IsHighlightMouseCursorEnabledOnDetailMenu() const {
278 return tray()->detailed_menu_->highlight_mouse_cursor_enabled_;
279 }
280
281 bool IsHighlightKeyboardFocusEnabledOnDetailMenu() const {
282 return tray()->detailed_menu_->highlight_keyboard_focus_enabled_;
283 }
284
minchd9d542482017-04-07 19:29:56285 bool IsStickyKeysEnabledOnDetailMenu() const {
286 return tray()->detailed_menu_->sticky_keys_enabled_;
287 }
288
289 bool IsTapDraggingEnabledOnDetailMenu() const {
290 return tray()->detailed_menu_->tap_dragging_enabled_;
291 }
292
[email protected]a81b2c32014-03-28 06:35:01293 bool IsSpokenFeedbackMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03294 return tray()->detailed_menu_->spoken_feedback_view_;
295 }
296
[email protected]a81b2c32014-03-28 06:35:01297 bool IsHighContrastMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03298 return tray()->detailed_menu_->high_contrast_view_;
299 }
300
[email protected]a81b2c32014-03-28 06:35:01301 bool IsScreenMagnifierMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03302 return tray()->detailed_menu_->screen_magnifier_view_;
303 }
304
[email protected]a81b2c32014-03-28 06:35:01305 bool IsLargeCursorMenuShownOnDetailMenu() const {
[email protected]57999022013-06-07 12:52:03306 return tray()->detailed_menu_->large_cursor_view_;
307 }
308
[email protected]a81b2c32014-03-28 06:35:01309 bool IsAutoclickMenuShownOnDetailMenu() const {
[email protected]7cfa31a2013-10-23 20:08:13310 return tray()->detailed_menu_->autoclick_view_;
311 }
312
[email protected]a81b2c32014-03-28 06:35:01313 bool IsVirtualKeyboardMenuShownOnDetailMenu() const {
[email protected]abdd0d72014-02-05 17:18:07314 return tray()->detailed_menu_->virtual_keyboard_view_;
315 }
316
mincha0b24ab2017-03-31 22:16:01317 bool IsMonoAudioMenuShownOnDetailMenu() const {
318 return tray()->detailed_menu_->mono_audio_view_;
319 }
320
321 bool IsCaretHighlightMenuShownOnDetailMenu() const {
322 return tray()->detailed_menu_->caret_highlight_view_;
323 }
324
325 bool IsHighlightMouseCursorMenuShownOnDetailMenu() const {
326 return tray()->detailed_menu_->highlight_mouse_cursor_view_;
327 }
328
329 bool IsHighlightKeyboardFocusMenuShownOnDetailMenu() const {
330 return tray()->detailed_menu_->highlight_keyboard_focus_view_;
331 }
332
minchd9d542482017-04-07 19:29:56333 bool IsStickyKeysMenuShownOnDetailMenu() const {
334 return tray()->detailed_menu_->sticky_keys_view_;
335 }
336
337 bool IsTapDraggingMenuShownOnDetailMenu() const {
338 return tray()->detailed_menu_->tap_dragging_view_;
339 }
340
tdanderson581149422016-10-25 21:37:58341 // In material design we show the help button but theme it as disabled if
mohsen6faf4f32017-02-09 22:09:41342 // it is not possible to load the help page.
tdanderson581149422016-10-25 21:37:58343 bool IsHelpAvailableOnDetailMenu() const {
mohsen6faf4f32017-02-09 22:09:41344 return tray()->detailed_menu_->help_view_->state() ==
345 views::Button::STATE_NORMAL;
[email protected]7570bba2014-08-08 08:04:47346 }
347
tdanderson581149422016-10-25 21:37:58348 // In material design we show the settings button but theme it as disabled if
mohsen6faf4f32017-02-09 22:09:41349 // it is not possible to load the settings page.
tdanderson581149422016-10-25 21:37:58350 bool IsSettingsAvailableOnDetailMenu() const {
mohsen6faf4f32017-02-09 22:09:41351 return tray()->detailed_menu_->settings_view_->state() ==
352 views::Button::STATE_NORMAL;
[email protected]7570bba2014-08-08 08:04:47353 }
354
[email protected]a81b2c32014-03-28 06:35:01355 void SetBrailleConnected(bool connected) {
356 braille_controller_.SetAvailable(connected);
[email protected]2e5e0b12014-05-07 13:30:20357 braille_controller_.GetObserver()->OnBrailleDisplayStateChanged(
[email protected]a81b2c32014-03-28 06:35:01358 *braille_controller_.GetDisplayState());
359 }
360
[email protected]5ace0c232013-05-29 00:48:41361 policy::MockConfigurationPolicyProvider provider_;
[email protected]a81b2c32014-03-28 06:35:01362 MockBrailleController braille_controller_;
[email protected]806d94e2012-12-16 20:31:26363};
364
[email protected]5ace0c232013-05-29 00:48:41365IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, LoginStatus) {
skye79274a2016-06-08 05:39:02366 EXPECT_EQ(ash::LoginStatus::NOT_LOGGED_IN, GetLoginStatus());
[email protected]806d94e2012-12-16 20:31:26367
xiyuan8c6a4112017-06-19 21:03:49368 CreateAndStartUserSession(AccountId::FromUserEmail("[email protected]"));
xiyuan233f4e72017-04-06 06:59:56369 // Flush to ensure the session state reaches ash and updates login status.
370 SessionControllerClient::FlushForTesting();
[email protected]806d94e2012-12-16 20:31:26371
skye79274a2016-06-08 05:39:02372 EXPECT_EQ(ash::LoginStatus::USER, GetLoginStatus());
[email protected]806d94e2012-12-16 20:31:26373}
374
yoshiki064fa9e2015-09-04 06:32:45375IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowTrayIcon) {
skye79274a2016-06-08 05:39:02376 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]806d94e2012-12-16 20:31:26377
378 // Confirms that the icon is invisible before login.
379 EXPECT_FALSE(IsTrayIconVisible());
380
xiyuan8c6a4112017-06-19 21:03:49381 CreateAndStartUserSession(AccountId::FromUserEmail("[email protected]"));
[email protected]806d94e2012-12-16 20:31:26382
383 // Confirms that the icon is invisible just after login.
384 EXPECT_FALSE(IsTrayIconVisible());
385
James Cookfc97f0a2017-08-16 20:05:35386 // Toggling spoken feedback changes the visibility of the icon.
[email protected]1dfebfc2013-06-04 03:14:32387 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03388 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26389 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32390 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03391 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26392 EXPECT_FALSE(IsTrayIconVisible());
393
James Cookfc97f0a2017-08-16 20:05:35394 // Toggling high contrast changes the visibility of the icon.
[email protected]1dfebfc2013-06-04 03:14:32395 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26396 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32397 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26398 EXPECT_FALSE(IsTrayIconVisible());
399
James Cookfc97f0a2017-08-16 20:05:35400 // Toggling magnifier changes the visibility of the icon.
[email protected]7585f4c2013-01-10 18:26:41401 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26402 EXPECT_TRUE(IsTrayIconVisible());
[email protected]7585f4c2013-01-10 18:26:41403 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26404 EXPECT_FALSE(IsTrayIconVisible());
405
James Cookfc97f0a2017-08-16 20:05:35406 // Toggling automatic clicks changes the visibility of the icon.
mincha0b24ab2017-03-31 22:16:01407 AccessibilityManager::Get()->EnableAutoclick(true);
408 EXPECT_TRUE(IsTrayIconVisible());
409 AccessibilityManager::Get()->EnableAutoclick(false);
410 EXPECT_FALSE(IsTrayIconVisible());
411
[email protected]abdd0d72014-02-05 17:18:07412 // Toggling the virtual keyboard setting changes the visibility of the a11y
413 // icon.
414 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
415 EXPECT_TRUE(IsTrayIconVisible());
416 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
417 EXPECT_FALSE(IsTrayIconVisible());
418
James Cookfc97f0a2017-08-16 20:05:35419 // Toggling large cursor changes the visibility of the icon.
mincha0b24ab2017-03-31 22:16:01420 AccessibilityManager::Get()->EnableLargeCursor(true);
421 EXPECT_TRUE(IsTrayIconVisible());
422 AccessibilityManager::Get()->EnableLargeCursor(false);
423 EXPECT_FALSE(IsTrayIconVisible());
424
James Cookfc97f0a2017-08-16 20:05:35425 // Toggling mono audio changes the visibility of the icon.
mincha0b24ab2017-03-31 22:16:01426 AccessibilityManager::Get()->EnableMonoAudio(true);
427 EXPECT_TRUE(IsTrayIconVisible());
428 AccessibilityManager::Get()->EnableMonoAudio(false);
429 EXPECT_FALSE(IsTrayIconVisible());
430
James Cookfc97f0a2017-08-16 20:05:35431 // Toggling caret highlight changes the visibility of the icon.
mincha0b24ab2017-03-31 22:16:01432 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
433 EXPECT_TRUE(IsTrayIconVisible());
434 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
435 EXPECT_FALSE(IsTrayIconVisible());
436
James Cookfc97f0a2017-08-16 20:05:35437 // Toggling highlight mouse cursor changes the visibility of the icon.
mincha0b24ab2017-03-31 22:16:01438 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
439 EXPECT_TRUE(IsTrayIconVisible());
440 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
441 EXPECT_FALSE(IsTrayIconVisible());
442
James Cookfc97f0a2017-08-16 20:05:35443 // Toggling highlight keyboard focus changes the visibility of the icon.
mincha0b24ab2017-03-31 22:16:01444 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
445 EXPECT_TRUE(IsTrayIconVisible());
446 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
447 EXPECT_FALSE(IsTrayIconVisible());
448
James Cookfc97f0a2017-08-16 20:05:35449 // Toggling sticky keys changes the visibility of the icon.
minchd9d542482017-04-07 19:29:56450 AccessibilityManager::Get()->EnableStickyKeys(true);
451 EXPECT_TRUE(IsTrayIconVisible());
452 AccessibilityManager::Get()->EnableStickyKeys(false);
453 EXPECT_FALSE(IsTrayIconVisible());
454
James Cookfc97f0a2017-08-16 20:05:35455 // Toggling tap dragging changes the visibility of the icon.
minchd9d542482017-04-07 19:29:56456 AccessibilityManager::Get()->EnableTapDragging(true);
457 EXPECT_TRUE(IsTrayIconVisible());
458 AccessibilityManager::Get()->EnableTapDragging(false);
459 EXPECT_FALSE(IsTrayIconVisible());
460
[email protected]806d94e2012-12-16 20:31:26461 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41462 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26463 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32464 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26465 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32466 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03467 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26468 EXPECT_TRUE(IsTrayIconVisible());
[email protected]abdd0d72014-02-05 17:18:07469 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
470 EXPECT_TRUE(IsTrayIconVisible());
mincha0b24ab2017-03-31 22:16:01471 AccessibilityManager::Get()->EnableLargeCursor(true);
472 EXPECT_TRUE(IsTrayIconVisible());
473 AccessibilityManager::Get()->EnableMonoAudio(true);
474 EXPECT_TRUE(IsTrayIconVisible());
475 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
476 EXPECT_TRUE(IsTrayIconVisible());
477 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
478 EXPECT_TRUE(IsTrayIconVisible());
479 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
480 EXPECT_TRUE(IsTrayIconVisible());
minchd9d542482017-04-07 19:29:56481 AccessibilityManager::Get()->EnableStickyKeys(true);
482 EXPECT_TRUE(IsTrayIconVisible());
483 AccessibilityManager::Get()->EnableTapDragging(true);
484 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32485 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03486 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26487 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32488 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26489 EXPECT_TRUE(IsTrayIconVisible());
[email protected]7585f4c2013-01-10 18:26:41490 SetMagnifierEnabled(false);
[email protected]abdd0d72014-02-05 17:18:07491 EXPECT_TRUE(IsTrayIconVisible());
492 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
mincha0b24ab2017-03-31 22:16:01493 EXPECT_TRUE(IsTrayIconVisible());
494 AccessibilityManager::Get()->EnableLargeCursor(false);
495 EXPECT_TRUE(IsTrayIconVisible());
496 AccessibilityManager::Get()->EnableMonoAudio(false);
497 EXPECT_TRUE(IsTrayIconVisible());
498 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
499 EXPECT_TRUE(IsTrayIconVisible());
500 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
501 EXPECT_TRUE(IsTrayIconVisible());
502 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
minchd9d542482017-04-07 19:29:56503 EXPECT_TRUE(IsTrayIconVisible());
504 AccessibilityManager::Get()->EnableStickyKeys(false);
505 EXPECT_TRUE(IsTrayIconVisible());
506 AccessibilityManager::Get()->EnableTapDragging(false);
[email protected]806d94e2012-12-16 20:31:26507 EXPECT_FALSE(IsTrayIconVisible());
508
James Cookc63b9fd2017-08-18 18:48:32509 // Confirms that ash::prefs::kShouldAlwaysShowAccessibilityMenu doesn't affect
[email protected]806d94e2012-12-16 20:31:26510 // the icon on the tray.
[email protected]5ace0c232013-05-29 00:48:41511 SetShowAccessibilityOptionsInSystemTrayMenu(true);
[email protected]1dfebfc2013-06-04 03:14:32512 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26513 EXPECT_TRUE(IsTrayIconVisible());
[email protected]1dfebfc2013-06-04 03:14:32514 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26515 EXPECT_FALSE(IsTrayIconVisible());
516}
517
yoshiki064fa9e2015-09-04 06:32:45518IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenu) {
[email protected]806d94e2012-12-16 20:31:26519 // Login
xiyuan8c6a4112017-06-19 21:03:49520 CreateAndStartUserSession(AccountId::FromUserEmail("[email protected]"));
xiyuan233f4e72017-04-06 06:59:56521 // Flush to ensure the session state reaches ash and updates login status.
522 SessionControllerClient::FlushForTesting();
[email protected]806d94e2012-12-16 20:31:26523
[email protected]5ace0c232013-05-29 00:48:41524 SetShowAccessibilityOptionsInSystemTrayMenu(false);
[email protected]806d94e2012-12-16 20:31:26525
526 // Confirms that the menu is hidden.
527 EXPECT_FALSE(CanCreateMenuItem());
528
James Cookfc97f0a2017-08-16 20:05:35529 // Toggling spoken feedback changes the visibility of the menu.
[email protected]1dfebfc2013-06-04 03:14:32530 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03531 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26532 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32533 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03534 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26535 EXPECT_FALSE(CanCreateMenuItem());
536
James Cookfc97f0a2017-08-16 20:05:35537 // Toggling high contrast changes the visibility of the menu.
[email protected]1dfebfc2013-06-04 03:14:32538 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26539 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32540 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26541 EXPECT_FALSE(CanCreateMenuItem());
542
[email protected]5ace0c232013-05-29 00:48:41543 // Toggling screen magnifier changes the visibility of the menu.
[email protected]7585f4c2013-01-10 18:26:41544 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26545 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41546 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26547 EXPECT_FALSE(CanCreateMenuItem());
548
[email protected]7cfa31a2013-10-23 20:08:13549 // Toggling autoclick changes the visibility of the menu.
550 AccessibilityManager::Get()->EnableAutoclick(true);
551 EXPECT_TRUE(CanCreateMenuItem());
552 AccessibilityManager::Get()->EnableAutoclick(false);
553 EXPECT_FALSE(CanCreateMenuItem());
554
[email protected]abdd0d72014-02-05 17:18:07555 // Toggling virtual keyboard changes the visibility of the menu.
556 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
557 EXPECT_TRUE(CanCreateMenuItem());
558 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
559 EXPECT_FALSE(CanCreateMenuItem());
560
mincha0b24ab2017-03-31 22:16:01561 // Toggling large mouse cursor changes the visibility of the menu.
562 AccessibilityManager::Get()->EnableLargeCursor(true);
563 EXPECT_TRUE(CanCreateMenuItem());
564 AccessibilityManager::Get()->EnableLargeCursor(false);
565 EXPECT_FALSE(CanCreateMenuItem());
566
567 // Toggling mono audio changes the visibility of the menu.
568 AccessibilityManager::Get()->EnableMonoAudio(true);
569 EXPECT_TRUE(CanCreateMenuItem());
570 AccessibilityManager::Get()->EnableMonoAudio(false);
571 EXPECT_FALSE(CanCreateMenuItem());
572
573 // Toggling caret highlight changes the visibility of the menu.
574 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
575 EXPECT_TRUE(CanCreateMenuItem());
576 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
577 EXPECT_FALSE(CanCreateMenuItem());
578
579 // Toggling highlight mouse cursor changes the visibility of the menu.
580 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
581 EXPECT_TRUE(CanCreateMenuItem());
582 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
583 EXPECT_FALSE(CanCreateMenuItem());
584
585 // Toggling highlight keyboard focus changes the visibility of the menu.
586 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
587 EXPECT_TRUE(CanCreateMenuItem());
588 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
589 EXPECT_FALSE(CanCreateMenuItem());
590
minchd9d542482017-04-07 19:29:56591 // Toggling sticky keys changes the visibility of the menu.
592 AccessibilityManager::Get()->EnableStickyKeys(true);
593 EXPECT_TRUE(CanCreateMenuItem());
594 AccessibilityManager::Get()->EnableStickyKeys(false);
595 EXPECT_FALSE(CanCreateMenuItem());
596
597 // Toggling tap dragging changes the visibility of the menu.
598 AccessibilityManager::Get()->EnableTapDragging(true);
599 EXPECT_TRUE(CanCreateMenuItem());
600 AccessibilityManager::Get()->EnableTapDragging(false);
601 EXPECT_FALSE(CanCreateMenuItem());
602
[email protected]806d94e2012-12-16 20:31:26603 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41604 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26605 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32606 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26607 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32608 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03609 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26610 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7cfa31a2013-10-23 20:08:13611 AccessibilityManager::Get()->EnableAutoclick(true);
612 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07613 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
614 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01615 AccessibilityManager::Get()->EnableLargeCursor(true);
616 EXPECT_TRUE(CanCreateMenuItem());
617 AccessibilityManager::Get()->EnableMonoAudio(true);
618 EXPECT_TRUE(CanCreateMenuItem());
619 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
620 EXPECT_TRUE(CanCreateMenuItem());
621 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
622 EXPECT_TRUE(CanCreateMenuItem());
623 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
624 EXPECT_TRUE(CanCreateMenuItem());
minchd9d542482017-04-07 19:29:56625 AccessibilityManager::Get()->EnableStickyKeys(true);
626 EXPECT_TRUE(CanCreateMenuItem());
627 AccessibilityManager::Get()->EnableTapDragging(true);
628 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07629 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
630 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7cfa31a2013-10-23 20:08:13631 AccessibilityManager::Get()->EnableAutoclick(false);
632 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32633 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03634 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26635 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32636 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26637 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41638 SetMagnifierEnabled(false);
mincha0b24ab2017-03-31 22:16:01639 EXPECT_TRUE(CanCreateMenuItem());
640 AccessibilityManager::Get()->EnableLargeCursor(false);
641 EXPECT_TRUE(CanCreateMenuItem());
642 AccessibilityManager::Get()->EnableMonoAudio(false);
643 EXPECT_TRUE(CanCreateMenuItem());
644 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
645 EXPECT_TRUE(CanCreateMenuItem());
646 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
647 EXPECT_TRUE(CanCreateMenuItem());
648 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
minchd9d542482017-04-07 19:29:56649 EXPECT_TRUE(CanCreateMenuItem());
650 AccessibilityManager::Get()->EnableStickyKeys(false);
651 EXPECT_TRUE(CanCreateMenuItem());
652 AccessibilityManager::Get()->EnableTapDragging(false);
[email protected]806d94e2012-12-16 20:31:26653 EXPECT_FALSE(CanCreateMenuItem());
654}
655
yoshiki064fa9e2015-09-04 06:32:45656IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowMenuOption) {
[email protected]806d94e2012-12-16 20:31:26657 // Login
xiyuan8c6a4112017-06-19 21:03:49658 CreateAndStartUserSession(AccountId::FromUserEmail("[email protected]"));
xiyuan233f4e72017-04-06 06:59:56659 // Flush to ensure the session state reaches ash and updates login status.
660 SessionControllerClient::FlushForTesting();
[email protected]806d94e2012-12-16 20:31:26661
[email protected]5ace0c232013-05-29 00:48:41662 SetShowAccessibilityOptionsInSystemTrayMenu(true);
[email protected]806d94e2012-12-16 20:31:26663
664 // Confirms that the menu is visible.
665 EXPECT_TRUE(CanCreateMenuItem());
666
[email protected]abdd0d72014-02-05 17:18:07667 // The menu remains visible regardless of toggling spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:32668 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03669 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26670 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32671 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03672 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26673 EXPECT_TRUE(CanCreateMenuItem());
674
[email protected]abdd0d72014-02-05 17:18:07675 // The menu remains visible regardless of toggling high contrast.
[email protected]1dfebfc2013-06-04 03:14:32676 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26677 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32678 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26679 EXPECT_TRUE(CanCreateMenuItem());
680
[email protected]abdd0d72014-02-05 17:18:07681 // The menu remains visible regardless of toggling screen magnifier.
[email protected]7585f4c2013-01-10 18:26:41682 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26683 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41684 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26685 EXPECT_TRUE(CanCreateMenuItem());
686
[email protected]abdd0d72014-02-05 17:18:07687 // The menu remains visible regardless of toggling autoclick.
[email protected]7cfa31a2013-10-23 20:08:13688 AccessibilityManager::Get()->EnableAutoclick(true);
689 EXPECT_TRUE(CanCreateMenuItem());
690 AccessibilityManager::Get()->EnableAutoclick(false);
691 EXPECT_TRUE(CanCreateMenuItem());
692
[email protected]abdd0d72014-02-05 17:18:07693 // The menu remains visible regardless of toggling on-screen keyboard.
694 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
695 EXPECT_TRUE(CanCreateMenuItem());
696 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
697 EXPECT_TRUE(CanCreateMenuItem());
698
minchd9d542482017-04-07 19:29:56699 // The menu remains visible regardless of toggling large mouse cursor.
mincha0b24ab2017-03-31 22:16:01700 AccessibilityManager::Get()->EnableLargeCursor(true);
701 EXPECT_TRUE(CanCreateMenuItem());
702 AccessibilityManager::Get()->EnableLargeCursor(false);
703 EXPECT_TRUE(CanCreateMenuItem());
704
minchd9d542482017-04-07 19:29:56705 // The menu remains visible regardless of toggling mono audio.
mincha0b24ab2017-03-31 22:16:01706 AccessibilityManager::Get()->EnableMonoAudio(true);
707 EXPECT_TRUE(CanCreateMenuItem());
708 AccessibilityManager::Get()->EnableMonoAudio(false);
709 EXPECT_TRUE(CanCreateMenuItem());
710
minchd9d542482017-04-07 19:29:56711 // The menu remains visible regardless of toggling caret highlight.
mincha0b24ab2017-03-31 22:16:01712 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
713 EXPECT_TRUE(CanCreateMenuItem());
714 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
715 EXPECT_TRUE(CanCreateMenuItem());
716
minchd9d542482017-04-07 19:29:56717 // The menu remains visible regardless of toggling highlight mouse cursor.
mincha0b24ab2017-03-31 22:16:01718 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
719 EXPECT_TRUE(CanCreateMenuItem());
720 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
721 EXPECT_TRUE(CanCreateMenuItem());
722
minchd9d542482017-04-07 19:29:56723 // The menu remains visible regardless of toggling highlight keyboard focus.
mincha0b24ab2017-03-31 22:16:01724 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
725 EXPECT_TRUE(CanCreateMenuItem());
726 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
727 EXPECT_TRUE(CanCreateMenuItem());
728
minchd9d542482017-04-07 19:29:56729 // The menu remains visible regardless of the toggling sticky keys.
730 AccessibilityManager::Get()->EnableStickyKeys(true);
731 EXPECT_TRUE(CanCreateMenuItem());
732 AccessibilityManager::Get()->EnableStickyKeys(false);
733 EXPECT_TRUE(CanCreateMenuItem());
734
735 // The menu remains visible regardless of the toggling tap dragging.
736 AccessibilityManager::Get()->EnableTapDragging(true);
737 EXPECT_TRUE(CanCreateMenuItem());
738 AccessibilityManager::Get()->EnableTapDragging(false);
739 EXPECT_TRUE(CanCreateMenuItem());
740
[email protected]806d94e2012-12-16 20:31:26741 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41742 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26743 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32744 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26745 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32746 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03747 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26748 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7cfa31a2013-10-23 20:08:13749 AccessibilityManager::Get()->EnableAutoclick(true);
750 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07751 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
752 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01753 AccessibilityManager::Get()->EnableLargeCursor(true);
754 EXPECT_TRUE(CanCreateMenuItem());
755 AccessibilityManager::Get()->EnableMonoAudio(true);
756 EXPECT_TRUE(CanCreateMenuItem());
757 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
758 EXPECT_TRUE(CanCreateMenuItem());
759 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
760 EXPECT_TRUE(CanCreateMenuItem());
761 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
762 EXPECT_TRUE(CanCreateMenuItem());
minchd9d542482017-04-07 19:29:56763 AccessibilityManager::Get()->EnableStickyKeys(true);
764 EXPECT_TRUE(CanCreateMenuItem());
765 AccessibilityManager::Get()->EnableTapDragging(true);
766 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07767 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
768 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7cfa31a2013-10-23 20:08:13769 AccessibilityManager::Get()->EnableAutoclick(false);
770 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32771 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03772 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26773 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32774 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26775 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41776 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26777 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01778 AccessibilityManager::Get()->EnableLargeCursor(false);
779 EXPECT_TRUE(CanCreateMenuItem());
780 AccessibilityManager::Get()->EnableMonoAudio(false);
781 EXPECT_TRUE(CanCreateMenuItem());
782 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
783 EXPECT_TRUE(CanCreateMenuItem());
784 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
785 EXPECT_TRUE(CanCreateMenuItem());
786 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
787 EXPECT_TRUE(CanCreateMenuItem());
minchd9d542482017-04-07 19:29:56788 AccessibilityManager::Get()->EnableStickyKeys(false);
789 EXPECT_TRUE(CanCreateMenuItem());
790 AccessibilityManager::Get()->EnableTapDragging(false);
791 EXPECT_TRUE(CanCreateMenuItem());
[email protected]806d94e2012-12-16 20:31:26792
[email protected]5ace0c232013-05-29 00:48:41793 SetShowAccessibilityOptionsInSystemTrayMenu(false);
[email protected]806d94e2012-12-16 20:31:26794
795 // Confirms that the menu is invisible.
796 EXPECT_FALSE(CanCreateMenuItem());
797}
798
[email protected]5ace0c232013-05-29 00:48:41799IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowMenuWithShowOnLoginScreen) {
skye79274a2016-06-08 05:39:02800 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]806d94e2012-12-16 20:31:26801
802 // Confirms that the menu is visible.
803 EXPECT_TRUE(CanCreateMenuItem());
804
[email protected]abdd0d72014-02-05 17:18:07805 // The menu remains visible regardless of toggling spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:32806 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03807 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26808 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32809 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03810 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26811 EXPECT_TRUE(CanCreateMenuItem());
812
[email protected]abdd0d72014-02-05 17:18:07813 // The menu remains visible regardless of toggling high contrast.
[email protected]1dfebfc2013-06-04 03:14:32814 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26815 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32816 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26817 EXPECT_TRUE(CanCreateMenuItem());
818
[email protected]abdd0d72014-02-05 17:18:07819 // The menu remains visible regardless of toggling screen magnifier.
[email protected]7585f4c2013-01-10 18:26:41820 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26821 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41822 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26823 EXPECT_TRUE(CanCreateMenuItem());
824
[email protected]abdd0d72014-02-05 17:18:07825 // The menu remains visible regardless of toggling on-screen keyboard.
826 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
827 EXPECT_TRUE(CanCreateMenuItem());
828 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
829 EXPECT_TRUE(CanCreateMenuItem());
830
minchd9d542482017-04-07 19:29:56831 // The menu remains visible regardless of toggling large mouse cursor.
mincha0b24ab2017-03-31 22:16:01832 AccessibilityManager::Get()->EnableLargeCursor(true);
833 EXPECT_TRUE(CanCreateMenuItem());
834 AccessibilityManager::Get()->EnableLargeCursor(false);
835 EXPECT_TRUE(CanCreateMenuItem());
836
minchd9d542482017-04-07 19:29:56837 // The menu remains visible regardless of toggling mono audio.
mincha0b24ab2017-03-31 22:16:01838 AccessibilityManager::Get()->EnableMonoAudio(true);
839 EXPECT_TRUE(CanCreateMenuItem());
840 AccessibilityManager::Get()->EnableMonoAudio(false);
841 EXPECT_TRUE(CanCreateMenuItem());
842
minchd9d542482017-04-07 19:29:56843 // The menu remains visible regardless of toggling caret highlight.
mincha0b24ab2017-03-31 22:16:01844 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
845 EXPECT_TRUE(CanCreateMenuItem());
846 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
847 EXPECT_TRUE(CanCreateMenuItem());
848
minchd9d542482017-04-07 19:29:56849 // The menu remains visible regardless of toggling highlight mouse cursor.
mincha0b24ab2017-03-31 22:16:01850 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
851 EXPECT_TRUE(CanCreateMenuItem());
852 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
853 EXPECT_TRUE(CanCreateMenuItem());
854
minchd9d542482017-04-07 19:29:56855 // The menu remains visible regardless of toggling highlight keyboard focus.
mincha0b24ab2017-03-31 22:16:01856 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
857 EXPECT_TRUE(CanCreateMenuItem());
858 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
859 EXPECT_TRUE(CanCreateMenuItem());
860
minchd9d542482017-04-07 19:29:56861 // The menu remains visible regardless of toggling sticky keys.
862 AccessibilityManager::Get()->EnableStickyKeys(true);
863 EXPECT_TRUE(CanCreateMenuItem());
864 AccessibilityManager::Get()->EnableStickyKeys(false);
865 EXPECT_TRUE(CanCreateMenuItem());
866
867 // The menu remains visible regardless of toggling tap dragging.
868 AccessibilityManager::Get()->EnableTapDragging(true);
869 EXPECT_TRUE(CanCreateMenuItem());
870 AccessibilityManager::Get()->EnableTapDragging(false);
871 EXPECT_TRUE(CanCreateMenuItem());
872
[email protected]806d94e2012-12-16 20:31:26873 // Enabling all accessibility features.
[email protected]7585f4c2013-01-10 18:26:41874 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:26875 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32876 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:26877 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32878 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03879 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26880 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07881 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
882 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01883 AccessibilityManager::Get()->EnableLargeCursor(true);
884 EXPECT_TRUE(CanCreateMenuItem());
885 AccessibilityManager::Get()->EnableMonoAudio(true);
886 EXPECT_TRUE(CanCreateMenuItem());
887 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
888 EXPECT_TRUE(CanCreateMenuItem());
889 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
890 EXPECT_TRUE(CanCreateMenuItem());
891 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
892 EXPECT_TRUE(CanCreateMenuItem());
minchd9d542482017-04-07 19:29:56893 AccessibilityManager::Get()->EnableStickyKeys(true);
894 EXPECT_TRUE(CanCreateMenuItem());
895 AccessibilityManager::Get()->EnableTapDragging(true);
896 EXPECT_TRUE(CanCreateMenuItem());
[email protected]abdd0d72014-02-05 17:18:07897 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
898 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32899 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03900 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:26901 EXPECT_TRUE(CanCreateMenuItem());
[email protected]1dfebfc2013-06-04 03:14:32902 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:26903 EXPECT_TRUE(CanCreateMenuItem());
[email protected]7585f4c2013-01-10 18:26:41904 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:26905 EXPECT_TRUE(CanCreateMenuItem());
mincha0b24ab2017-03-31 22:16:01906 AccessibilityManager::Get()->EnableLargeCursor(false);
907 EXPECT_TRUE(CanCreateMenuItem());
908 AccessibilityManager::Get()->EnableMonoAudio(false);
909 EXPECT_TRUE(CanCreateMenuItem());
910 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
911 EXPECT_TRUE(CanCreateMenuItem());
912 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
913 EXPECT_TRUE(CanCreateMenuItem());
914 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
915 EXPECT_TRUE(CanCreateMenuItem());
minchd9d542482017-04-07 19:29:56916 AccessibilityManager::Get()->EnableStickyKeys(false);
917 EXPECT_TRUE(CanCreateMenuItem());
918 AccessibilityManager::Get()->EnableTapDragging(false);
919 EXPECT_TRUE(CanCreateMenuItem());
[email protected]806d94e2012-12-16 20:31:26920
[email protected]5ace0c232013-05-29 00:48:41921 SetShowAccessibilityOptionsInSystemTrayMenu(true);
[email protected]806d94e2012-12-16 20:31:26922
[email protected]abdd0d72014-02-05 17:18:07923 // Confirms that the menu remains visible.
[email protected]806d94e2012-12-16 20:31:26924 EXPECT_TRUE(CanCreateMenuItem());
925
[email protected]5ace0c232013-05-29 00:48:41926 SetShowAccessibilityOptionsInSystemTrayMenu(false);
[email protected]806d94e2012-12-16 20:31:26927
[email protected]abdd0d72014-02-05 17:18:07928 // Confirms that the menu remains visible.
[email protected]806d94e2012-12-16 20:31:26929 EXPECT_TRUE(CanCreateMenuItem());
930}
931
[email protected]a81b2c32014-03-28 06:35:01932IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ShowNotification) {
933 const base::string16 BRAILLE_CONNECTED =
934 base::ASCIIToUTF16("Braille display connected.");
yiyix2df25af2017-05-23 16:51:07935 const base::string16 CHROMEVOX_ENABLED_TITLE =
936 base::ASCIIToUTF16("ChromeVox enabled");
937 const base::string16 CHROMEVOX_ENABLED =
938 base::ASCIIToUTF16("Press Ctrl + Alt + Z to disable spoken feedback.");
939 const base::string16 BRAILLE_CONNECTED_AND_CHROMEVOX_ENABLED_TITLE =
940 base::ASCIIToUTF16("Braille and ChromeVox are enabled");
[email protected]a81b2c32014-03-28 06:35:01941
942 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
943
944 // Enabling spoken feedback should show the notification.
945 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03946 true, ash::A11Y_NOTIFICATION_SHOW);
yiyix2df25af2017-05-23 16:51:07947 message_center::NotificationList::Notifications notifications =
948 MessageCenter::Get()->GetVisibleNotifications();
949 EXPECT_EQ(1u, notifications.size());
950 EXPECT_EQ(CHROMEVOX_ENABLED_TITLE, (*notifications.begin())->title());
951 EXPECT_EQ(CHROMEVOX_ENABLED, (*notifications.begin())->message());
[email protected]a81b2c32014-03-28 06:35:01952
953 // Connecting a braille display when spoken feedback is already enabled
954 // should only show the message about the braille display.
955 SetBrailleConnected(true);
yiyix2df25af2017-05-23 16:51:07956 notifications = MessageCenter::Get()->GetVisibleNotifications();
957 EXPECT_EQ(1u, notifications.size());
958 EXPECT_EQ(base::string16(), (*notifications.begin())->title());
959 EXPECT_EQ(BRAILLE_CONNECTED, (*notifications.begin())->message());
[email protected]a81b2c32014-03-28 06:35:01960
961 // Neither disconnecting a braille display, nor disabling spoken feedback
962 // should show any notification.
963 SetBrailleConnected(false);
964 EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
yiyix2df25af2017-05-23 16:51:07965 notifications = MessageCenter::Get()->GetVisibleNotifications();
966 EXPECT_EQ(0u, notifications.size());
[email protected]a81b2c32014-03-28 06:35:01967 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:03968 false, ash::A11Y_NOTIFICATION_SHOW);
yiyix2df25af2017-05-23 16:51:07969 notifications = MessageCenter::Get()->GetVisibleNotifications();
970 EXPECT_EQ(0u, notifications.size());
[email protected]a81b2c32014-03-28 06:35:01971 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
972
973 // Connecting a braille display should enable spoken feedback and show
974 // both messages.
975 SetBrailleConnected(true);
976 EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
yiyix2df25af2017-05-23 16:51:07977 notifications = MessageCenter::Get()->GetVisibleNotifications();
978 EXPECT_EQ(BRAILLE_CONNECTED_AND_CHROMEVOX_ENABLED_TITLE,
979 (*notifications.begin())->title());
980 EXPECT_EQ(CHROMEVOX_ENABLED, (*notifications.begin())->message());
[email protected]a81b2c32014-03-28 06:35:01981}
982
[email protected]5ace0c232013-05-29 00:48:41983IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, KeepMenuVisibilityOnLockScreen) {
[email protected]14c95c82013-01-30 06:30:29984 // Enables high contrast mode.
[email protected]1dfebfc2013-06-04 03:14:32985 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]14c95c82013-01-30 06:30:29986 EXPECT_TRUE(CanCreateMenuItem());
987
988 // Locks the screen.
skye79274a2016-06-08 05:39:02989 SetLoginStatus(ash::LoginStatus::LOCKED);
[email protected]14c95c82013-01-30 06:30:29990 EXPECT_TRUE(CanCreateMenuItem());
991
992 // Disables high contrast mode.
[email protected]1dfebfc2013-06-04 03:14:32993 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]14c95c82013-01-30 06:30:29994
995 // Confirms that the menu is still visible.
996 EXPECT_TRUE(CanCreateMenuItem());
997}
998
yoshiki82c93e1c2015-09-02 19:33:17999IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, ClickDetailMenu) {
skye79274a2016-06-08 05:39:021000 SetLoginStatus(ash::LoginStatus::USER);
[email protected]8bacb662013-02-27 03:15:241001
[email protected]806d94e2012-12-16 20:31:261002 // Confirms that the check item toggles the spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:321003 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
[email protected]806d94e2012-12-16 20:31:261004
1005 EXPECT_TRUE(CreateDetailedMenu());
1006 ClickSpokenFeedbackOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:321007 EXPECT_TRUE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
[email protected]806d94e2012-12-16 20:31:261008
1009 EXPECT_TRUE(CreateDetailedMenu());
1010 ClickSpokenFeedbackOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:321011 EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
[email protected]806d94e2012-12-16 20:31:261012
1013 // Confirms that the check item toggles the high contrast.
[email protected]1dfebfc2013-06-04 03:14:321014 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:261015
1016 EXPECT_TRUE(CreateDetailedMenu());
1017 ClickHighContrastOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:321018 EXPECT_TRUE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:261019
1020 EXPECT_TRUE(CreateDetailedMenu());
1021 ClickHighContrastOnDetailMenu();
[email protected]1dfebfc2013-06-04 03:14:321022 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:261023
1024 // Confirms that the check item toggles the magnifier.
[email protected]1dfebfc2013-06-04 03:14:321025 EXPECT_FALSE(AccessibilityManager::Get()->IsHighContrastEnabled());
[email protected]806d94e2012-12-16 20:31:261026
[email protected]7585f4c2013-01-10 18:26:411027 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled());
[email protected]806d94e2012-12-16 20:31:261028 EXPECT_TRUE(CreateDetailedMenu());
1029 ClickScreenMagnifierOnDetailMenu();
[email protected]7585f4c2013-01-10 18:26:411030 EXPECT_TRUE(MagnificationManager::Get()->IsMagnifierEnabled());
[email protected]806d94e2012-12-16 20:31:261031
1032 EXPECT_TRUE(CreateDetailedMenu());
1033 ClickScreenMagnifierOnDetailMenu();
[email protected]7585f4c2013-01-10 18:26:411034 EXPECT_FALSE(MagnificationManager::Get()->IsMagnifierEnabled());
[email protected]7cfa31a2013-10-23 20:08:131035
1036 // Confirms that the check item toggles autoclick.
1037 EXPECT_FALSE(AccessibilityManager::Get()->IsAutoclickEnabled());
1038
1039 EXPECT_TRUE(CreateDetailedMenu());
1040 ClickAutoclickOnDetailMenu();
1041 EXPECT_TRUE(AccessibilityManager::Get()->IsAutoclickEnabled());
1042
1043 EXPECT_TRUE(CreateDetailedMenu());
1044 ClickAutoclickOnDetailMenu();
1045 EXPECT_FALSE(AccessibilityManager::Get()->IsAutoclickEnabled());
[email protected]abdd0d72014-02-05 17:18:071046
1047 // Confirms that the check item toggles on-screen keyboard.
1048 EXPECT_FALSE(AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
1049
1050 EXPECT_TRUE(CreateDetailedMenu());
1051 ClickVirtualKeyboardOnDetailMenu();
1052 EXPECT_TRUE(AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
1053
1054 EXPECT_TRUE(CreateDetailedMenu());
1055 ClickVirtualKeyboardOnDetailMenu();
1056 EXPECT_FALSE(AccessibilityManager::Get()->IsVirtualKeyboardEnabled());
mincha0b24ab2017-03-31 22:16:011057
1058 // Confirms that the check item toggles large mouse cursor.
1059 EXPECT_FALSE(AccessibilityManager::Get()->IsLargeCursorEnabled());
1060
1061 EXPECT_TRUE(CreateDetailedMenu());
1062 ClickLargeMouseCursorOnDetailMenu();
1063 EXPECT_TRUE(AccessibilityManager::Get()->IsLargeCursorEnabled());
1064
1065 EXPECT_TRUE(CreateDetailedMenu());
1066 ClickLargeMouseCursorOnDetailMenu();
1067 EXPECT_FALSE(AccessibilityManager::Get()->IsLargeCursorEnabled());
1068
1069 // Confirms that the check item toggles mono audio.
1070 EXPECT_FALSE(AccessibilityManager::Get()->IsMonoAudioEnabled());
1071
1072 EXPECT_TRUE(CreateDetailedMenu());
1073 ClickMonoAudioOnDetailMenu();
1074 EXPECT_TRUE(AccessibilityManager::Get()->IsMonoAudioEnabled());
1075
1076 EXPECT_TRUE(CreateDetailedMenu());
1077 ClickMonoAudioOnDetailMenu();
1078 EXPECT_FALSE(AccessibilityManager::Get()->IsMonoAudioEnabled());
1079
1080 // Confirms that the check item toggles caret highlight.
1081 EXPECT_FALSE(AccessibilityManager::Get()->IsCaretHighlightEnabled());
1082
1083 EXPECT_TRUE(CreateDetailedMenu());
1084 ClickCaretHighlightOnDetailMenu();
1085 EXPECT_TRUE(AccessibilityManager::Get()->IsCaretHighlightEnabled());
1086
1087 EXPECT_TRUE(CreateDetailedMenu());
1088 ClickCaretHighlightOnDetailMenu();
1089 EXPECT_FALSE(AccessibilityManager::Get()->IsCaretHighlightEnabled());
1090
1091 // Confirms that the check item toggles highlight mouse cursor.
1092 EXPECT_FALSE(AccessibilityManager::Get()->IsCursorHighlightEnabled());
1093
1094 EXPECT_TRUE(CreateDetailedMenu());
1095 ClickHighlightMouseCursorOnDetailMenu();
1096 EXPECT_TRUE(AccessibilityManager::Get()->IsCursorHighlightEnabled());
1097
1098 EXPECT_TRUE(CreateDetailedMenu());
1099 ClickHighlightMouseCursorOnDetailMenu();
1100 EXPECT_FALSE(AccessibilityManager::Get()->IsCursorHighlightEnabled());
1101
1102 // Confirms that the check item toggles highlight keyboard focus.
1103 EXPECT_FALSE(AccessibilityManager::Get()->IsFocusHighlightEnabled());
1104
1105 EXPECT_TRUE(CreateDetailedMenu());
1106 ClickHighlishtKeyboardFocusOnDetailMenu();
1107 EXPECT_TRUE(AccessibilityManager::Get()->IsFocusHighlightEnabled());
1108
1109 EXPECT_TRUE(CreateDetailedMenu());
1110 ClickHighlishtKeyboardFocusOnDetailMenu();
1111 EXPECT_FALSE(AccessibilityManager::Get()->IsFocusHighlightEnabled());
minchd9d542482017-04-07 19:29:561112
1113 // Confirms that the check item toggles sticky keys.
1114 EXPECT_FALSE(AccessibilityManager::Get()->IsStickyKeysEnabled());
1115
1116 EXPECT_TRUE(CreateDetailedMenu());
1117 ClickStickyKeysOnDetailMenu();
1118 EXPECT_TRUE(AccessibilityManager::Get()->IsStickyKeysEnabled());
1119
1120 EXPECT_TRUE(CreateDetailedMenu());
1121 ClickStickyKeysOnDetailMenu();
1122 EXPECT_FALSE(AccessibilityManager::Get()->IsStickyKeysEnabled());
1123
1124 // Confirms that the check item toggles tap dragging.
1125 EXPECT_FALSE(AccessibilityManager::Get()->IsTapDraggingEnabled());
1126
1127 EXPECT_TRUE(CreateDetailedMenu());
1128 ClickTapDraggingOnDetailMenu();
1129 EXPECT_TRUE(AccessibilityManager::Get()->IsTapDraggingEnabled());
1130
1131 EXPECT_TRUE(CreateDetailedMenu());
1132 ClickTapDraggingOnDetailMenu();
1133 EXPECT_FALSE(AccessibilityManager::Get()->IsTapDraggingEnabled());
[email protected]806d94e2012-12-16 20:31:261134}
1135
[email protected]5ace0c232013-05-29 00:48:411136IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMarksOnDetailMenu) {
skye79274a2016-06-08 05:39:021137 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]57999022013-06-07 12:52:031138
[email protected]806d94e2012-12-16 20:31:261139 // At first, all of the check is unchecked.
1140 EXPECT_TRUE(CreateDetailedMenu());
1141 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1142 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1143 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031144 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131145 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071146 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011147 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1148 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1149 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1150 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561151 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1152 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261153 CloseDetailMenu();
1154
1155 // Enabling spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:321156 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:031157 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:261158 EXPECT_TRUE(CreateDetailedMenu());
1159 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
1160 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1161 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031162 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131163 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071164 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011165 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1166 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1167 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1168 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561169 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1170 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261171 CloseDetailMenu();
1172
1173 // Disabling spoken feedback.
[email protected]1dfebfc2013-06-04 03:14:321174 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:031175 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]806d94e2012-12-16 20:31:261176 EXPECT_TRUE(CreateDetailedMenu());
1177 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1178 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1179 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031180 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131181 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071182 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011183 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1184 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1185 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1186 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561187 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1188 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261189 CloseDetailMenu();
1190
1191 // Enabling high contrast.
[email protected]1dfebfc2013-06-04 03:14:321192 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]806d94e2012-12-16 20:31:261193 EXPECT_TRUE(CreateDetailedMenu());
1194 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1195 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
1196 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031197 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131198 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071199 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011200 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1201 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1202 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1203 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561204 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1205 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261206 CloseDetailMenu();
1207
1208 // Disabling high contrast.
[email protected]1dfebfc2013-06-04 03:14:321209 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]806d94e2012-12-16 20:31:261210 EXPECT_TRUE(CreateDetailedMenu());
1211 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1212 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1213 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031214 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131215 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071216 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011217 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1218 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1219 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1220 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561221 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1222 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261223 CloseDetailMenu();
1224
1225 // Enabling full screen magnifier.
[email protected]7585f4c2013-01-10 18:26:411226 SetMagnifierEnabled(true);
[email protected]806d94e2012-12-16 20:31:261227 EXPECT_TRUE(CreateDetailedMenu());
1228 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1229 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1230 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031231 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131232 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071233 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011234 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1235 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1236 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1237 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561238 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1239 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261240 CloseDetailMenu();
1241
1242 // Disabling screen magnifier.
[email protected]7585f4c2013-01-10 18:26:411243 SetMagnifierEnabled(false);
[email protected]806d94e2012-12-16 20:31:261244 EXPECT_TRUE(CreateDetailedMenu());
1245 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1246 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1247 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031248 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131249 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071250 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011251 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1252 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1253 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1254 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561255 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1256 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031257 CloseDetailMenu();
1258
1259 // Enabling large cursor.
1260 AccessibilityManager::Get()->EnableLargeCursor(true);
1261 EXPECT_TRUE(CreateDetailedMenu());
1262 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1263 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1264 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1265 EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131266 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071267 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011268 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1269 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1270 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1271 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561272 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1273 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031274 CloseDetailMenu();
1275
1276 // Disabling large cursor.
1277 AccessibilityManager::Get()->EnableLargeCursor(false);
1278 EXPECT_TRUE(CreateDetailedMenu());
1279 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1280 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1281 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1282 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131283 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071284 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011285 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1286 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1287 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1288 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561289 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1290 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071291 CloseDetailMenu();
1292
1293 // Enable on-screen keyboard.
1294 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
1295 EXPECT_TRUE(CreateDetailedMenu());
1296 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1297 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1298 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1299 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1300 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1301 EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011302 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1303 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1304 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1305 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561306 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1307 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071308 CloseDetailMenu();
1309
1310 // Disable on-screen keyboard.
1311 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
1312 EXPECT_TRUE(CreateDetailedMenu());
1313 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1314 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1315 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1316 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1317 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1318 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011319 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1320 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1321 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1322 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561323 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1324 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011325 CloseDetailMenu();
1326
1327 // Enabling mono audio.
1328 AccessibilityManager::Get()->EnableMonoAudio(true);
1329 EXPECT_TRUE(CreateDetailedMenu());
1330 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1331 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1332 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1333 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1334 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1335 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1336 EXPECT_TRUE(IsMonoAudioEnabledOnDetailMenu());
1337 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1338 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1339 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561340 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1341 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011342 CloseDetailMenu();
1343
1344 // Disabling mono audio.
1345 AccessibilityManager::Get()->EnableMonoAudio(false);
1346 EXPECT_TRUE(CreateDetailedMenu());
1347 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1348 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1349 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1350 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1351 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1352 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1353 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1354 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1355 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1356 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561357 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1358 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011359 CloseDetailMenu();
1360
1361 // Enabling caret highlight.
1362 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
1363 EXPECT_TRUE(CreateDetailedMenu());
1364 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1365 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1366 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1367 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1368 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1369 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1370 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1371 EXPECT_TRUE(IsCaretHighlightEnabledOnDetailMenu());
1372 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1373 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561374 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1375 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011376 CloseDetailMenu();
1377
1378 // Disabling caret highlight.
1379 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
1380 EXPECT_TRUE(CreateDetailedMenu());
1381 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1382 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1383 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1384 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1385 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1386 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1387 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1388 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1389 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1390 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561391 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1392 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011393 CloseDetailMenu();
1394
1395 // Enabling highlight mouse cursor.
1396 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
1397 EXPECT_TRUE(CreateDetailedMenu());
1398 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1399 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1400 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1401 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1402 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1403 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1404 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1405 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1406 EXPECT_TRUE(IsHighlightMouseCursorEnabledOnDetailMenu());
1407 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561408 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1409 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011410 CloseDetailMenu();
1411
1412 // Disabling highlight mouse cursor.
1413 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
1414 EXPECT_TRUE(CreateDetailedMenu());
1415 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1416 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1417 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1418 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1419 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1420 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1421 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1422 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1423 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1424 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561425 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1426 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011427 CloseDetailMenu();
1428
1429 // Enabling highlight keyboard focus.
1430 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
1431 EXPECT_TRUE(CreateDetailedMenu());
1432 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1433 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1434 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1435 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1436 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1437 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1438 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1439 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1440 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1441 EXPECT_TRUE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561442 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1443 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011444 CloseDetailMenu();
1445
1446 // Disabling highlight keyboard focus.
1447 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
1448 EXPECT_TRUE(CreateDetailedMenu());
1449 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1450 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1451 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1452 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1453 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1454 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1455 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1456 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1457 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1458 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561459 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1460 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
1461 CloseDetailMenu();
1462
1463 // Enabling sticky keys.
1464 AccessibilityManager::Get()->EnableStickyKeys(true);
1465 EXPECT_TRUE(CreateDetailedMenu());
1466 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1467 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1468 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1469 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1470 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1471 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1472 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1473 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1474 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1475 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1476 EXPECT_TRUE(IsStickyKeysEnabledOnDetailMenu());
1477 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
1478 CloseDetailMenu();
1479
1480 // Disabling sticky keys.
1481 AccessibilityManager::Get()->EnableStickyKeys(false);
1482 EXPECT_TRUE(CreateDetailedMenu());
1483 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1484 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1485 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1486 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1487 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1488 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1489 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1490 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1491 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1492 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1493 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1494 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
1495 CloseDetailMenu();
1496
1497 // Enabling tap dragging.
1498 AccessibilityManager::Get()->EnableTapDragging(true);
1499 EXPECT_TRUE(CreateDetailedMenu());
1500 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1501 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1502 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1503 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1504 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1505 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1506 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1507 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1508 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1509 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1510 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1511 EXPECT_TRUE(IsTapDraggingEnabledOnDetailMenu());
1512 CloseDetailMenu();
1513
1514 // Disabling tap dragging.
1515 AccessibilityManager::Get()->EnableTapDragging(false);
1516 EXPECT_TRUE(CreateDetailedMenu());
1517 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1518 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1519 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1520 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1521 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
1522 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
1523 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1524 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1525 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1526 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
1527 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1528 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261529 CloseDetailMenu();
1530
1531 // Enabling all of the a11y features.
[email protected]1dfebfc2013-06-04 03:14:321532 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:031533 true, ash::A11Y_NOTIFICATION_NONE);
[email protected]1dfebfc2013-06-04 03:14:321534 AccessibilityManager::Get()->EnableHighContrast(true);
[email protected]7585f4c2013-01-10 18:26:411535 SetMagnifierEnabled(true);
[email protected]57999022013-06-07 12:52:031536 AccessibilityManager::Get()->EnableLargeCursor(true);
[email protected]abdd0d72014-02-05 17:18:071537 AccessibilityManager::Get()->EnableVirtualKeyboard(true);
mincha0b24ab2017-03-31 22:16:011538 AccessibilityManager::Get()->EnableAutoclick(true);
1539 AccessibilityManager::Get()->EnableMonoAudio(true);
1540 AccessibilityManager::Get()->SetCaretHighlightEnabled(true);
1541 AccessibilityManager::Get()->SetCursorHighlightEnabled(true);
1542 AccessibilityManager::Get()->SetFocusHighlightEnabled(true);
minchd9d542482017-04-07 19:29:561543 AccessibilityManager::Get()->EnableStickyKeys(true);
1544 AccessibilityManager::Get()->EnableTapDragging(true);
[email protected]806d94e2012-12-16 20:31:261545 EXPECT_TRUE(CreateDetailedMenu());
1546 EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
1547 EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
1548 EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031549 EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011550 EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071551 EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011552 EXPECT_TRUE(IsMonoAudioEnabledOnDetailMenu());
1553 EXPECT_TRUE(IsCaretHighlightEnabledOnDetailMenu());
1554 EXPECT_TRUE(IsHighlightMouseCursorEnabledOnDetailMenu());
1555 // Focus highlighting can't be on when spoken feedback is on
1556 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561557 EXPECT_TRUE(IsStickyKeysEnabledOnDetailMenu());
1558 EXPECT_TRUE(IsTapDraggingEnabledOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261559 CloseDetailMenu();
1560
1561 // Disabling all of the a11y features.
[email protected]1dfebfc2013-06-04 03:14:321562 AccessibilityManager::Get()->EnableSpokenFeedback(
jamescooka7f8dab2016-06-21 01:44:031563 false, ash::A11Y_NOTIFICATION_NONE);
[email protected]1dfebfc2013-06-04 03:14:321564 AccessibilityManager::Get()->EnableHighContrast(false);
[email protected]7585f4c2013-01-10 18:26:411565 SetMagnifierEnabled(false);
[email protected]57999022013-06-07 12:52:031566 AccessibilityManager::Get()->EnableLargeCursor(false);
[email protected]abdd0d72014-02-05 17:18:071567 AccessibilityManager::Get()->EnableVirtualKeyboard(false);
mincha0b24ab2017-03-31 22:16:011568 AccessibilityManager::Get()->EnableAutoclick(false);
1569 AccessibilityManager::Get()->EnableMonoAudio(false);
1570 AccessibilityManager::Get()->SetCaretHighlightEnabled(false);
1571 AccessibilityManager::Get()->SetCursorHighlightEnabled(false);
1572 AccessibilityManager::Get()->SetFocusHighlightEnabled(false);
minchd9d542482017-04-07 19:29:561573 AccessibilityManager::Get()->EnableStickyKeys(false);
1574 AccessibilityManager::Get()->EnableTapDragging(false);
[email protected]806d94e2012-12-16 20:31:261575 EXPECT_TRUE(CreateDetailedMenu());
1576 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1577 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1578 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031579 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131580 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071581 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011582 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1583 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1584 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1585 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561586 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1587 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131588 CloseDetailMenu();
1589
[email protected]7cfa31a2013-10-23 20:08:131590 // Enabling autoclick.
1591 AccessibilityManager::Get()->EnableAutoclick(true);
1592 EXPECT_TRUE(CreateDetailedMenu());
1593 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1594 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1595 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1596 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1597 EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071598 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011599 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1600 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1601 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1602 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561603 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1604 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131605 CloseDetailMenu();
1606
1607 // Disabling autoclick.
1608 AccessibilityManager::Get()->EnableAutoclick(false);
1609 EXPECT_TRUE(CreateDetailedMenu());
1610 EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
1611 EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
1612 EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
1613 EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
1614 EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071615 EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011616 EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
1617 EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
1618 EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
1619 EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
minchd9d542482017-04-07 19:29:561620 EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
1621 EXPECT_FALSE(IsTapDraggingEnabledOnDetailMenu());
[email protected]57999022013-06-07 12:52:031622 CloseDetailMenu();
1623}
1624
1625IN_PROC_BROWSER_TEST_P(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
mincha0b24ab2017-03-31 22:16:011626 // Except help & settings, others should be kept the same
1627 // in LOGIN | NOT LOGIN | LOCKED. https://crbug.com/632107.
skye79274a2016-06-08 05:39:021628 SetLoginStatus(ash::LoginStatus::NOT_LOGGED_IN);
[email protected]57999022013-06-07 12:52:031629 EXPECT_TRUE(CreateDetailedMenu());
1630 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1631 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1632 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011633 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071634 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581635 EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
1636 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011637 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1638 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1639 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1640 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1641 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
minchd9d542482017-04-07 19:29:561642 EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
1643 EXPECT_TRUE(IsTapDraggingMenuShownOnDetailMenu());
[email protected]57999022013-06-07 12:52:031644 CloseDetailMenu();
1645
jamescook85312ee5e2017-04-18 22:47:201646 // Simulate login.
xiyuan8c6a4112017-06-19 21:03:491647 CreateAndStartUserSession(AccountId::FromUserEmail("[email protected]"));
jamescook85312ee5e2017-04-18 22:47:201648 // Flush to ensure the session state reaches ash and updates login status.
1649 SessionControllerClient::FlushForTesting();
[email protected]57999022013-06-07 12:52:031650 EXPECT_TRUE(CreateDetailedMenu());
1651 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1652 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1653 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131654 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071655 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581656 EXPECT_TRUE(IsHelpAvailableOnDetailMenu());
1657 EXPECT_TRUE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011658 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1659 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1660 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1661 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1662 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
minchd9d542482017-04-07 19:29:561663 EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
1664 EXPECT_TRUE(IsTapDraggingMenuShownOnDetailMenu());
[email protected]57999022013-06-07 12:52:031665 CloseDetailMenu();
1666
jamescook85312ee5e2017-04-18 22:47:201667 // Simulate screen lock.
1668 session_manager::SessionManager::Get()->SetSessionState(
1669 session_manager::SessionState::LOCKED);
1670 // Flush to ensure the session state reaches ash and updates login status.
1671 SessionControllerClient::FlushForTesting();
[email protected]57999022013-06-07 12:52:031672 EXPECT_TRUE(CreateDetailedMenu());
1673 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1674 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1675 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
[email protected]7cfa31a2013-10-23 20:08:131676 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
[email protected]abdd0d72014-02-05 17:18:071677 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581678 EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
1679 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011680 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1681 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1682 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1683 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1684 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
minchd9d542482017-04-07 19:29:561685 EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
1686 EXPECT_TRUE(IsTapDraggingMenuShownOnDetailMenu());
[email protected]7570bba2014-08-08 08:04:471687 CloseDetailMenu();
1688
jamescook85312ee5e2017-04-18 22:47:201689 // Simulate adding multiprofile user.
xiyuanf1ff14d2017-03-20 20:28:141690 session_manager::SessionManager::Get()->SetSessionState(
1691 session_manager::SessionState::LOGIN_SECONDARY);
xiyuan233f4e72017-04-06 06:59:561692 // Flush to ensure the session state reaches ash and updates login status.
1693 SessionControllerClient::FlushForTesting();
[email protected]7570bba2014-08-08 08:04:471694 EXPECT_TRUE(CreateDetailedMenu());
1695 EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
1696 EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
1697 EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
[email protected]7570bba2014-08-08 08:04:471698 EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
1699 EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
tdanderson581149422016-10-25 21:37:581700 EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
1701 EXPECT_FALSE(IsSettingsAvailableOnDetailMenu());
mincha0b24ab2017-03-31 22:16:011702 EXPECT_TRUE(IsLargeCursorMenuShownOnDetailMenu());
1703 EXPECT_TRUE(IsMonoAudioMenuShownOnDetailMenu());
1704 EXPECT_TRUE(IsCaretHighlightMenuShownOnDetailMenu());
1705 EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
1706 EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
minchd9d542482017-04-07 19:29:561707 EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
1708 EXPECT_TRUE(IsTapDraggingMenuShownOnDetailMenu());
[email protected]806d94e2012-12-16 20:31:261709 CloseDetailMenu();
1710}
1711
[email protected]5ace0c232013-05-29 00:48:411712INSTANTIATE_TEST_CASE_P(TrayAccessibilityTestInstance,
1713 TrayAccessibilityTest,
1714 testing::Values(PREF_SERVICE,
1715 POLICY));
1716
[email protected]cce1bad62013-01-04 02:26:381717} // namespace chromeos