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

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

Issue 342773002: Spoken Feedback Browsertest: AddBookmark test and some structural changes (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 | no next file » | 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 4c37b244c2cc4f46b13a5022630b21e11767f247..f3d2f348540f2fde4a6344551ced702d94f3b2c3 100644
--- a/chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc
+++ b/chrome/browser/chromeos/accessibility/spoken_feedback_browsertest.cc
@@ -23,6 +23,7 @@
#include "chrome/browser/ui/browser_window.h"
#include "chrome/common/chrome_switches.h"
#include "chrome/test/base/in_process_browser_test.h"
+#include "chrome/test/base/interactive_test_utils.h"
#include "chrome/test/base/testing_profile.h"
#include "chrome/test/base/ui_test_utils.h"
#include "chromeos/chromeos_switches.h"
@@ -37,7 +38,80 @@ using extensions::api::braille_display_private::StubBrailleController;
namespace chromeos {
//
-// Spoken feedback tests in a normal browser window.
+// Spoken feedback tests only in a logged in user's window.
+//
+
+class LoggedInSpokenFeedbackTest : public InProcessBrowserTest {
+ protected:
+ LoggedInSpokenFeedbackTest() {}
+ virtual ~LoggedInSpokenFeedbackTest() {}
+
+ virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
+ AccessibilityManager::SetBrailleControllerForTest(&braille_controller_);
+ }
+
+ virtual void CleanUpOnMainThread() OVERRIDE {
+ AccessibilityManager::SetBrailleControllerForTest(NULL);
+ }
+
+ void SendKeyPress(ui::KeyboardCode key) {
+ gfx::NativeWindow root_window =
+ ash::Shell::GetInstance()->GetPrimaryRootWindow();
+ ASSERT_TRUE(
+ ui_test_utils::SendKeyPressToWindowSync(
+ root_window, key, false, false, false, false));
+ }
+
+ private:
+ StubBrailleController braille_controller_;
+ DISALLOW_COPY_AND_ASSIGN(LoggedInSpokenFeedbackTest);
+};
+
+IN_PROC_BROWSER_TEST_F(LoggedInSpokenFeedbackTest, AddBookmark) {
+ EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
+
+ SpeechMonitor monitor;
+ AccessibilityManager::Get()->EnableSpokenFeedback(
+ true, ash::A11Y_NOTIFICATION_NONE);
+ EXPECT_TRUE(monitor.SkipChromeVoxEnabledMessage());
+
+ chrome::ExecuteCommand(browser(), IDC_SHOW_BOOKMARK_BAR);
+
+ // Create a bookmark with title "foo".
+ chrome::ExecuteCommand(browser(), IDC_BOOKMARK_PAGE);
+ EXPECT_EQ("Bookmark added!,", monitor.GetNextUtterance());
+ EXPECT_EQ("about blank,", monitor.GetNextUtterance());
+ EXPECT_EQ("Bookmark name,", monitor.GetNextUtterance());
+ EXPECT_EQ("text box", monitor.GetNextUtterance());
+
+ SendKeyPress(ui::VKEY_F);
+ EXPECT_EQ("f", monitor.GetNextUtterance());
+ SendKeyPress(ui::VKEY_O);
+ EXPECT_EQ("o", monitor.GetNextUtterance());
+ SendKeyPress(ui::VKEY_O);
+ EXPECT_EQ("o", monitor.GetNextUtterance());
+
+ SendKeyPress(ui::VKEY_TAB);
+ EXPECT_EQ("Bookmarks bar,", monitor.GetNextUtterance());
+ EXPECT_EQ("Bookmark folder,", monitor.GetNextUtterance());
+ EXPECT_TRUE(MatchPattern(monitor.GetNextUtterance(), "combo box*"));
+
+ SendKeyPress(ui::VKEY_RETURN);
+
+ // Focus bookmarks bar and listen for "foo".
+ chrome::ExecuteCommand(browser(), IDC_FOCUS_BOOKMARKS);
+ while (true) {
+ std::string utterance = monitor.GetNextUtterance();
+ VLOG(0) << "Got utterance: " << utterance;
+ if (utterance == "Bookmarks,")
+ break;
+ }
+ EXPECT_EQ("foo,", monitor.GetNextUtterance());
+ EXPECT_EQ("button", monitor.GetNextUtterance());
+}
+
+//
+// Spoken feedback tests in both a logged in browser window and guest mode.
//
enum SpokenFeedbackTestVariant {
@@ -46,20 +120,12 @@ enum SpokenFeedbackTestVariant {
};
class SpokenFeedbackTest
- : public InProcessBrowserTest,
+ : public LoggedInSpokenFeedbackTest,
public ::testing::WithParamInterface<SpokenFeedbackTestVariant> {
protected:
SpokenFeedbackTest() {}
virtual ~SpokenFeedbackTest() {}
- virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
- AccessibilityManager::SetBrailleControllerForTest(&braille_controller_);
- }
-
- virtual void CleanUpOnMainThread() OVERRIDE {
- AccessibilityManager::SetBrailleControllerForTest(NULL);
- }
-
virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE {
if (GetParam() == kTestAsGuestUser) {
command_line->AppendSwitch(chromeos::switches::kGuestSession);
@@ -70,10 +136,6 @@ class SpokenFeedbackTest
chromeos::UserManager::kGuestUserName);
}
}
-
- private:
- StubBrailleController braille_controller_;
- DISALLOW_COPY_AND_ASSIGN(SpokenFeedbackTest);
};
INSTANTIATE_TEST_CASE_P(
@@ -106,8 +168,7 @@ IN_PROC_BROWSER_TEST_P(SpokenFeedbackTest, FocusToolbar) {
EXPECT_EQ("button", monitor.GetNextUtterance());
}
-// Disabled for flakiness: http://crbug.com/359204
-IN_PROC_BROWSER_TEST_P(SpokenFeedbackTest, DISABLED_TypeInOmnibox) {
+IN_PROC_BROWSER_TEST_P(SpokenFeedbackTest, TypeInOmnibox) {
EXPECT_FALSE(AccessibilityManager::Get()->IsSpokenFeedbackEnabled());
SpeechMonitor monitor;
@@ -115,32 +176,33 @@ IN_PROC_BROWSER_TEST_P(SpokenFeedbackTest, DISABLED_TypeInOmnibox) {
true, ash::A11Y_NOTIFICATION_NONE);
EXPECT_TRUE(monitor.SkipChromeVoxEnabledMessage());
+ // Wait for ChromeVox to finish speaking.
chrome::ExecuteCommand(browser(), IDC_FOCUS_LOCATION);
-
- gfx::NativeWindow window = ash::Shell::GetInstance()->GetPrimaryRootWindow();
- ui_controls::SendKeyPress(window, ui::VKEY_X, false, false, false, false);
while (true) {
std::string utterance = monitor.GetNextUtterance();
VLOG(0) << "Got utterance: " << utterance;
- if (utterance == "x")
+ if (utterance == "text box")
break;
}
- ui_controls::SendKeyPress(window, ui::VKEY_Y, false, false, false, false);
+ SendKeyPress(ui::VKEY_X);
+ EXPECT_EQ("x", monitor.GetNextUtterance());
+
+ SendKeyPress(ui::VKEY_Y);
EXPECT_EQ("y", monitor.GetNextUtterance());
- ui_controls::SendKeyPress(window, ui::VKEY_Z, false, false, false, false);
+ SendKeyPress(ui::VKEY_Z);
EXPECT_EQ("z", monitor.GetNextUtterance());
- ui_controls::SendKeyPress(window, ui::VKEY_BACK, false, false, false, false);
+ SendKeyPress(ui::VKEY_BACK);
EXPECT_EQ("z", monitor.GetNextUtterance());
}
//
-// Spoken feedback tests that run in guest mode.
+// Spoken feedback tests that run only in guest mode.
//
-class GuestSpokenFeedbackTest : public SpokenFeedbackTest {
+class GuestSpokenFeedbackTest : public LoggedInSpokenFeedbackTest {
protected:
GuestSpokenFeedbackTest() {}
virtual ~GuestSpokenFeedbackTest() {}
@@ -214,7 +276,9 @@ IN_PROC_BROWSER_TEST_F(OobeSpokenFeedbackTest, DISABLED_SpokenFeedbackInOobe) {
EXPECT_EQ("Select your language:", monitor.GetNextUtterance());
EXPECT_EQ("English ( United States)", monitor.GetNextUtterance());
EXPECT_TRUE(MatchPattern(monitor.GetNextUtterance(), "Combo box * of *"));
- ui_controls::SendKeyPress(window, ui::VKEY_TAB, false, false, false, false);
+ ASSERT_TRUE(
+ ui_test_utils::SendKeyPressToWindowSync(
+ window, ui::VKEY_TAB, false, false, false, false));
EXPECT_EQ("Select your keyboard:", monitor.GetNextUtterance());
}
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698