Commit b53d1f99 authored by Katie D's avatar Katie D Committed by Commit Bot

Clean-up: Improves test coverage of AccessibilityDetailedView.

Adds tests for docked magnifier, dictation, switch access, and some more
for select-to-speak.

Adds coverage for lines which change checked state of the
HoverHighlightViews, and also checks checked state as well as
the bool for tests. Total line coverage increase from 64% to 96%
in tray_accessibility.cc.

Some clean-up to reduce common lines in helper functions within
the test.

Bug: 1067399
Relnotes: N/A
Change-Id: I05ae85ac043c9fa71e0813a1f0948d990d82afbf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2135022
Commit-Queue: Katie Dektar <katie@chromium.org>
Reviewed-by: default avatarTetsui Ohkubo <tetsui@chromium.org>
Cr-Commit-Position: refs/heads/master@{#757068}
parent 91ac7d23
......@@ -69,6 +69,8 @@ namespace tray {
////////////////////////////////////////////////////////////////////////////////
// ash::tray::AccessibilityDetailedView
constexpr char AccessibilityDetailedView::kClassName[];
AccessibilityDetailedView::AccessibilityDetailedView(
DetailedViewDelegate* delegate)
: TrayDetailedView(delegate) {
......@@ -184,7 +186,7 @@ void AccessibilityDetailedView::OnAccessibilityStatusChanged() {
}
const char* AccessibilityDetailedView::GetClassName() const {
return "AccessibilityDetailedView";
return kClassName;
}
void AccessibilityDetailedView::AppendAccessibilityList() {
......
......@@ -37,6 +37,8 @@ namespace tray {
// Create the detailed view of accessibility tray.
class ASH_EXPORT AccessibilityDetailedView : public TrayDetailedView {
public:
static constexpr char kClassName[] = "AccessibilityDetailedView";
explicit AccessibilityDetailedView(DetailedViewDelegate* delegate);
~AccessibilityDetailedView() override {}
......
......@@ -3,8 +3,11 @@
// found in the LICENSE file.
#include "ash/system/accessibility/tray_accessibility.h"
#include <memory>
#include "ash/accessibility/accessibility_controller_impl.h"
#include "ash/accessibility/accessibility_observer.h"
#include "ash/magnifier/docked_magnifier_controller_impl.h"
#include "ash/public/cpp/ash_features.h"
#include "ash/public/cpp/ash_pref_names.h"
#include "ash/session/session_controller_impl.h"
......@@ -12,21 +15,43 @@
#include "ash/system/tray/detailed_view_delegate.h"
#include "ash/system/tray/hover_highlight_view.h"
#include "ash/test/ash_test_base.h"
#include "base/command_line.h"
#include "base/macros.h"
#include "components/prefs/pref_service.h"
#include "ui/accessibility/accessibility_switches.h"
#include "ui/accessibility/ax_enums.mojom-shared.h"
#include "ui/accessibility/ax_node_data.h"
namespace ash {
namespace {
void SetMagnifierEnabled(bool enabled) {
void SetScreenMagnifierEnabled(bool enabled) {
Shell::Get()->accessibility_delegate()->SetMagnifierEnabled(enabled);
}
void SetDockedMagnifierEnabled(bool enabled) {
Shell::Get()->accessibility_controller()->SetDockedMagnifierEnabledForTesting(
enabled);
}
void EnableSpokenFeedback(bool enabled) {
Shell::Get()->accessibility_controller()->SetSpokenFeedbackEnabled(
enabled, A11Y_NOTIFICATION_NONE);
}
void EnableSelectToSpeak(bool enabled) {
Shell::Get()->accessibility_controller()->SetSelectToSpeakEnabled(enabled);
}
void EnableDictation(bool enabled) {
if (enabled) {
Shell::Get()
->accessibility_controller()
->SetDictationAcceleratorDialogAccepted();
}
Shell::Get()->accessibility_controller()->SetDictationEnabled(enabled);
}
void EnableHighContrast(bool enabled) {
Shell::Get()->accessibility_controller()->SetHighContrastEnabled(enabled);
}
......@@ -63,13 +88,29 @@ void EnableStickyKeys(bool enabled) {
Shell::Get()->accessibility_controller()->SetStickyKeysEnabled(enabled);
}
void EnableSwitchAccess(bool enabled) {
Shell::Get()->accessibility_controller()->SetSwitchAccessEnabled(enabled);
}
} // namespace
class TrayAccessibilityTest : public AshTestBase {
class TrayAccessibilityTest : public AshTestBase, public AccessibilityObserver {
protected:
TrayAccessibilityTest() = default;
~TrayAccessibilityTest() override = default;
void SetUp() override {
AshTestBase::SetUp();
base::CommandLine::ForCurrentProcess()->AppendSwitch(
switches::kEnableExperimentalAccessibilitySwitchAccess);
Shell::Get()->accessibility_controller()->AddObserver(this);
}
void TearDown() override {
Shell::Get()->accessibility_controller()->RemoveObserver(this);
AshTestBase::TearDown();
}
void CreateDetailedMenu() {
delegate_ = std::make_unique<DetailedViewDelegate>(nullptr);
detailed_menu_ =
......@@ -81,66 +122,70 @@ class TrayAccessibilityTest : public AshTestBase {
delegate_.reset();
}
void ClickView(HoverHighlightView* view) {
detailed_menu_->OnViewClicked(view);
}
// These helpers may change prefs in ash, so they must spin the message loop
// to wait for chrome to observe the change.
void ClickSpokenFeedbackOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->spoken_feedback_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->spoken_feedback_view_);
}
void ClickHighContrastOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->high_contrast_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->high_contrast_view_);
}
void ClickScreenMagnifierOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->screen_magnifier_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->screen_magnifier_view_);
}
void ClickDockedMagnifierOnDetailMenu() {
ClickView(detailed_menu_->docked_magnifier_view_);
}
void ClickAutoclickOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->autoclick_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->autoclick_view_);
}
void ClickVirtualKeyboardOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->virtual_keyboard_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->virtual_keyboard_view_);
}
void ClickLargeMouseCursorOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->large_cursor_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->large_cursor_view_);
}
void ClickMonoAudioOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->mono_audio_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->mono_audio_view_);
}
void ClickCaretHighlightOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->caret_highlight_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->caret_highlight_view_);
}
void ClickHighlightMouseCursorOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->highlight_mouse_cursor_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->highlight_mouse_cursor_view_);
}
void ClickHighlightKeyboardFocusOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->highlight_keyboard_focus_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->highlight_keyboard_focus_view_);
}
void ClickStickyKeysOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->sticky_keys_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->sticky_keys_view_);
}
void ClickSwitchAccessOnDetailMenu() {
ClickView(detailed_menu_->switch_access_view_);
}
void ClickSelectToSpeakOnDetailMenu() {
HoverHighlightView* view = detailed_menu_->select_to_speak_view_;
detailed_menu_->OnViewClicked(view);
ClickView(detailed_menu_->select_to_speak_view_);
}
void ClickDictationOnDetailMenu() {
ClickView(detailed_menu_->dictation_view_);
}
bool IsSpokenFeedbackMenuShownOnDetailMenu() const {
......@@ -151,6 +196,10 @@ class TrayAccessibilityTest : public AshTestBase {
return detailed_menu_->select_to_speak_view_;
}
bool IsDictationShownOnDetailMenu() const {
return detailed_menu_->dictation_view_;
}
bool IsHighContrastMenuShownOnDetailMenu() const {
return detailed_menu_->high_contrast_view_;
}
......@@ -159,6 +208,10 @@ class TrayAccessibilityTest : public AshTestBase {
return detailed_menu_->screen_magnifier_view_;
}
bool IsDockedMagnifierShownOnDetailMenu() const {
return detailed_menu_->docked_magnifier_view_;
}
bool IsLargeCursorMenuShownOnDetailMenu() const {
return detailed_menu_->large_cursor_view_;
}
......@@ -191,6 +244,10 @@ class TrayAccessibilityTest : public AshTestBase {
return detailed_menu_->sticky_keys_view_;
}
bool IsSwitchAccessShownOnDetailMenu() const {
return detailed_menu_->switch_access_view_;
}
// In material design we show the help button but theme it as disabled if
// it is not possible to load the help page.
bool IsHelpAvailableOnDetailMenu() {
......@@ -204,55 +261,116 @@ class TrayAccessibilityTest : public AshTestBase {
views::Button::STATE_NORMAL;
}
// An item is enabled on the detailed menu if it is marked checked for
// accessibility and the detailed_menu_'s local state, |enabled_state|, is
// enabled. Check that the checked state and detailed_menu_'s local state are
// the same.
bool IsEnabledOnDetailMenu(bool enabled_state, views::View* view) const {
ui::AXNodeData node_data;
view->GetAccessibleNodeData(&node_data);
bool checked_for_accessibility =
node_data.GetCheckedState() == ax::mojom::CheckedState::kTrue;
DCHECK(enabled_state == checked_for_accessibility);
return enabled_state && checked_for_accessibility;
}
bool IsSpokenFeedbackEnabledOnDetailMenu() const {
return detailed_menu_->spoken_feedback_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->spoken_feedback_enabled_,
detailed_menu_->spoken_feedback_view_);
}
bool IsSelectToSpeakEnabledOnDetailMenu() const {
return detailed_menu_->select_to_speak_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->select_to_speak_enabled_,
detailed_menu_->select_to_speak_view_);
}
bool IsDictationEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->dictation_enabled_,
detailed_menu_->dictation_view_);
}
bool IsHighContrastEnabledOnDetailMenu() const {
return detailed_menu_->high_contrast_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->high_contrast_enabled_,
detailed_menu_->high_contrast_view_);
}
bool IsScreenMagnifierEnabledOnDetailMenu() const {
return detailed_menu_->screen_magnifier_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->screen_magnifier_enabled_,
detailed_menu_->screen_magnifier_view_);
}
bool IsDockedMagnifierEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->docked_magnifier_enabled_,
detailed_menu_->docked_magnifier_view_);
}
bool IsLargeCursorEnabledOnDetailMenu() const {
return detailed_menu_->large_cursor_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->large_cursor_enabled_,
detailed_menu_->large_cursor_view_);
}
bool IsAutoclickEnabledOnDetailMenu() const {
return detailed_menu_->autoclick_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->autoclick_enabled_,
detailed_menu_->autoclick_view_);
}
bool IsVirtualKeyboardEnabledOnDetailMenu() const {
return detailed_menu_->virtual_keyboard_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->virtual_keyboard_enabled_,
detailed_menu_->virtual_keyboard_view_);
}
bool IsMonoAudioEnabledOnDetailMenu() const {
return detailed_menu_->mono_audio_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->mono_audio_enabled_,
detailed_menu_->mono_audio_view_);
}
bool IsCaretHighlightEnabledOnDetailMenu() const {
return detailed_menu_->caret_highlight_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->caret_highlight_enabled_,
detailed_menu_->caret_highlight_view_);
}
bool IsHighlightMouseCursorEnabledOnDetailMenu() const {
return detailed_menu_->highlight_mouse_cursor_enabled_;
return IsEnabledOnDetailMenu(
detailed_menu_->highlight_mouse_cursor_enabled_,
detailed_menu_->highlight_mouse_cursor_view_);
}
bool IsHighlightKeyboardFocusEnabledOnDetailMenu() const {
return detailed_menu_->highlight_keyboard_focus_enabled_;
// The highlight_keyboard_focus_view_ is not created when Spoken Feedback
// is enabled.
if (IsSpokenFeedbackEnabledOnDetailMenu()) {
DCHECK(!detailed_menu_->highlight_keyboard_focus_view_);
return detailed_menu_->highlight_keyboard_focus_enabled_;
}
return IsEnabledOnDetailMenu(
detailed_menu_->highlight_keyboard_focus_enabled_,
detailed_menu_->highlight_keyboard_focus_view_);
}
bool IsStickyKeysEnabledOnDetailMenu() const {
return detailed_menu_->sticky_keys_enabled_;
return IsEnabledOnDetailMenu(detailed_menu_->sticky_keys_enabled_,
detailed_menu_->sticky_keys_view_);
}
bool IsSwitchAccessEnabledOnDetailMenu() const {
return IsEnabledOnDetailMenu(detailed_menu_->switch_access_enabled_,
detailed_menu_->switch_access_view_);
}
const char* GetDetailedViewClassName() {
return detailed_menu_->GetClassName();
}
private:
// AccessibilityObserver:
void OnAccessibilityStatusChanged() override {
// UnifiedAccessibilityDetailedViewController calls
// AccessibilityDetailedView::OnAccessibilityStatusChanged. Spoof that
// by calling it directly here.
if (detailed_menu_)
detailed_menu_->OnAccessibilityStatusChanged();
}
std::unique_ptr<DetailedViewDelegate> delegate_;
std::unique_ptr<tray::AccessibilityDetailedView> detailed_menu_;
......@@ -265,8 +383,10 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
CreateDetailedMenu();
EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
EXPECT_TRUE(IsSelectToSpeakShownOnDetailMenu());
EXPECT_TRUE(IsDictationShownOnDetailMenu());
EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierShownOnDetailMenu());
EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
EXPECT_TRUE(IsHelpAvailableOnDetailMenu());
......@@ -277,6 +397,7 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessShownOnDetailMenu());
CloseDetailMenu();
// Simulate screen lock.
......@@ -284,8 +405,10 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
CreateDetailedMenu();
EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
EXPECT_TRUE(IsSelectToSpeakShownOnDetailMenu());
EXPECT_TRUE(IsDictationShownOnDetailMenu());
EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierShownOnDetailMenu());
EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
......@@ -296,6 +419,7 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessShownOnDetailMenu());
CloseDetailMenu();
UnblockUserSession();
......@@ -304,8 +428,10 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
CreateDetailedMenu();
EXPECT_TRUE(IsSpokenFeedbackMenuShownOnDetailMenu());
EXPECT_TRUE(IsSelectToSpeakShownOnDetailMenu());
EXPECT_TRUE(IsDictationShownOnDetailMenu());
EXPECT_TRUE(IsHighContrastMenuShownOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierMenuShownOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierShownOnDetailMenu());
EXPECT_TRUE(IsAutoclickMenuShownOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardMenuShownOnDetailMenu());
EXPECT_FALSE(IsHelpAvailableOnDetailMenu());
......@@ -316,6 +442,7 @@ TEST_F(TrayAccessibilityTest, CheckMenuVisibilityOnDetailMenu) {
EXPECT_TRUE(IsHighlightMouseCursorMenuShownOnDetailMenu());
EXPECT_TRUE(IsHighlightKeyboardFocusMenuShownOnDetailMenu());
EXPECT_TRUE(IsStickyKeysMenuShownOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessShownOnDetailMenu());
CloseDetailMenu();
UnblockUserSession();
}
......@@ -346,9 +473,8 @@ TEST_F(TrayAccessibilityTest, ClickDetailMenu) {
EXPECT_FALSE(accessibility_controller->high_contrast_enabled());
// Confirms that the check item toggles the magnifier.
EXPECT_FALSE(accessibility_controller->high_contrast_enabled());
EXPECT_FALSE(Shell::Get()->accessibility_delegate()->IsMagnifierEnabled());
CreateDetailedMenu();
ClickScreenMagnifierOnDetailMenu();
EXPECT_TRUE(Shell::Get()->accessibility_delegate()->IsMagnifierEnabled());
......@@ -357,6 +483,17 @@ TEST_F(TrayAccessibilityTest, ClickDetailMenu) {
ClickScreenMagnifierOnDetailMenu();
EXPECT_FALSE(Shell::Get()->accessibility_delegate()->IsMagnifierEnabled());
// Confirms that the check item toggles the docked magnifier.
EXPECT_FALSE(Shell::Get()->docked_magnifier_controller()->GetEnabled());
CreateDetailedMenu();
ClickDockedMagnifierOnDetailMenu();
EXPECT_TRUE(Shell::Get()->docked_magnifier_controller()->GetEnabled());
CreateDetailedMenu();
ClickDockedMagnifierOnDetailMenu();
EXPECT_FALSE(Shell::Get()->docked_magnifier_controller()->GetEnabled());
// Confirms that the check item toggles autoclick.
EXPECT_FALSE(accessibility_controller->autoclick_enabled());
......@@ -445,6 +582,17 @@ TEST_F(TrayAccessibilityTest, ClickDetailMenu) {
ClickStickyKeysOnDetailMenu();
EXPECT_FALSE(accessibility_controller->sticky_keys_enabled());
// Confirms that the check item toggles switch access.
EXPECT_FALSE(accessibility_controller->switch_access_enabled());
CreateDetailedMenu();
ClickSwitchAccessOnDetailMenu();
EXPECT_TRUE(accessibility_controller->switch_access_enabled());
CreateDetailedMenu();
ClickSwitchAccessOnDetailMenu();
EXPECT_FALSE(accessibility_controller->switch_access_enabled());
// Confirms that the check item toggles select-to-speak.
EXPECT_FALSE(accessibility_controller->select_to_speak_enabled());
......@@ -455,6 +603,27 @@ TEST_F(TrayAccessibilityTest, ClickDetailMenu) {
CreateDetailedMenu();
ClickSelectToSpeakOnDetailMenu();
EXPECT_FALSE(accessibility_controller->select_to_speak_enabled());
// Confirms that the check item toggles dictation.
EXPECT_FALSE(accessibility_controller->dictation_enabled());
Shell::Get()
->accessibility_controller()
->SetDictationAcceleratorDialogAccepted();
CreateDetailedMenu();
ClickDictationOnDetailMenu();
EXPECT_TRUE(accessibility_controller->dictation_enabled());
CreateDetailedMenu();
ClickDictationOnDetailMenu();
EXPECT_FALSE(accessibility_controller->dictation_enabled());
}
// Trivial test to increase code coverage.
TEST_F(TrayAccessibilityTest, GetClassName) {
CreateDetailedMenu();
EXPECT_EQ(tray::AccessibilityDetailedView::kClassName,
GetDetailedViewClassName());
}
class TrayAccessibilityLoginScreenTest : public TrayAccessibilityTest {
......@@ -471,8 +640,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -481,6 +652,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling spoken feedback.
......@@ -488,8 +660,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -498,6 +672,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling spoken feedback.
......@@ -505,8 +680,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -515,6 +692,87 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling select to speak.
EnableSelectToSpeak(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_TRUE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling select to speak.
EnableSelectToSpeak(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling dictation.
EnableDictation(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_TRUE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling dictation.
EnableDictation(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling high contrast.
......@@ -522,8 +780,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -532,6 +792,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling high contrast.
......@@ -539,8 +800,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -549,15 +812,18 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling full screen magnifier.
SetMagnifierEnabled(true);
SetScreenMagnifierEnabled(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -566,15 +832,58 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling screen magnifier.
SetMagnifierEnabled(false);
SetScreenMagnifierEnabled(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling docked magnifier.
SetDockedMagnifierEnabled(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling docked magnifier.
SetDockedMagnifierEnabled(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -583,6 +892,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling large cursor.
......@@ -590,8 +900,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -600,6 +912,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling large cursor.
......@@ -607,8 +920,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -617,6 +932,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enable on-screen keyboard.
......@@ -624,8 +940,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -634,6 +952,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disable on-screen keyboard.
......@@ -641,8 +960,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -651,6 +972,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling mono audio.
......@@ -658,8 +980,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -668,6 +992,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling mono audio.
......@@ -675,8 +1000,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -685,6 +1012,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling caret highlight.
......@@ -692,8 +1020,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -702,6 +1032,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling caret highlight.
......@@ -709,8 +1040,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -719,6 +1052,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling highlight mouse cursor.
......@@ -726,8 +1060,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -736,6 +1072,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_TRUE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling highlight mouse cursor.
......@@ -743,8 +1080,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -753,6 +1092,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling highlight keyboard focus.
......@@ -760,8 +1100,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -770,6 +1112,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_TRUE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling highlight keyboard focus.
......@@ -777,8 +1120,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -787,6 +1132,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling sticky keys.
......@@ -794,8 +1140,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -804,6 +1152,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_TRUE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling sticky keys.
......@@ -811,8 +1160,50 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling switch access.
EnableSwitchAccess(true);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
EXPECT_FALSE(IsMonoAudioEnabledOnDetailMenu());
EXPECT_FALSE(IsCaretHighlightEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling switch access.
EnableSwitchAccess(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -821,12 +1212,16 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling all of the a11y features.
EnableSpokenFeedback(true);
EnableSelectToSpeak(true);
EnableDictation(true);
EnableHighContrast(true);
SetMagnifierEnabled(true);
SetScreenMagnifierEnabled(true);
SetDockedMagnifierEnabled(true);
EnableLargeCursor(true);
EnableVirtualKeyboard(true);
EnableAutoclick(true);
......@@ -835,10 +1230,14 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
SetCursorHighlightEnabled(true);
SetFocusHighlightEnabled(true);
EnableStickyKeys(true);
EnableSwitchAccess(true);
CreateDetailedMenu();
EXPECT_TRUE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_TRUE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_TRUE(IsDictationEnabledOnDetailMenu());
EXPECT_TRUE(IsHighContrastEnabledOnDetailMenu());
EXPECT_TRUE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_TRUE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_TRUE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
EXPECT_TRUE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -848,12 +1247,16 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
// Focus highlighting can't be on when spoken feedback is on
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_TRUE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_TRUE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling all of the a11y features.
EnableSpokenFeedback(false);
EnableSelectToSpeak(false);
EnableDictation(false);
EnableHighContrast(false);
SetMagnifierEnabled(false);
SetScreenMagnifierEnabled(false);
SetDockedMagnifierEnabled(false);
EnableLargeCursor(false);
EnableVirtualKeyboard(false);
EnableAutoclick(false);
......@@ -862,10 +1265,14 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
SetCursorHighlightEnabled(false);
SetFocusHighlightEnabled(false);
EnableStickyKeys(false);
EnableSwitchAccess(false);
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -874,6 +1281,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Enabling autoclick.
......@@ -881,8 +1289,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_TRUE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -891,6 +1301,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
// Disabling autoclick.
......@@ -898,8 +1309,10 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
CreateDetailedMenu();
EXPECT_FALSE(IsSpokenFeedbackEnabledOnDetailMenu());
EXPECT_FALSE(IsSelectToSpeakEnabledOnDetailMenu());
EXPECT_FALSE(IsDictationEnabledOnDetailMenu());
EXPECT_FALSE(IsHighContrastEnabledOnDetailMenu());
EXPECT_FALSE(IsScreenMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsDockedMagnifierEnabledOnDetailMenu());
EXPECT_FALSE(IsLargeCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsAutoclickEnabledOnDetailMenu());
EXPECT_FALSE(IsVirtualKeyboardEnabledOnDetailMenu());
......@@ -908,6 +1321,7 @@ TEST_F(TrayAccessibilityLoginScreenTest, CheckMarksOnDetailMenu) {
EXPECT_FALSE(IsHighlightMouseCursorEnabledOnDetailMenu());
EXPECT_FALSE(IsHighlightKeyboardFocusEnabledOnDetailMenu());
EXPECT_FALSE(IsStickyKeysEnabledOnDetailMenu());
EXPECT_FALSE(IsSwitchAccessEnabledOnDetailMenu());
CloseDetailMenu();
}
......
......@@ -7,6 +7,7 @@
#include <memory>
#include "ash/system/accessibility/tray_accessibility.h"
#include "ash/system/tray/actionable_view.h"
#include "ash/system/tray/tray_popup_item_style.h"
#include "base/bind.h"
......@@ -98,6 +99,8 @@ class HoverHighlightView : public ActionableView {
TriView* tri_view() { return tri_view_; }
private:
friend class TrayAccessibilityTest;
// Adds the image and label to the row with the label being styled using
// |font_style|.
void DoAddIconAndLabel(const gfx::ImageSkia& image,
......
......@@ -473,11 +473,13 @@ void TrayDetailedView::TransitionToMainView() {
}
void TrayDetailedView::CloseBubble() {
// Don't close again if we're already closing.
// widget may be null in tests, in this case we do not need to do anything.
views::Widget* widget = GetWidget();
if (widget && widget->IsClosed())
if (!widget)
return;
// Don't close again if we're already closing.
if (widget->IsClosed())
return;
delegate_->CloseBubble();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment