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

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: " 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
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 539760afad409a4528fba85c62ea25ef39356bab..525d8247680037defc40d5c4a00aba3897f2631b 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;
@@ -300,427 +304,475 @@ 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) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
+ // Actual Test methods
+ void BrowserAcceleratorsTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- browser()->FocusLocationBar();
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ browser()->FocusLocationBar();
+ 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())));
-#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
+ // 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
+ }
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, MAYBE_PopupAccelerators) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
-
- // 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));
+ void PopupAcceleratorsTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- // 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());
+ // 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)));
+ // 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, BackspaceInKeywordMode) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
+ void BackspaceInKeywordModeTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- ASSERT_NO_FATAL_FAILURE(SetupComponents());
- browser()->FocusLocationBar();
+ ASSERT_NO_FATAL_FAILURE(SetupComponents());
+ browser()->FocusLocationBar();
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&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()));
+
+ // 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()));
- // 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()));
+ // 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()));
- // 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()));
+ // 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()));
- // 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()));
+ // Input something as search text.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
- // 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()));
+ // 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()));
+ }
- // Input something as search text.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
+ // Input something as search text.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
- // Should stay in keyword mode while deleting search text by pressing
- // backspace.
- for (size_t i = 0; i < arraysize(kSearchText) - 1; ++i) {
+ // 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(kSearchKeyword, WideToUTF8(edit_view->model()->keyword()));
+ ASSERT_EQ(std::string(), WideToUTF8(edit_view->model()->keyword()));
+ ASSERT_EQ(std::string(kSearchKeyword) + kSearchText,
+ WideToUTF8(edit_view->GetText()));
}
- // Input something as search text.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
+ void EscapeTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- // 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()));
-}
+ ASSERT_NO_FATAL_FAILURE(SetupComponents());
+ ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIHistoryURL));
+ browser()->FocusLocationBar();
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, Escape) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- ASSERT_NO_FATAL_FAILURE(SetupComponents());
- ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUIHistoryURL));
- browser()->FocusLocationBar();
+ std::wstring old_text = edit_view->GetText();
+ EXPECT_FALSE(old_text.empty());
+ EXPECT_TRUE(edit_view->IsSelectAll());
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ // Delete all text in omnibox.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
+ EXPECT_TRUE(edit_view->GetText().empty());
- std::wstring old_text = edit_view->GetText();
- EXPECT_FALSE(old_text.empty());
- EXPECT_TRUE(edit_view->IsSelectAll());
+ // 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());
+ }
- // Delete all text in omnibox.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, false, false, false));
- EXPECT_TRUE(edit_view->GetText().empty());
+ void DesiredTLDTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- // 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());
-}
+ ASSERT_NO_FATAL_FAILURE(SetupComponents());
+ browser()->FocusLocationBar();
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, DesiredTLD) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
+ 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());
+ }
- ASSERT_NO_FATAL_FAILURE(SetupComponents());
- browser()->FocusLocationBar();
+ void AltEnterTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
- ASSERT_TRUE(popup_model);
+ ASSERT_NO_FATAL_FAILURE(SetupComponents());
+ browser()->FocusLocationBar();
- // 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));
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- GURL url = browser()->GetSelectedTabContents()->GetURL();
- EXPECT_STREQ(kDesiredTLDHostname, url.host().c_str());
-}
+ 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));
+ }
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, AltEnter) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
+ void EnterToSearchTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- ASSERT_NO_FATAL_FAILURE(SetupComponents());
- browser()->FocusLocationBar();
+ ASSERT_NO_FATAL_FAILURE(SetupHostResolver());
+ ASSERT_NO_FATAL_FAILURE(SetupSearchEngine());
+ browser()->FocusLocationBar();
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
+ ASSERT_TRUE(popup_model);
+
+ // Test Enter to search.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
+ ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
+ ASSERT_TRUE(popup_model->IsOpen());
+
+ // 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));
+ GURL url = browser()->GetSelectedTabContents()->GetURL();
+ EXPECT_STREQ(kSearchTextURL, url.spec().c_str());
+
+ // 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());
+ }
- 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));
-}
+ void EnterToOpenHistoryPageTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, EnterToSearch) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
+ ASSERT_NO_FATAL_FAILURE(SetupComponents());
+ browser()->FocusLocationBar();
- ASSERT_NO_FATAL_FAILURE(SetupHostResolver());
- ASSERT_NO_FATAL_FAILURE(SetupSearchEngine());
- browser()->FocusLocationBar();
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
+ ASSERT_TRUE(popup_model);
+
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
+ ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
+ ASSERT_TRUE(popup_model->IsOpen());
+ EXPECT_EQ(0U, popup_model->selected_line());
+
+ // Move to the history page item.
+ size_t size = popup_model->result().size();
+ while (true) {
+ if (popup_model->result().match_at(popup_model->selected_line()).type ==
+ AutocompleteMatch::OPEN_HISTORY_PAGE)
+ break;
+ size_t old_selected_line = popup_model->selected_line();
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DOWN, false, false, false));
+ ASSERT_EQ(old_selected_line + 1, popup_model->selected_line());
+ if (popup_model->selected_line() == size - 1)
+ break;
+ }
- 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 the history page item is selected.
+ ASSERT_EQ(
+ AutocompleteMatch::OPEN_HISTORY_PAGE,
+ popup_model->result().match_at(popup_model->selected_line()).type);
- // Test Enter to search.
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
- ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
- ASSERT_TRUE(popup_model->IsOpen());
+ // Open the history page item.
+ ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false));
+ GURL url = browser()->GetSelectedTabContents()->GetURL();
+ EXPECT_STREQ(kHistoryPageURL, url.spec().c_str());
+ }
- // Check if the default match result is Search Primary Provider.
- ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED,
- popup_model->result().default_match()->type);
+ void EscapeToDefaultMatchTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- // 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());
+ ASSERT_NO_FATAL_FAILURE(SetupComponents());
+ browser()->FocusLocationBar();
- // 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()));
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+ AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
+ ASSERT_TRUE(popup_model);
- // Check if the default match result is Search Primary Provider.
- ASSERT_EQ(AutocompleteMatch::SEARCH_WHAT_YOU_TYPED,
- popup_model->result().default_match()->type);
+ // Input something to trigger inline autocomplete.
+ ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
+ ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
+ ASSERT_TRUE(popup_model->IsOpen());
- // 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());
-}
+ std::wstring old_text = edit_view->GetText();
-// See http://crbug.com/20934: Omnibox keyboard behavior wrong for
-// "See recent pages in history"
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, EnterToOpenHistoryPage) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
+ // Make sure inline autocomplete is triggerred.
+ EXPECT_GT(old_text.length(), arraysize(kSearchText) - 1);
- ASSERT_NO_FATAL_FAILURE(SetupComponents());
- browser()->FocusLocationBar();
+ size_t old_selected_line = popup_model->selected_line();
+ EXPECT_EQ(0U, old_selected_line);
+
+ // 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;
+ }
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- AutocompletePopupModel* popup_model = edit_view->model()->popup_model();
- ASSERT_TRUE(popup_model);
+ EXPECT_NE(old_text, edit_view->GetText());
- ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchTextKeys));
- ASSERT_NO_FATAL_FAILURE(WaitForAutocompleteControllerDone());
- ASSERT_TRUE(popup_model->IsOpen());
- EXPECT_EQ(0U, popup_model->selected_line());
-
- // Move to the history page item.
- size_t size = popup_model->result().size();
- while (true) {
- if (popup_model->result().match_at(popup_model->selected_line()).type ==
- AutocompleteMatch::OPEN_HISTORY_PAGE)
- break;
- size_t old_selected_line = popup_model->selected_line();
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_DOWN, false, false, false));
- ASSERT_EQ(old_selected_line + 1, popup_model->selected_line());
- if (popup_model->selected_line() == size - 1)
- break;
+ // 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());
}
- // Make sure the history page item is selected.
- ASSERT_EQ(AutocompleteMatch::OPEN_HISTORY_PAGE,
- popup_model->result().match_at(popup_model->selected_line()).type);
+ void BasicTextOperationsTest() {
+ ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
- // Open the history page item.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_RETURN, false, false, false));
- GURL url = browser()->GetSelectedTabContents()->GetURL();
- EXPECT_STREQ(kHistoryPageURL, url.spec().c_str());
-}
-
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, EscapeToDefaultMatch) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
+ ASSERT_NO_FATAL_FAILURE(SetupComponents());
+ ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL));
+ browser()->FocusLocationBar();
- ASSERT_NO_FATAL_FAILURE(SetupComponents());
- browser()->FocusLocationBar();
+ AutocompleteEditView* edit_view = NULL;
+ ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
- 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(kSearchTextKeys));
- 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(kSearchText) - 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());
-
- // 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());
+// 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();
}
-IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, BasicTextOperations) {
- ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
-
- ASSERT_NO_FATAL_FAILURE(SetupComponents());
- ui_test_utils::NavigateToURL(browser(), GURL(chrome::kAboutBlankURL));
- browser()->FocusLocationBar();
-
- AutocompleteEditView* edit_view = NULL;
- ASSERT_NO_FATAL_FAILURE(GetAutocompleteEditView(&edit_view));
+// 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
- std::wstring old_text = edit_view->GetText();
- EXPECT_EQ(UTF8ToWide(chrome::kAboutBlankURL), old_text);
- EXPECT_TRUE(edit_view->IsSelectAll());
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, MAYBE_PopupAccelerators) {
+ PopupAcceleratorsTest();
+}
- std::wstring::size_type start, end;
- edit_view->GetSelectionBounds(&start, &end);
- EXPECT_EQ(0U, start);
- EXPECT_EQ(old_text.size(), end);
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, BackspaceInKeywordMode) {
+ BackspaceInKeywordModeTest();
+}
- // Move the cursor to the end.
- ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_END, false, false, false));
- EXPECT_FALSE(edit_view->IsSelectAll());
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, Escape) {
+ EscapeTest();
+}
- // Make sure the cursor is placed correctly.
- edit_view->GetSelectionBounds(&start, &end);
- EXPECT_EQ(old_text.size(), start);
- EXPECT_EQ(old_text.size(), end);
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, DesiredTLD) {
+ DesiredTLDTest();
+}
- // 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, AltEnter) {
+ AltEnterTest();
+}
- // 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, EnterToSearch) {
+ EnterToSearchTest();
+}
- edit_view->SelectAll(true);
- EXPECT_TRUE(edit_view->IsSelectAll());
- edit_view->GetSelectionBounds(&start, &end);
- EXPECT_EQ(0U, start);
- EXPECT_EQ(old_text.size(), end);
+// See http://crbug.com/20934: Omnibox keyboard behavior wrong for
+// "See recent pages in history"
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, EnterToOpenHistoryPage) {
+ EnterToOpenHistoryPageTest();
+}
- // 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, EscapeToDefaultMatch) {
+ EscapeToDefaultMatchTest();
+}
- // 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, BasicTextOperations) {
+ BasicTextOperationsTest();
}
#if defined(OS_LINUX)
+// TODO(oshima): enable these tests for views-implmentation when
+// these featuers are supported.
+
IN_PROC_BROWSER_TEST_F(AutocompleteEditViewTest, UndoRedoLinux) {
ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
@@ -857,3 +909,54 @@ 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, EnterToOpenHistoryPage) {
+ EnterToOpenHistoryPageTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, EscapeToDefaultMatch) {
+ EscapeToDefaultMatchTest();
+}
+
+IN_PROC_BROWSER_TEST_F(AutocompleteEditViewViewsTest, BasicTextOperations) {
+ BasicTextOperationsTest();
+}
+
+#endif

Powered by Google App Engine
This is Rietveld 408576698