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

Unified Diff: chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc

Issue 6245003: Views-implementation of AutocompleteEditView (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: merge Created 9 years, 11 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 | chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc
diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc b/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc
index 247ef03f16be9525de744134f7ddb3e2d4dc1445..5ecd0471c36aaa1bd34742877afff3aaa706fdf4 100644
--- a/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc
+++ b/chrome/browser/autocomplete/autocomplete_edit_view_browsertest.cc
@@ -38,6 +38,10 @@
#include <gtk/gtk.h>
#endif
+#if defined(TOOLKIT_VIEWS)
+#include "views/controls/textfield/native_textfield_views.h"
+#endif
+
using base::Time;
using base::TimeDelta;
@@ -140,7 +144,12 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
ASSERT_NO_FATAL_FAILURE(SetupComponents());
browser()->FocusLocationBar();
- ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_LOCATION_BAR));
+#if defined(TOOLKIT_VIEWS)
+ if (views::NativeTextfieldViews::IsTextfieldViewsEnabled())
+ return;
+#endif
+ ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(),
+ VIEW_ID_LOCATION_BAR));
}
static void GetAutocompleteEditViewForBrowser(
@@ -268,8 +277,8 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
ui_test_utils::RunMessageLoop();
}
- // Add enough history pages containing |kSearchText| to trigger open history
- // page url in autocomplete result.
+ // Add enough history pages containing |kSearchText| to trigger
+ // open history page url in autocomplete result.
for (size_t i = 0; i < arraysize(kHistoryEntries); i++) {
const TestHistoryEntry& cur = kHistoryEntries[i];
GURL url(cur.url);
@@ -314,449 +323,499 @@ class AutocompleteEditViewTest : public InProcessBrowserTest,
}
MessageLoopForUI::current()->Quit();
}
-};
-// Test if ctrl-* accelerators are workable in omnibox.
-// See http://crbug.com/19193: omnibox blocks ctrl-* commands
-//
-// Flaky on interactive tests (dbg), http://crbug.com/69433
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, FLAKY_BrowserAccelerators) {
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ void BrowserAcceleratorsTest() {
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- int tab_count = browser()->tab_count();
+ int tab_count = browser()->tab_count();
- // Create a new Tab.
- browser()->NewTab();
- ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1));
+ // Create a new Tab.
+ browser()->NewTab();
+ ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1));
- // Select the first Tab.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_1, true, false, false));
- ASSERT_EQ(0, browser()->selected_index());
+ // Select the first Tab.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_1, true, false, false));
+ ASSERT_EQ(0, browser()->selected_index());
- browser()->FocusLocationBar();
+ browser()->FocusLocationBar();
- // Select the second Tab.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_2, true, false, false));
- ASSERT_EQ(1, browser()->selected_index());
+ // Select the second Tab.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_2, true, false, false));
+ ASSERT_EQ(1, browser()->selected_index());
- browser()->FocusLocationBar();
+ browser()->FocusLocationBar();
- // Try ctrl-w to close a Tab.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_W, true, false, false));
- ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count));
+ // Try ctrl-w to close a Tab.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_W, true, false, false));
+ ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count));
- // Try ctrl-l to focus location bar.
- edit_view->SetUserText(L"Hello world");
- EXPECT_FALSE(edit_view->IsSelectAll());
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_L, true, false, false));
- EXPECT_TRUE(edit_view->IsSelectAll());
+ // Try ctrl-l to focus location bar.
+ edit_view->SetUserText(L"Hello world");
+ EXPECT_FALSE(edit_view->IsSelectAll());
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_L, true, false, false));
+ EXPECT_TRUE(edit_view->IsSelectAll());
- // Try editing the location bar text.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RIGHT, false, false, false));
- EXPECT_FALSE(edit_view->IsSelectAll());
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_S, false, false, false));
- EXPECT_EQ(L"Hello worlds", edit_view->GetText());
+ // Try editing the location bar text.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RIGHT, false, false, false));
+ EXPECT_FALSE(edit_view->IsSelectAll());
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_S, false, false, false));
+ EXPECT_EQ(L"Hello worlds", edit_view->GetText());
- // Try ctrl-x to cut text.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, true, true, false));
- EXPECT_FALSE(edit_view->IsSelectAll());
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_X, true, false, false));
- EXPECT_EQ(L"Hello ", edit_view->GetText());
+ // Try ctrl-x to cut text.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, true, true, false));
+ EXPECT_FALSE(edit_view->IsSelectAll());
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_X, true, false, false));
+ EXPECT_EQ(L"Hello ", edit_view->GetText());
#if !defined(OS_CHROMEOS)
- // Try alt-f4 to close the browser.
- ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
- browser(), ui::VKEY_F4, false, false, true, false,
- NotificationType::BROWSER_CLOSED, Source<Browser>(browser())));
+ // Try alt-f4 to close the browser.
+ ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
+ browser(), ui::VKEY_F4, false, false, true, false,
+ NotificationType::BROWSER_CLOSED, Source<Browser>(browser())));
#endif
-}
+ }
-// Flakily fails and times out on Win only. http://crbug.com/69941
-#if defined(OS_WIN)
-#define MAYBE_PopupAccelerators DISABLED_PopupAccelerators
-#else
-#define MAYBE_PopupAccelerators PopupAccelerators
+ void PopupAcceleratorsTest() {
+ // Create a popup.
+ Browser* popup = CreateBrowserForPopup(browser()->profile());
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(
+ GetAutocompleteEditViewForBrowser(popup, &edit_view));
+ popup->FocusLocationBar();
+ EXPECT_TRUE(edit_view->IsSelectAll());
+
+ // Try ctrl-w to close the popup.
+ ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
+ popup, ui::VKEY_W, true, false, false, false,
+ NotificationType::BROWSER_CLOSED, Source<Browser>(popup)));
+
+ // Create another popup.
+ popup = CreateBrowserForPopup(browser()->profile());
+ ASSERT_NO_FATAL_FAILURE(
+ GetAutocompleteEditViewForBrowser(popup, &edit_view));
+
+ // Set the edit text to "Hello world".
+ edit_view->SetUserText(L"Hello world");
+ EXPECT_FALSE(edit_view->IsSelectAll());
+ popup->FocusLocationBar();
+ EXPECT_TRUE(edit_view->IsSelectAll());
+
+ // Try editing the location bar text -- should be disallowed.
+ ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_RIGHT, false,
+ false, false));
+ EXPECT_FALSE(edit_view->IsSelectAll());
+ ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_S, false, false,
+ false));
+ EXPECT_EQ(L"Hello world", edit_view->GetText());
+
+ // Try ctrl-x to cut text -- should be disallowed.
+ ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_LEFT, true, true,
+ false));
+ EXPECT_FALSE(edit_view->IsSelectAll());
+ ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_X, true, false,
+ false));
+ EXPECT_EQ(L"Hello world", edit_view->GetText());
+
+#if !defined(OS_CHROMEOS)
+ // Try alt-f4 to close the popup.
+ ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
+ popup, ui::VKEY_F4, false, false, true, false,
+ NotificationType::BROWSER_CLOSED, Source<Browser>(popup)));
#endif
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, MAYBE_PopupAccelerators) {
- // Create a popup.
- Browser* popup = CreateBrowserForPopup(browser()->profile());
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditViewForBrowser(popup, &edit_view));
- popup->FocusLocationBar();
- EXPECT_TRUE(edit_view->IsSelectAll());
+ }
- // Try ctrl-w to close the popup.
- ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
- popup, ui::VKEY_W, true, false, false, false,
- NotificationType::BROWSER_CLOSED, Source<Browser>(popup)));
+ void BackspaceInKeywordModeTest() {
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- // Create another popup.
- popup = CreateBrowserForPopup(browser()->profile());
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditViewForBrowser(popup, &edit_view));
+ // Trigger keyword hint mode.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys));
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
- // Set the edit text to "Hello world".
- edit_view->SetUserText(L"Hello world");
- EXPECT_FALSE(edit_view->IsSelectAll());
- popup->FocusLocationBar();
- EXPECT_TRUE(edit_view->IsSelectAll());
+ // Trigger keyword mode.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
+ ASSERT_FALSE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
- // Try editing the location bar text -- should be disallowed.
- ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_RIGHT, false,
- false, false));
- EXPECT_FALSE(edit_view->IsSelectAll());
- ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_S, false, false,
- false));
- EXPECT_EQ(L"Hello world", edit_view->GetText());
+ // Backspace without search text should bring back keyword hint mode.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
- // Try ctrl-x to cut text -- should be disallowed.
- ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_LEFT, true, true,
- false));
- EXPECT_FALSE(edit_view->IsSelectAll());
- ASSERT_NO_FATAL_FAILURE(SendKeyForBrowser(popup, ui::VKEY_X, true, false,
- false));
- EXPECT_EQ(L"Hello world", edit_view->GetText());
+ // Trigger keyword mode again.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
+ ASSERT_FALSE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
-#if !defined(OS_CHROMEOS)
- // Try alt-f4 to close the popup.
- ASSERT_TRUE(ui_test_utils::SendKeyPressAndWait(
- popup, ui::VKEY_F4, false, false, true, false,
- NotificationType::BROWSER_CLOSED, Source<Browser>(popup)));
-#endif
-}
+ // Input something as search text.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, BackspaceInKeywordMode) {
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ // Should stay in keyword mode while deleting search text by pressing
+ // backspace.
+ for (size_t i = 0; i < arraysize(kSearchText) - 1; ++i) {
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
+ ASSERT_FALSE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
+ }
- // Trigger keyword hint mode.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys));
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
+ // Input something as search text.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
- // Trigger keyword mode.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
- ASSERT_FALSE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
+ // Move cursor to the beginning of the search text.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, false, false));
+ // Backspace at the beginning of the search text shall turn off
+ // the keyword mode.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
+ ASSERT_FALSE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(std::string(), WideToUTF8(edit_view->model()->keyword()));
+ ASSERT_EQ(std::string(kSearchKeyword) + kSearchText,
+ WideToUTF8(edit_view->GetText()));
+ }
- // Backspace without search text should bring back keyword hint mode.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
+ void EscapeTest() {
+ ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIHistoryURL));
+ browser()->FocusLocationBar();
- // Trigger keyword mode again.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, false, false, false));
- ASSERT_FALSE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- // Input something as search text.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
+ std::wstring old_text = edit_view->GetText();
+ EXPECT_FALSE(old_text.empty());
+ EXPECT_TRUE(edit_view->IsSelectAll());
- // Should stay in keyword mode while deleting search text by pressing
- // backspace.
- for (size_t i = 0; i < arraysize(kSearchText) - 1; ++i) {
+ // Delete all text in omnibox.
ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
- ASSERT_FALSE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
- }
+ EXPECT_TRUE(edit_view->GetText().empty());
- // Input something as search text.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
+ // Escape shall revert the text in omnibox.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, false, false, false));
+ EXPECT_EQ(old_text, edit_view->GetText());
+ EXPECT_TRUE(edit_view->IsSelectAll());
+ }
- // Move cursor to the beginning of the search text.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, false, false, false));
- // Backspace at the beginning of the search text shall turn off
- // the keyword mode.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
- ASSERT_FALSE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(std::string(), WideToUTF8(edit_view->model()->keyword()));
- ASSERT_EQ(std::string(kSearchKeyword) + kSearchText,
- WideToUTF8(edit_view->GetText()));
-}
+ void DesiredTLDTest() {
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
+ ASSERT_TRUE(popup_model);
+
+ // Test ctrl-Enter.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kDesiredTLDKeys));
+ ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
+ ASSERT_TRUE(popup_model->IsOpen());
+ // ctrl-Enter triggers desired_tld feature, thus www.bar.com shall be opened.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, true, false, false));
+
+ GURL url = browser()->GetSelectedTabContents()->GetURL();
+ EXPECT_STREQ(kDesiredTLDHostname, url.host().c_str());
+ }
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, Escape) {
- ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIHistoryURL));
- browser()->FocusLocationBar();
+ void AltEnterTest() {
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ edit_view->SetUserText(ASCIIToWide(chrome::kChromeUIHistoryURL));
+ int tab_count = browser()->tab_count();
+ // alt-Enter opens a new tab.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, true));
+ ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1));
+ }
- std::wstring old_text = edit_view->GetText();
- EXPECT_FALSE(old_text.empty());
- EXPECT_TRUE(edit_view->IsSelectAll());
+ void EnterToSearchTest() {
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
+ ASSERT_TRUE(popup_model);
- // Delete all text in omnibox.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
- EXPECT_TRUE(edit_view->GetText().empty());
+ // Test Enter to search.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
+ ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
+ ASSERT_TRUE(popup_model->IsOpen());
- // Escape shall revert the text in omnibox.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, false, false, false));
- EXPECT_EQ(old_text, edit_view->GetText());
- EXPECT_TRUE(edit_view->IsSelectAll());
-}
+ // Check if the default match result is Search Primary Provider.
+ ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED,
+ popup_model->result().default_match()->type);
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, DesiredTLD) {
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
- ASSERT_TRUE(popup_model);
+ // Open the default match.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false));
+ GURL url = browser()->GetSelectedTabContents()->GetURL();
+ EXPECT_STREQ(kSearchTextURL, url.spec().c_str());
- // Test ctrl-Enter.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kDesiredTLDKeys));
- ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
- ASSERT_TRUE(popup_model->IsOpen());
- // ctrl-Enter triggers desired_tld feature, thus www.bar.com shall be opened.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, true, false, false));
+ // Test that entering a single character then Enter performs a search.
+ browser()->FocusLocationBar();
+ EXPECT_TRUE(edit_view->IsSelectAll());
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchSingleCharKeys));
+ ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
+ ASSERT_TRUE(popup_model->IsOpen());
+ EXPECT_EQ(kSearchSingleChar, WideToUTF8(edit_view->GetText()));
+
+ // Check if the default match result is Search Primary Provider.
+ ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED,
+ popup_model->result().default_match()->type);
+
+ // Open the default match.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false));
+ url = browser()->GetSelectedTabContents()->GetURL();
+ EXPECT_STREQ(kSearchSingleCharURL, url.spec().c_str());
+ }
- GURL url = browser()->GetSelectedTabContents()->GetURL();
- EXPECT_STREQ(kDesiredTLDHostname, url.host().c_str());
-}
+ void EscapeToDefaultMatchTest() {
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
+ ASSERT_TRUE(popup_model);
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, AltEnter) {
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ // Input something to trigger inline autocomplete.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kInlineAutocompleteTextKeys));
+ ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
+ ASSERT_TRUE(popup_model->IsOpen());
- edit_view->SetUserText(ASCIIToWide(chrome::kChromeUIHistoryURL));
- int tab_count = browser()->tab_count();
- // alt-Enter opens a new tab.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, true));
- ASSERT_NO_FATAL_FAILURE(WaitForTabOpenOrClose(tab_count + 1));
-}
+ std::wstring old_text = edit_view->GetText();
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, EnterToSearch) {
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
- ASSERT_TRUE(popup_model);
+ // Make sure inline autocomplete is triggerred.
+ EXPECT_GT(old_text.length(), arraysize(kInlineAutocompleteText) - 1);
- // Test Enter to search.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
- ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
- ASSERT_TRUE(popup_model->IsOpen());
+ size_t old_selected_line = popup_model->selected_line();
+ EXPECT_EQ(0U, old_selected_line);
- // Check if the default match result is Search Primary Provider.
- ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED,
- popup_model->result().default_match()->type);
+ // Move to another line with different text.
+ size_t size = popup_model->result().size();
+ while (popup_model->selected_line() < size - 1) {
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DOWN, false, false, false));
+ ASSERT_NE(old_selected_line, popup_model->selected_line());
+ if (old_text != edit_view->GetText())
+ break;
+ }
- // Open the default match.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false));
- GURL url = browser()->GetSelectedTabContents()->GetURL();
- EXPECT_STREQ(kSearchTextURL, url.spec().c_str());
+ EXPECT_NE(old_text, edit_view->GetText());
- // Test that entering a single character then Enter performs a search.
- browser()->FocusLocationBar();
- EXPECT_TRUE(edit_view->IsSelectAll());
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchSingleCharKeys));
- ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
- ASSERT_TRUE(popup_model->IsOpen());
- EXPECT_EQ(kSearchSingleChar, WideToUTF8(edit_view->GetText()));
+ // Escape shall revert back to the default match item.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, false, false, false));
+ EXPECT_EQ(old_text, edit_view->GetText());
+ EXPECT_EQ(old_selected_line, popup_model->selected_line());
+ }
- // Check if the default match result is Search Primary Provider.
- ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED,
- popup_model->result().default_match()->type);
+ void BasicTextOperationsTest() {
+ ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL));
+ browser()->FocusLocationBar();
- // Open the default match.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false));
- url = browser()->GetSelectedTabContents()->GetURL();
- EXPECT_STREQ(kSearchSingleCharURL, url.spec().c_str());
-}
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, EscapeToDefaultMatch) {
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
- ASSERT_TRUE(popup_model);
+ std::wstring old_text = edit_view->GetText();
+ EXPECT_EQ(UTF8ToWide(chrome::kAboutBlankURL), old_text);
+ EXPECT_TRUE(edit_view->IsSelectAll());
- // Input something to trigger inline autocomplete.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kInlineAutocompleteTextKeys));
- ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
- ASSERT_TRUE(popup_model->IsOpen());
+ std::wstring::size_type start, end;
+ edit_view->GetSelectionBounds(&start, &end);
+ EXPECT_EQ(0U, start);
+ EXPECT_EQ(old_text.size(), end);
- std::wstring old_text = edit_view->GetText();
+ // Move the cursor to the end.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false));
+ EXPECT_FALSE(edit_view->IsSelectAll());
- // Make sure inline autocomplete is triggerred.
- EXPECT_GT(old_text.length(), arraysize(kInlineAutocompleteText) - 1);
+ // Make sure the cursor is placed correctly.
+ edit_view->GetSelectionBounds(&start, &end);
+ EXPECT_EQ(old_text.size(), start);
+ EXPECT_EQ(old_text.size(), end);
- size_t old_selected_line = popup_model->selected_line();
- EXPECT_EQ(0U, old_selected_line);
+ // Insert one character at the end. Make sure we won't insert
+ // anything after the special ZWS mark used in gtk implementation.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, false, false, false));
+ EXPECT_EQ(old_text + L"a", edit_view->GetText());
- // Move to another line with different text.
- size_t size = popup_model->result().size();
- while (popup_model->selected_line() < size - 1) {
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DOWN, false, false, false));
- ASSERT_NE(old_selected_line, popup_model->selected_line());
- if (old_text != edit_view->GetText())
- break;
+ // Delete one character from the end. Make sure we won't delete the special
+ // ZWS mark used in gtk implementation.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
+ EXPECT_EQ(old_text, edit_view->GetText());
+
+ edit_view->SelectAll(true);
+ EXPECT_TRUE(edit_view->IsSelectAll());
+ edit_view->GetSelectionBounds(&start, &end);
+ EXPECT_EQ(0U, start);
+ EXPECT_EQ(old_text.size(), end);
+
+ // Delete the content
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DELETE, false, false, false));
+ EXPECT_TRUE(edit_view->IsSelectAll());
+ edit_view->GetSelectionBounds(&start, &end);
+ EXPECT_EQ(0U, start);
+ EXPECT_EQ(0U, end);
+ EXPECT_TRUE(edit_view->GetText().empty());
+
+ // Check if RevertAll() can set text and cursor correctly.
+ edit_view->RevertAll();
+ EXPECT_FALSE(edit_view->IsSelectAll());
+ EXPECT_EQ(old_text, edit_view->GetText());
+ edit_view->GetSelectionBounds(&start, &end);
+ EXPECT_EQ(old_text.size(), start);
+ EXPECT_EQ(old_text.size(), end);
}
- EXPECT_NE(old_text, edit_view->GetText());
+ void AcceptKeywordBySpaceTest() {
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- // Escape shall revert back to the default match item.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_ESCAPE, false, false, false));
- EXPECT_EQ(old_text, edit_view->GetText());
- EXPECT_EQ(old_selected_line, popup_model->selected_line());
-}
+ std::wstring text = UTF8ToWide(kSearchKeyword);
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, BasicTextOperations) {
- ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL));
- browser()->FocusLocationBar();
+ // Trigger keyword hint mode.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys));
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_EQ(text, edit_view->GetText());
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ // Trigger keyword mode by space.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
+ ASSERT_FALSE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_TRUE(edit_view->GetText().empty());
+
+ // Revert to keyword hint mode.
+ edit_view->model()->ClearKeyword(std::wstring());
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_EQ(text, edit_view->GetText());
+
+ // Keyword should also be accepted by typing an ideographic space.
+ edit_view->OnBeforePossibleChange();
+ edit_view->SetWindowTextAndCaretPos(text + L"\x3000", text.length() + 1);
+ edit_view->OnAfterPossibleChange();
+ ASSERT_FALSE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_TRUE(edit_view->GetText().empty());
+
+ // Revert to keyword hint mode.
+ edit_view->model()->ClearKeyword(std::wstring());
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_EQ(text, edit_view->GetText());
+
+ // Keyword shouldn't be accepted by pasting.
+ // Simulate pasting a whitespace to the end of content.
+ edit_view->OnBeforePossibleChange();
+ edit_view->model()->on_paste();
+ edit_view->SetWindowTextAndCaretPos(text + L" ", text.length() + 1);
+ edit_view->OnAfterPossibleChange();
+ // Should be still in keyword hint mode.
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_EQ(text + L" ", edit_view->GetText());
+
+ // Keyword shouldn't be accepted by pressing space with a trailing
+ // whitespace.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_EQ(text + L" ", edit_view->GetText());
+
+ // Keyword shouldn't be accepted by deleting the trailing space.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_EQ(text + L" ", edit_view->GetText());
+
+ // Keyword shouldn't be accepted by pressing space in the middle
+ // of content.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, false, false, false));
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_EQ(text + L" ", edit_view->GetText());
+
+ // Keyword shouldn't be accepted by pasting "foo bar".
+ edit_view->SetUserText(std::wstring());
+ ASSERT_FALSE(edit_view->model()->is_keyword_hint());
+ ASSERT_TRUE(edit_view->model()->keyword().empty());
- std::wstring old_text = edit_view->GetText();
- EXPECT_EQ(UTF8ToWide(chrome::kAboutBlankURL), old_text);
- EXPECT_TRUE(edit_view->IsSelectAll());
+ edit_view->OnBeforePossibleChange();
+ edit_view->model()->on_paste();
+ edit_view->SetWindowTextAndCaretPos(text + L" bar", text.length() + 4);
+ edit_view->OnAfterPossibleChange();
+ ASSERT_FALSE(edit_view->model()->is_keyword_hint());
+ ASSERT_TRUE(edit_view->model()->keyword().empty());
+ ASSERT_EQ(text + L" bar", edit_view->GetText());
+
+ // Keyword shouldn't be accepted by pressing space with a selected range.
+ edit_view->OnBeforePossibleChange();
+ edit_view->OnInlineAutocompleteTextMaybeChanged(
+ text + L" ", text.length());
+ edit_view->OnAfterPossibleChange();
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_EQ(text + L" ", edit_view->GetText());
+
+ std::wstring::size_type start, end;
+ edit_view->GetSelectionBounds(&start, &end);
+ ASSERT_NE(start, end);
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
+ ASSERT_TRUE(edit_view->model()->is_keyword_hint());
+ ASSERT_EQ(text, edit_view->model()->keyword());
+ ASSERT_EQ(text + L" ", edit_view->GetText());
+
+ edit_view->GetSelectionBounds(&start, &end);
+ ASSERT_EQ(start, end);
+ }
- std::wstring::size_type start, end;
- edit_view->GetSelectionBounds(&start, &end);
- EXPECT_EQ(0U, start);
- EXPECT_EQ(old_text.size(), end);
+};
- // Move the cursor to the end.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false));
- EXPECT_FALSE(edit_view->IsSelectAll());
+// Test if ctrl-* accelerators are workable in omnibox.
+// See http://crbug.com/19193: omnibox blocks ctrl-* commands
+//
+// Flaky on interactive tests (dbg), http://crbug.com/69433
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, FLAKY_BrowserAccelerators) {
+ BrowserAcceleratorsTest();
+}
- // Make sure the cursor is placed correctly.
- edit_view->GetSelectionBounds(&start, &end);
- EXPECT_EQ(old_text.size(), start);
- EXPECT_EQ(old_text.size(), end);
+// Flakily fails and times out on Win only. http://crbug.com/69941
+#if defined(OS_WIN)
+#define MAYBE_PopupAccelerators DISABLED_PopupAccelerators
+#else
+#define MAYBE_PopupAccelerators PopupAccelerators
+#endif
- // Insert one character at the end. Make sure we won't insert anything after
- // the special ZWS mark used in gtk implementation.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, false, false, false));
- EXPECT_EQ(old_text + L"a", edit_view->GetText());
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, MAYBE_PopupAccelerators) {
+ PopupAcceleratorsTest();
+}
- // Delete one character from the end. Make sure we won't delete the special
- // ZWS mark used in gtk implementation.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
- EXPECT_EQ(old_text, edit_view->GetText());
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, BackspaceInKeywordMode) {
+ BackspaceInKeywordModeTest();
+}
- edit_view->SelectAll(true);
- EXPECT_TRUE(edit_view->IsSelectAll());
- edit_view->GetSelectionBounds(&start, &end);
- EXPECT_EQ(0U, start);
- EXPECT_EQ(old_text.size(), end);
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, Escape) {
+ EscapeTest();
+}
- // Delete the content
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DELETE, false, false, false));
- EXPECT_TRUE(edit_view->IsSelectAll());
- edit_view->GetSelectionBounds(&start, &end);
- EXPECT_EQ(0U, start);
- EXPECT_EQ(0U, end);
- EXPECT_TRUE(edit_view->GetText().empty());
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, DesiredTLD) {
+ DesiredTLDTest();
+}
- // Check if RevertAll() can set text and cursor correctly.
- edit_view->RevertAll();
- EXPECT_FALSE(edit_view->IsSelectAll());
- EXPECT_EQ(old_text, edit_view->GetText());
- edit_view->GetSelectionBounds(&start, &end);
- EXPECT_EQ(old_text.size(), start);
- EXPECT_EQ(old_text.size(), end);
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, AltEnter) {
+ AltEnterTest();
}
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, AcceptKeywordBySpace) {
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, EnterToSearch) {
+ EnterToSearchTest();
+}
- std::wstring text = UTF8ToWide(kSearchKeyword);
-
- // Trigger keyword hint mode.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys));
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_EQ(text, edit_view->GetText());
-
- // Trigger keyword mode by space.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
- ASSERT_FALSE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_TRUE(edit_view->GetText().empty());
-
- // Revert to keyword hint mode.
- edit_view->model()->ClearKeyword(std::wstring());
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_EQ(text, edit_view->GetText());
-
- // Keyword should also be accepted by typing an ideographic space.
- edit_view->OnBeforePossibleChange();
- edit_view->SetWindowTextAndCaretPos(text + L"\x3000", text.length() + 1);
- edit_view->OnAfterPossibleChange();
- ASSERT_FALSE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_TRUE(edit_view->GetText().empty());
-
- // Revert to keyword hint mode.
- edit_view->model()->ClearKeyword(std::wstring());
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_EQ(text, edit_view->GetText());
-
- // Keyword shouldn't be accepted by pasting.
- // Simulate pasting a whitespace to the end of content.
- edit_view->OnBeforePossibleChange();
- edit_view->model()->on_paste();
- edit_view->SetWindowTextAndCaretPos(text + L" ", text.length() + 1);
- edit_view->OnAfterPossibleChange();
- // Should be still in keyword hint mode.
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_EQ(text + L" ", edit_view->GetText());
-
- // Keyword shouldn't be accepted by pressing space with a trailing whitespace.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_EQ(text + L" ", edit_view->GetText());
-
- // Keyword shouldn't be accepted by deleting the trailing space.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_EQ(text + L" ", edit_view->GetText());
-
- // Keyword shouldn't be accepted by pressing space in the middle of content.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, false, false, false));
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_EQ(text + L" ", edit_view->GetText());
-
- // Keyword shouldn't be accepted by pasting "foo bar".
- edit_view->SetUserText(std::wstring());
- ASSERT_FALSE(edit_view->model()->is_keyword_hint());
- ASSERT_TRUE(edit_view->model()->keyword().empty());
-
- edit_view->OnBeforePossibleChange();
- edit_view->model()->on_paste();
- edit_view->SetWindowTextAndCaretPos(text + L" bar", text.length() + 4);
- edit_view->OnAfterPossibleChange();
- ASSERT_FALSE(edit_view->model()->is_keyword_hint());
- ASSERT_TRUE(edit_view->model()->keyword().empty());
- ASSERT_EQ(text + L" bar", edit_view->GetText());
-
- // Keyword shouldn't be accepted by pressing space with a selected range.
- edit_view->OnBeforePossibleChange();
- edit_view->OnInlineAutocompleteTextMaybeChanged(text + L" ", text.length());
- edit_view->OnAfterPossibleChange();
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_EQ(text + L" ", edit_view->GetText());
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, EscapeToDefaultMatch) {
+ EscapeToDefaultMatchTest();
+}
- std::wstring::size_type start, end;
- edit_view->GetSelectionBounds(&start, &end);
- ASSERT_NE(start, end);
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, false, false, false));
- ASSERT_TRUE(edit_view->model()->is_keyword_hint());
- ASSERT_EQ(text, edit_view->model()->keyword());
- ASSERT_EQ(text + L" ", edit_view->GetText());
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, BasicTextOperations) {
+ BasicTextOperationsTest();
+}
- edit_view->GetSelectionBounds(&start, &end);
- ASSERT_EQ(start, end);
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, AcceptKeywordBySpace) {
+ AcceptKeywordBySpaceTest();
}
#if defined(OS_LINUX)
+// TODO(oshima): enable these tests for views-implmentation when
+// these featuers are supported.
+
IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, UndoRedoLinux) {
ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL));
browser()->FocusLocationBar();
@@ -879,3 +938,50 @@ IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, PasteReplacingAll) {
ASSERT_EQ(L"abc", edit_view->GetText());
}
#endif
+
+#if defined(TOOLKIT_VIEWS)
+class AutocompleteEditViewViewsTest : public AutocompleteEditViewTest {
+ public:
+ AutocompleteEditViewViewsTest() {
+ views::NativeTextfieldViews::SetEnableTextfieldViews(true);
+ }
+};
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest,
+ FLAKY_BrowserAccelerators) {
+ BrowserAcceleratorsTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, MAYBE_PopupAccelerators) {
+ PopupAcceleratorsTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, BackspaceInKeywordMode) {
+ BackspaceInKeywordModeTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, Escape) {
+ EscapeTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, DesiredTLD) {
+ DesiredTLDTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, AltEnter) {
+ AltEnterTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, EnterToSearch) {
+ EnterToSearchTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, EscapeToDefaultMatch) {
+ EscapeToDefaultMatchTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, BasicTextOperations) {
+ BasicTextOperationsTest();
+}
+
+#endif
« no previous file with comments | « no previous file | chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698