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 |