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

Unified Diff: chrome/browser/instant/instant_extended_browsertest.cc

Issue 11889003: Fixing ESC in instant-extended. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 7 years, 10 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 | « chrome/browser/instant/instant_controller.cc ('k') | chrome/browser/instant/instant_page.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/instant/instant_extended_browsertest.cc
diff --git a/chrome/browser/instant/instant_extended_browsertest.cc b/chrome/browser/instant/instant_extended_browsertest.cc
index 1462bb22edfe1b5fc3990c51336351077f38d5c8..803122a7f61512109e2f7d42ec0eb978108d13f0 100644
--- a/chrome/browser/instant/instant_extended_browsertest.cc
+++ b/chrome/browser/instant/instant_extended_browsertest.cc
@@ -54,6 +54,12 @@ class InstantExtendedTest : public InstantTestBase {
// Wait for JavaScript to run the key handler by executing a blank script.
EXPECT_TRUE(ExecuteScript(std::string()));
}
+
+ void SendEscape() {
+ omnibox()->model()->OnEscapeKeyPressed();
+ // Wait for JavaScript to run the key handler by executing a blank script.
+ EXPECT_TRUE(ExecuteScript(std::string()));
+ }
};
IN_PROC_BROWSER_TEST_F(InstantExtendedTest, ExtendedModeIsOn) {
@@ -196,6 +202,58 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedTest, NavigateSuggestionsWithArrowKeys) {
EXPECT_EQ("result 1", GetOmniboxText());
SendUpArrow();
EXPECT_EQ("hello", GetOmniboxText());
+
+ // Ensure that the API's value is set correctly.
+ std::string result;
+ EXPECT_TRUE(GetStringFromJS(instant()->GetPreviewContents(),
+ "window.chrome.searchBox.value",
+ &result));
+ EXPECT_EQ("hello", result);
+
+ EXPECT_TRUE(HasUserInputInProgress());
+ // TODO(beaudoin): Figure out why this fails.
+ // EXPECT_FALSE(HasTemporaryText());
+
+
+ // Commit the search by pressing Enter.
+ // TODO(sreeram): Enable this check once @mathp's CL lands:
+ // https://codereview.chromium.org/12179025/
+ // browser()->window()->GetLocationBar()->AcceptInput();
+ // EXPECT_EQ("hello", GetOmniboxText());
+}
+
+// This test simulates a search provider using the InstantExtended API to
+// navigate through the suggested results and hitting escape to get back to the
+// original user query.
+IN_PROC_BROWSER_TEST_F(InstantExtendedTest, NavigateSuggestionsAndHitEscape) {
+ ASSERT_NO_FATAL_FAILURE(SetupInstant());
+ FocusOmniboxAndWaitForInstantSupport();
+
+ SetOmniboxTextAndWaitForInstantToShow("hello");
+ EXPECT_EQ("hello", GetOmniboxText());
+
+ SendDownArrow();
+ EXPECT_EQ("result 1", GetOmniboxText());
+ SendDownArrow();
+ EXPECT_EQ("result 2", GetOmniboxText());
+ SendEscape();
+ EXPECT_EQ("hello", GetOmniboxText());
+
+ // Ensure that the API's value is set correctly.
+ std::string result;
+ EXPECT_TRUE(GetStringFromJS(instant()->GetPreviewContents(),
+ "window.chrome.searchBox.value",
+ &result));
+ EXPECT_EQ("hello", result);
+
+ EXPECT_TRUE(HasUserInputInProgress());
+ EXPECT_FALSE(HasTemporaryText());
+
+ // Commit the search by pressing Enter.
+ // TODO(sreeram): Enable this check once @mathp's CL lands:
+ // https://codereview.chromium.org/12179025/
+ // browser()->window()->GetLocationBar()->AcceptInput();
+ // EXPECT_EQ("hello", GetOmniboxText());
}
IN_PROC_BROWSER_TEST_F(InstantExtendedTest, NTPIsPreloaded) {
« no previous file with comments | « chrome/browser/instant/instant_controller.cc ('k') | chrome/browser/instant/instant_page.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698