Index: chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc |
diff --git a/chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc b/chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc |
index f790846bf186bf3418843220d99281006aa97640..4387ede475ba56bf6f6063022eec02ccb1a86cf7 100644 |
--- a/chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc |
+++ b/chrome/browser/chromeos/accessibility/accessibility_manager_browsertest.cc |
@@ -149,6 +149,14 @@ bool IsVirtualKeyboardEnabled() { |
return AccessibilityManager::Get()->IsVirtualKeyboardEnabled(); |
} |
+void SetMonoAudioEnabled(bool enabled) { |
+ return AccessibilityManager::Get()->EnableMonoAudio(enabled); |
+} |
+ |
+bool IsMonoAudioEnabled() { |
+ return AccessibilityManager::Get()->IsMonoAudioEnabled(); |
+} |
+ |
Profile* GetProfile() { |
Profile* profile = ProfileManager::GetActiveUserProfile(); |
DCHECK(profile); |
@@ -183,6 +191,10 @@ void SetVirtualKeyboardEnabledPref(bool enabled) { |
GetPrefs()->SetBoolean(prefs::kAccessibilityVirtualKeyboardEnabled, enabled); |
} |
+void SetMonoAudioEnabledPref(bool enabled) { |
+ GetPrefs()->SetBoolean(prefs::kAccessibilityMonoAudioEnabled, enabled); |
+} |
+ |
bool GetLargeCursorEnabledFromPref() { |
return GetPrefs()->GetBoolean(prefs::kAccessibilityLargeCursorEnabled); |
} |
@@ -203,6 +215,10 @@ int GetAutoclickDelayFromPref() { |
return GetPrefs()->GetInteger(prefs::kAccessibilityAutoclickDelayMs); |
} |
+bool GetMonoAudioEnabledFromPref() { |
+ return GetPrefs()->GetBoolean(prefs::kAccessibilityMonoAudioEnabled); |
+} |
+ |
bool IsBrailleImeActive() { |
InputMethodManager* imm = InputMethodManager::Get(); |
scoped_ptr<InputMethodDescriptors> descriptors = |
@@ -275,6 +291,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, Login) { |
EXPECT_FALSE(IsHighContrastEnabled()); |
EXPECT_FALSE(IsAutoclickEnabled()); |
EXPECT_FALSE(IsVirtualKeyboardEnabled()); |
+ EXPECT_FALSE(IsMonoAudioEnabled()); |
EXPECT_EQ(default_autoclick_delay(), GetAutoclickDelay()); |
// Logs in. |
@@ -287,6 +304,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, Login) { |
EXPECT_FALSE(IsHighContrastEnabled()); |
EXPECT_FALSE(IsAutoclickEnabled()); |
EXPECT_FALSE(IsVirtualKeyboardEnabled()); |
+ EXPECT_FALSE(IsMonoAudioEnabled()); |
EXPECT_EQ(default_autoclick_delay(), GetAutoclickDelay()); |
user_manager::UserManager::Get()->SessionStarted(); |
@@ -297,6 +315,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, Login) { |
EXPECT_FALSE(IsHighContrastEnabled()); |
EXPECT_FALSE(IsAutoclickEnabled()); |
EXPECT_FALSE(IsVirtualKeyboardEnabled()); |
+ EXPECT_FALSE(IsMonoAudioEnabled()); |
EXPECT_EQ(default_autoclick_delay(), GetAutoclickDelay()); |
// Enables large cursor. |
@@ -327,6 +346,11 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, Login) { |
SetVirtualKeyboardEnabled(true); |
// Confirm that the on-screen keyboard option is enabled. |
EXPECT_TRUE(IsVirtualKeyboardEnabled()); |
+ |
+ // Enable mono audio output |
+ SetMonoAudioEnabled(true); |
+ // Confirm that mono audio output option is enabled. |
+ EXPECT_TRUE(IsMonoAudioEnabled()); |
} |
IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, BrailleOnLoginScreen) { |
@@ -351,6 +375,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, TypePref) { |
EXPECT_FALSE(IsAutoclickEnabled()); |
EXPECT_EQ(default_autoclick_delay(), GetAutoclickDelay()); |
EXPECT_FALSE(IsVirtualKeyboardEnabled()); |
+ EXPECT_FALSE(IsMonoAudioEnabled()); |
// Sets the pref as true to enable the large cursor. |
SetLargeCursorEnabledPref(true); |
@@ -382,6 +407,11 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, TypePref) { |
// Confirm that the on-screen keyboard option is enabled. |
EXPECT_TRUE(IsVirtualKeyboardEnabled()); |
+ // Sets mono audio output pref. |
+ SetMonoAudioEnabledPref(true); |
+ // Confirm that mono audio output is enabled. |
+ EXPECT_TRUE(IsMonoAudioEnabled()); |
+ |
SetLargeCursorEnabledPref(false); |
EXPECT_FALSE(IsLargeCursorEnabled()); |
@@ -396,6 +426,9 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, TypePref) { |
SetVirtualKeyboardEnabledPref(false); |
EXPECT_FALSE(IsVirtualKeyboardEnabled()); |
+ |
+ SetMonoAudioEnabledPref(false); |
+ EXPECT_FALSE(IsMonoAudioEnabled()); |
} |
IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, ResumeSavedPref) { |
@@ -428,6 +461,10 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, ResumeSavedPref) { |
SetVirtualKeyboardEnabledPref(true); |
EXPECT_FALSE(IsVirtualKeyboardEnabled()); |
+ // Sets the pref to enable mono audio output before login. |
+ SetMonoAudioEnabledPref(true); |
+ EXPECT_FALSE(IsMonoAudioEnabled()); |
+ |
// Logs in. |
user_manager::UserManager::Get()->SessionStarted(); |
@@ -438,6 +475,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, ResumeSavedPref) { |
EXPECT_TRUE(IsAutoclickEnabled()); |
EXPECT_EQ(kTestAutoclickDelayMs, GetAutoclickDelay()); |
EXPECT_TRUE(IsVirtualKeyboardEnabled()); |
+ EXPECT_TRUE(IsMonoAudioEnabled()); |
} |
IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, |
@@ -498,6 +536,22 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, |
EXPECT_EQ(observer.observed_type(), |
ACCESSIBILITY_TOGGLE_VIRTUAL_KEYBOARD); |
EXPECT_FALSE(IsVirtualKeyboardEnabled()); |
+ |
+ observer.reset(); |
+ SetMonoAudioEnabled(true); |
+ EXPECT_TRUE(observer.observed()); |
+ EXPECT_TRUE(observer.observed_enabled()); |
+ EXPECT_EQ(observer.observed_type(), |
+ ACCESSIBILITY_TOGGLE_MONO_AUDIO); |
+ EXPECT_TRUE(IsMonoAudioEnabled()); |
+ |
+ observer.reset(); |
+ SetMonoAudioEnabled(false); |
+ EXPECT_TRUE(observer.observed()); |
+ EXPECT_FALSE(observer.observed_enabled()); |
+ EXPECT_EQ(observer.observed_type(), |
+ ACCESSIBILITY_TOGGLE_MONO_AUDIO); |
+ EXPECT_FALSE(IsMonoAudioEnabled()); |
} |
IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, |
@@ -558,6 +612,22 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, |
EXPECT_EQ(observer.observed_type(), |
ACCESSIBILITY_TOGGLE_VIRTUAL_KEYBOARD); |
EXPECT_FALSE(IsVirtualKeyboardEnabled()); |
+ |
+ observer.reset(); |
+ SetMonoAudioEnabledPref(true); |
+ EXPECT_TRUE(observer.observed()); |
+ EXPECT_TRUE(observer.observed_enabled()); |
+ EXPECT_EQ(observer.observed_type(), |
+ ACCESSIBILITY_TOGGLE_MONO_AUDIO); |
+ EXPECT_TRUE(IsMonoAudioEnabled()); |
+ |
+ observer.reset(); |
+ SetMonoAudioEnabledPref(false); |
+ EXPECT_TRUE(observer.observed()); |
+ EXPECT_FALSE(observer.observed_enabled()); |
+ EXPECT_EQ(observer.observed_type(), |
+ ACCESSIBILITY_TOGGLE_MONO_AUDIO); |
+ EXPECT_FALSE(IsMonoAudioEnabled()); |
} |
class AccessibilityManagerUserTypeTest |
@@ -595,6 +665,9 @@ IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest, |
// Set autoclick delay. |
SetAutoclickDelay(kTestAutoclickDelayMs); |
EXPECT_EQ(kTestAutoclickDelayMs, GetAutoclickDelay()); |
+ // Enables mono audio output. |
+ SetMonoAudioEnabled(true); |
+ EXPECT_TRUE(IsMonoAudioEnabled()); |
// Logs in. |
const AccountId account_id = AccountId::FromUserEmail(GetParam()); |
@@ -607,6 +680,7 @@ IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest, |
EXPECT_TRUE(IsHighContrastEnabled()); |
EXPECT_TRUE(IsAutoclickEnabled()); |
EXPECT_EQ(kTestAutoclickDelayMs, GetAutoclickDelay()); |
+ EXPECT_TRUE(IsMonoAudioEnabled()); |
user_manager::UserManager::Get()->SessionStarted(); |
@@ -616,6 +690,7 @@ IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest, |
EXPECT_TRUE(IsHighContrastEnabled()); |
EXPECT_TRUE(IsAutoclickEnabled()); |
EXPECT_EQ(kTestAutoclickDelayMs, GetAutoclickDelay()); |
+ EXPECT_TRUE(IsMonoAudioEnabled()); |
// Confirms that the prefs have been copied to the user's profile. |
EXPECT_TRUE(GetLargeCursorEnabledFromPref()); |
@@ -623,6 +698,7 @@ IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest, |
EXPECT_TRUE(GetHighContrastEnabledFromPref()); |
EXPECT_TRUE(GetAutoclickEnabledFromPref()); |
EXPECT_EQ(kTestAutoclickDelayMs, GetAutoclickDelayFromPref()); |
+ EXPECT_TRUE(GetMonoAudioEnabledFromPref()); |
} |
IN_PROC_BROWSER_TEST_P(AccessibilityManagerUserTypeTest, BrailleWhenLoggedIn) { |
@@ -685,6 +761,7 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, AccessibilityMenuVisibility) { |
EXPECT_FALSE(IsAutoclickEnabled()); |
EXPECT_FALSE(ShouldShowAccessibilityMenu()); |
EXPECT_FALSE(IsVirtualKeyboardEnabled()); |
+ EXPECT_FALSE(IsMonoAudioEnabled()); |
// Check large cursor. |
SetLargeCursorEnabled(true); |
@@ -715,6 +792,12 @@ IN_PROC_BROWSER_TEST_F(AccessibilityManagerTest, AccessibilityMenuVisibility) { |
EXPECT_TRUE(ShouldShowAccessibilityMenu()); |
SetVirtualKeyboardEnabled(false); |
EXPECT_FALSE(ShouldShowAccessibilityMenu()); |
+ |
+ // Check mono audio output. |
+ SetMonoAudioEnabled(true); |
+ EXPECT_TRUE(ShouldShowAccessibilityMenu()); |
+ SetMonoAudioEnabled(false); |
+ EXPECT_FALSE(ShouldShowAccessibilityMenu()); |
} |
} // namespace chromeos |