Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(282)

Unified Diff: chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc

Issue 490443002: Add test for ChromeVox keyboard commands. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | ui/aura/test/ui_controls_factory_aurax11.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc
diff --git a/chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc b/chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc
index 56108d61276fd99d5d1131adaa82ca438a874c6d..029a98b17dcb5545d6c2391886d24e314da98be9 100644
--- a/chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc
+++ b/chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc
@@ -67,6 +67,22 @@ class LoggedInSpokenFeedbackTest : public InProcessBrowserTest {
root_window, key, false, false, false, false));
}
+ void SendKeyPressWithControl(ui::KeyboardCode key) {
sky 2014/08/19 16:27:13 You need to wrap calls to these in ASSERT_NO_FATAL
dmazzoni 2014/08/19 16:53:55 Done.
+ gfx::NativeWindow root_window =
+ ash::Shell::GetInstance()->GetPrimaryRootWindow();
sky 2014/08/19 16:27:13 Why is this sending to ash?
dmazzoni 2014/08/19 16:53:55 These are very high-level integration tests that a
sky 2014/08/19 19:47:55 If you're saying the window doesn't matter, then s
+ ASSERT_TRUE(
+ ui_test_utils::SendKeyPressToWindowSync(
+ root_window, key, true, false, false, false));
+ }
+
+ void SendKeyPressWithSearchAndShift(ui::KeyboardCode key) {
+ gfx::NativeWindow root_window =
+ ash::Shell::GetInstance()->GetPrimaryRootWindow();
+ ASSERT_TRUE(
+ ui_test_utils::SendKeyPressToWindowSync(
+ root_window, key, false, true, false, true));
+ }
+
void SimulateTouchScreenInChromeVox() {
// ChromeVox looks at whether 'ontouchstart' exists to know whether
// or not it should respond to hover events. Fake it so that touch
@@ -224,6 +240,56 @@ IN_PROC_BROWSER_TEST_P(SpokenFeedbackTest, TypeInOmnibox) {
EXPECT_EQ("z", monitor.GetNextUtterance());
}
+IN_PROC_BROWSER_TEST_P(SpokenFeedbackTest, ChromeVoxShiftSearch) {
+ EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
+
+ SpeechMonitor monitor;
+ AccessibilityManager::Get()->EnableSpokenFeedback(
+ true, ash::A11Y_NOTIFICATION_NONE);
+ EXPECT_TRUE(monitor.SkipChromeVoxEnabledMessage());
+
+ ui_test_utils::NavigateToURL(
+ browser(),
+ GURL("data:text/html;charset=utf-8,<button autofocus>Click me</button>"));
+ while (true) {
+ std::string utterance = monitor.GetNextUtterance();
+ if (utterance == "Click me")
+ break;
+ }
+ EXPECT_EQ("Button", monitor.GetNextUtterance());
+
+ // Press Search+Shift+/ to enter ChromeVox's "find in page".
+ SendKeyPressWithSearchAndShift(ui::VKEY_OEM_2);
+ EXPECT_EQ("Find in page.", monitor.GetNextUtterance());
+ EXPECT_EQ("Enter a search query.", monitor.GetNextUtterance());
+}
+
+IN_PROC_BROWSER_TEST_P(SpokenFeedbackTest, ChromeVoxPrefixKey) {
+ EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
+
+ SpeechMonitor monitor;
+ AccessibilityManager::Get()->EnableSpokenFeedback(
+ true, ash::A11Y_NOTIFICATION_NONE);
+ EXPECT_TRUE(monitor.SkipChromeVoxEnabledMessage());
+
+ ui_test_utils::NavigateToURL(
+ browser(),
+ GURL("data:text/html;charset=utf-8,<button autofocus>Click me</button>"));
+ while (true) {
+ std::string utterance = monitor.GetNextUtterance();
+ if (utterance == "Click me")
+ break;
+ }
+ EXPECT_EQ("Button", monitor.GetNextUtterance());
+
+ // Press the prefix key Ctrl+';' followed by '/'
+ // to enter ChromeVox's "find in page".
+ SendKeyPressWithControl(ui::VKEY_OEM_1);
+ SendKeyPress(ui::VKEY_OEM_2);
+ EXPECT_EQ("Find in page.", monitor.GetNextUtterance());
+ EXPECT_EQ("Enter a search query.", monitor.GetNextUtterance());
+}
+
IN_PROC_BROWSER_TEST_P(SpokenFeedbackTest, TouchExploreStatusTray) {
EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
« no previous file with comments | « no previous file | ui/aura/test/ui_controls_factory_aurax11.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698