| Index: chrome/browser/ui/omnibox/omnibox_view_browsertest.cc
|
| ===================================================================
|
| --- chrome/browser/ui/omnibox/omnibox_view_browsertest.cc (revision 117356)
|
| +++ 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 = ASCIIToUTF16(kSearchKeyword);
|
|
|
| - // 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_));
|
|
|
| - // 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_));
|
| }
|
|
|
| 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,
|
|
|