Chromium Code Reviews| Index: chrome/browser/ui/omnibox/omnibox_view_browsertest.cc |
| =================================================================== |
| --- chrome/browser/ui/omnibox/omnibox_view_browsertest.cc (revision 116848) |
| +++ chrome/browser/ui/omnibox/omnibox_view_browsertest.cc (working copy) |
| @@ -791,7 +791,8 @@ |
| ASSERT_EQ(text, omnibox_view->model()->keyword()); |
| ASSERT_EQ(ASCIIToUTF16("a "), omnibox_view->GetText()); |
| - // Keyword shouldn't be accepted by pasting "foo bar". |
| + // Keyword shouldn't be accepted by pasting "foo bar," but the Omnibox |
| + // should still show a keyword hint. |
| omnibox_view->SetUserText(string16()); |
| ASSERT_FALSE(omnibox_view->model()->is_keyword_hint()); |
| ASSERT_TRUE(omnibox_view->model()->keyword().empty()); |
| @@ -801,16 +802,16 @@ |
| omnibox_view->SetWindowTextAndCaretPos(text + ASCIIToUTF16(" bar"), |
| text.length() + 4); |
| omnibox_view->OnAfterPossibleChange(); |
| - ASSERT_FALSE(omnibox_view->model()->is_keyword_hint()); |
| - ASSERT_TRUE(omnibox_view->model()->keyword().empty()); |
| + ASSERT_TRUE(omnibox_view->model()->is_keyword_hint()); |
| + ASSERT_EQ(text, omnibox_view->model()->keyword()); |
| ASSERT_EQ(text + ASCIIToUTF16(" bar"), omnibox_view->GetText()); |
| // Keyword shouldn't be accepted for case like: "foo b|ar" -> "foo b |ar". |
| ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, 0)); |
| ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_LEFT, 0)); |
| ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_SPACE, 0)); |
| - ASSERT_FALSE(omnibox_view->model()->is_keyword_hint()); |
| - ASSERT_TRUE(omnibox_view->model()->keyword().empty()); |
| + ASSERT_TRUE(omnibox_view->model()->is_keyword_hint()); |
| + ASSERT_EQ(text, omnibox_view->model()->keyword()); |
| ASSERT_EQ(text + ASCIIToUTF16(" b ar"), omnibox_view->GetText()); |
| // Keyword could be accepted by pressing space with a selected range at the |
| @@ -1013,59 +1014,48 @@ |
| ASSERT_TRUE(omnibox_view->IsSelectAll()); |
| } |
| - void TabMoveCursorToEndTest() { |
| + void TabAcceptKeyword() { |
| OmniboxView* omnibox_view = NULL; |
| ASSERT_NO_FATAL_FAILURE(GetOmniboxView(&omnibox_view)); |
| - omnibox_view->SetUserText(ASCIIToUTF16("Hello world")); |
| + string16 text = UTF8ToUTF16(kSearchKeyword); |
|
Peter Kasting
2012/01/11 03:00:16
Nit: Could be ASCIIToUTF16()
|
| - // Move cursor to the beginning. |
| -#if defined(OS_MACOSX) |
| - // Home doesn't work on Mac trybot. |
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_A, ui::EF_CONTROL_DOWN)); |
| -#else |
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_HOME, 0)); |
| -#endif |
| + // Trigger keyword hint mode. |
| + ASSERT_NO_FATAL_FAILURE(SendKeySequence(kSearchKeywordKeys)); |
| + ASSERT_TRUE(omnibox_view->model()->is_keyword_hint()); |
| + ASSERT_EQ(text, omnibox_view->model()->keyword()); |
| + ASSERT_EQ(text, omnibox_view->GetText()); |
| - size_t start, end; |
| - omnibox_view->GetSelectionBounds(&start, &end); |
| - EXPECT_EQ(0U, start); |
| - EXPECT_EQ(0U, end); |
| - |
| - // Pressing tab should move cursor to the end. |
| + // Trigger keyword mode by tab. |
| ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0)); |
| + ASSERT_FALSE(omnibox_view->model()->is_keyword_hint()); |
| + ASSERT_EQ(text, omnibox_view->model()->keyword()); |
| + ASSERT_TRUE(omnibox_view->GetText().empty()); |
| - omnibox_view->GetSelectionBounds(&start, &end); |
| - EXPECT_EQ(omnibox_view->GetText().size(), start); |
| - EXPECT_EQ(omnibox_view->GetText().size(), end); |
| + // Revert to keyword hint mode. |
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_BACK, 0)); |
| + ASSERT_TRUE(omnibox_view->model()->is_keyword_hint()); |
| + ASSERT_EQ(text, omnibox_view->model()->keyword()); |
| + ASSERT_EQ(text, omnibox_view->GetText()); |
| // The location bar should still have focus. |
| ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(), |
| - location_bar_focus_view_id_)); |
| + location_bar_focus_view_id_)); |
|
Peter Kasting
2012/01/11 03:00:16
Nit: Old indent was fine (2 places)
|
| - // Select all text. |
| - omnibox_view->SelectAll(true); |
| - EXPECT_TRUE(omnibox_view->IsSelectAll()); |
| - omnibox_view->GetSelectionBounds(&start, &end); |
| - EXPECT_EQ(0U, start); |
| - EXPECT_EQ(omnibox_view->GetText().size(), end); |
| - |
| - // Pressing tab should move cursor to the end. |
| + // Trigger keyword mode by tab. |
| ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0)); |
| + ASSERT_FALSE(omnibox_view->model()->is_keyword_hint()); |
| + ASSERT_EQ(text, omnibox_view->model()->keyword()); |
| + ASSERT_TRUE(omnibox_view->GetText().empty()); |
| - omnibox_view->GetSelectionBounds(&start, &end); |
| - EXPECT_EQ(omnibox_view->GetText().size(), start); |
| - EXPECT_EQ(omnibox_view->GetText().size(), end); |
| + // Revert to keyword hint mode with SHIFT+TAB. |
| + ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, ui::EF_SHIFT_DOWN)); |
| + ASSERT_TRUE(omnibox_view->model()->is_keyword_hint()); |
| + ASSERT_EQ(text, omnibox_view->model()->keyword()); |
| + ASSERT_EQ(text, omnibox_view->GetText()); |
| - // The location bar should still have focus. |
| ASSERT_TRUE(ui_test_utils::IsViewFocused(browser(), |
| - location_bar_focus_view_id_)); |
| - |
| - // Pressing tab when cursor is at the end should change focus. |
| - ASSERT_NO_FATAL_FAILURE(SendKey(ui::VKEY_TAB, 0)); |
| - |
| - ASSERT_FALSE(ui_test_utils::IsViewFocused(browser(), |
| - location_bar_focus_view_id_)); |
| + location_bar_focus_view_id_)); |
| } |
| void PersistKeywordModeOnTabSwitch() { |
| @@ -1191,8 +1181,8 @@ |
| DeleteItemTest(); |
| } |
| -IN_PROC_BROWSER_TEST_F(OmniboxViewTest, TabMoveCursorToEnd) { |
| - TabMoveCursorToEndTest(); |
| +IN_PROC_BROWSER_TEST_F(OmniboxViewTest, TabAcceptKeyword) { |
| + TabAcceptKeyword(); |
| } |
| IN_PROC_BROWSER_TEST_F(OmniboxViewTest, |