| Index: chrome/browser/instant/instant_extended_manual_browsertest.cc
|
| diff --git a/chrome/browser/instant/instant_extended_manual_browsertest.cc b/chrome/browser/instant/instant_extended_manual_browsertest.cc
|
| deleted file mode 100644
|
| index 9e9c4f8d39cc4478a560f5b0c4507d2c3df25b4a..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/instant/instant_extended_manual_browsertest.cc
|
| +++ /dev/null
|
| @@ -1,312 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "base/string_util.h"
|
| -#include "chrome/browser/instant/instant_overlay.h"
|
| -#include "chrome/browser/instant/instant_test_utils.h"
|
| -#include "chrome/browser/instant/search.h"
|
| -#include "chrome/browser/task_manager/task_manager.h"
|
| -#include "chrome/browser/task_manager/task_manager_browsertest_util.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/browser/ui/browser_commands.h"
|
| -#include "chrome/browser/ui/host_desktop.h"
|
| -#include "chrome/browser/ui/omnibox/omnibox_view.h"
|
| -#include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| -#include "chrome/common/chrome_notification_types.h"
|
| -#include "chrome/test/base/in_process_browser_test.h"
|
| -#include "chrome/test/base/interactive_test_utils.h"
|
| -#include "chrome/test/base/ui_test_utils.h"
|
| -#include "content/public/browser/navigation_controller.h"
|
| -#include "content/public/browser/navigation_entry.h"
|
| -#include "content/public/browser/notification_service.h"
|
| -#include "content/public/browser/render_process_host.h"
|
| -#include "content/public/browser/web_contents.h"
|
| -#include "content/public/test/browser_test_utils.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "net/base/mock_host_resolver.h"
|
| -
|
| -// Instant extended tests that need to be run manually because they need to
|
| -// talk to the external network. All tests in this file should be marked as
|
| -// "MANUAL_" unless they are disabled.
|
| -class InstantExtendedManualTest : public InProcessBrowserTest,
|
| - public InstantTestBase {
|
| - public:
|
| - InstantExtendedManualTest() {
|
| - host_resolver_proc_ = new net::RuleBasedHostResolverProc(NULL);
|
| - host_resolver_proc_->AllowDirectLookup("*");
|
| - scoped_host_resolver_proc_.reset(
|
| - new net::ScopedDefaultHostResolverProc(host_resolver_proc_.get()));
|
| - }
|
| -
|
| - virtual ~InstantExtendedManualTest() {
|
| - scoped_host_resolver_proc_.reset();
|
| - host_resolver_proc_ = NULL;
|
| - }
|
| -
|
| - virtual void SetUpOnMainThread() OVERRIDE {
|
| - const testing::TestInfo* const test_info =
|
| - testing::UnitTest::GetInstance()->current_test_info();
|
| - ASSERT_TRUE(StartsWithASCII(test_info->name(), "MANUAL_", true) ||
|
| - StartsWithASCII(test_info->name(), "DISABLED_", true));
|
| - }
|
| -
|
| - protected:
|
| - virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
|
| - chrome::search::EnableInstantExtendedAPIForTesting();
|
| - }
|
| -
|
| - content::WebContents* active_tab() {
|
| - return browser()->tab_strip_model()->GetActiveWebContents();
|
| - }
|
| -
|
| - bool PressBackspace() {
|
| - return ui_test_utils::SendKeyPressSync(browser(), ui::VKEY_BACK,
|
| - false, false, false, false);
|
| - }
|
| -
|
| - bool PressBackspaceAndWaitForSuggestions() {
|
| - content::WindowedNotificationObserver observer(
|
| - chrome::NOTIFICATION_INSTANT_SET_SUGGESTION,
|
| - content::NotificationService::AllSources());
|
| - bool result = PressBackspace();
|
| - observer.Wait();
|
| - return result;
|
| - }
|
| -
|
| - bool PressBackspaceAndWaitForOverlayToShow() {
|
| - InstantTestModelObserver observer(
|
| - instant()->model(), chrome::search::Mode::MODE_SEARCH_SUGGESTIONS);
|
| - bool result = PressBackspace();
|
| - observer.WaitForDesiredOverlayState();
|
| - return result;
|
| - }
|
| -
|
| - void PressEnterAndWaitForNavigation() {
|
| - content::WindowedNotificationObserver nav_observer(
|
| - content::NOTIFICATION_NAV_ENTRY_COMMITTED,
|
| - content::NotificationService::AllSources());
|
| - browser()->window()->GetLocationBar()->AcceptInput();
|
| - nav_observer.Wait();
|
| - }
|
| -
|
| - bool PressEnterAndWaitForNavigationWithTitle(content::WebContents* contents,
|
| - const string16& title) {
|
| - content::TitleWatcher title_watcher(contents, title);
|
| - content::WindowedNotificationObserver nav_observer(
|
| - content::NOTIFICATION_NAV_ENTRY_COMMITTED,
|
| - content::NotificationService::AllSources());
|
| - browser()->window()->GetLocationBar()->AcceptInput();
|
| - nav_observer.Wait();
|
| - return title_watcher.WaitAndGetTitle() == title;
|
| - }
|
| -
|
| - GURL GetActiveTabURL() {
|
| - return active_tab()->GetController().GetActiveEntry()->GetURL();
|
| - }
|
| -
|
| - string16 GetBlueText() {
|
| - size_t start = 0, end = 0;
|
| - omnibox()->GetSelectionBounds(&start, &end);
|
| - if (start > end)
|
| - std::swap(start, end);
|
| - return omnibox()->GetText().substr(start, end - start);
|
| - }
|
| -
|
| - bool GetSelectionState(bool* selected) {
|
| - return GetBoolFromJS(instant()->GetOverlayContents(),
|
| - "google.ac.gs().api.i()", selected);
|
| - }
|
| -
|
| - private:
|
| - scoped_refptr<net::RuleBasedHostResolverProc> host_resolver_proc_;
|
| - scoped_ptr<net::ScopedDefaultHostResolverProc> scoped_host_resolver_proc_;
|
| -};
|
| -
|
| -IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
|
| - MANUAL_OmniboxFocusLoadsInstant) {
|
| - set_browser(browser());
|
| -
|
| - // Explicitly unfocus the omnibox.
|
| - EXPECT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
|
| - ui_test_utils::ClickOnView(browser(), VIEW_ID_TAB_CONTAINER);
|
| -
|
| - EXPECT_TRUE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_TAB_CONTAINER));
|
| - EXPECT_FALSE(omnibox()->model()->has_focus());
|
| -
|
| - // Delete any existing overlay.
|
| - instant()->overlay_.reset();
|
| - EXPECT_FALSE(instant()->GetOverlayContents());
|
| -
|
| - // Refocus the omnibox. The InstantController should've preloaded Instant.
|
| - FocusOmniboxAndWaitForInstantExtendedSupport();
|
| -
|
| - EXPECT_FALSE(ui_test_utils::IsViewFocused(browser(), VIEW_ID_TAB_CONTAINER));
|
| - EXPECT_TRUE(omnibox()->model()->has_focus());
|
| -
|
| - content::WebContents* overlay_tab = instant()->GetOverlayContents();
|
| - EXPECT_TRUE(overlay_tab);
|
| -
|
| - // Check that the page supports Instant, but it isn't showing.
|
| - EXPECT_TRUE(instant()->overlay_->supports_instant());
|
| - EXPECT_FALSE(instant()->IsOverlayingSearchResults());
|
| - EXPECT_TRUE(instant()->model()->mode().is_default());
|
| -}
|
| -
|
| -IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
|
| - MANUAL_BackspaceFromQueryToSameQueryAndSearch) {
|
| - set_browser(browser());
|
| - FocusOmniboxAndWaitForInstantExtendedSupport();
|
| -
|
| - // Type "face" and expect Google to set gray text for "book" to suggest
|
| - // [facebook], the query.
|
| - SetOmniboxTextAndWaitForOverlayToShow("face");
|
| - EXPECT_EQ(ASCIIToUTF16("face"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16("book"), omnibox()->GetInstantSuggestion());
|
| -
|
| - // Backspace to the text "fac".
|
| - EXPECT_TRUE(PressBackspaceAndWaitForSuggestions());
|
| - EXPECT_EQ(ASCIIToUTF16("fac"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16("ebook"), omnibox()->GetInstantSuggestion());
|
| -
|
| - // Press Enter. The page should show search results for [fac].
|
| - EXPECT_TRUE(PressEnterAndWaitForNavigationWithTitle(
|
| - instant()->GetOverlayContents(),
|
| - ASCIIToUTF16("fac - Google Search")));
|
| -}
|
| -
|
| -IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
|
| - MANUAL_BackspaceFromQueryToOtherQueryAndSearch) {
|
| - set_browser(browser());
|
| - FocusOmniboxAndWaitForInstantExtendedSupport();
|
| -
|
| - // Type "fan" and expect Google to set gray text to "dango" to suggest
|
| - // [fandango], the query.
|
| - SetOmniboxTextAndWaitForOverlayToShow("fan");
|
| - EXPECT_EQ(ASCIIToUTF16("fan"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16("dango"), omnibox()->GetInstantSuggestion());
|
| -
|
| - // Backspace to the text "fa". Expect Google to set gray text for "cebook" to
|
| - // suggest [facebook], the query.
|
| - EXPECT_TRUE(PressBackspaceAndWaitForSuggestions());
|
| - EXPECT_EQ(ASCIIToUTF16("fa"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16("cebook"), omnibox()->GetInstantSuggestion());
|
| -
|
| - // Press Enter. Instant should clear gray text and submit the query [fa].
|
| - EXPECT_TRUE(PressEnterAndWaitForNavigationWithTitle(
|
| - instant()->GetOverlayContents(),
|
| - ASCIIToUTF16("fa - Google Search")));
|
| -}
|
| -
|
| -IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
|
| - MANUAL_BackspaceFromUrlToNonSelectedUrlAndSearch) {
|
| - set_browser(browser());
|
| - FocusOmniboxAndWaitForInstantExtendedSupport();
|
| -
|
| - // Type "facebook.c" and expect Google to set blue text to "om" to suggest
|
| - // http://www.facebook.com/, the URL.
|
| - SetOmniboxTextAndWaitForOverlayToShow("facebook.c");
|
| - EXPECT_EQ(ASCIIToUTF16("facebook.com"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16("om"), GetBlueText());
|
| - bool selected = false;
|
| - EXPECT_TRUE(GetSelectionState(&selected));
|
| - EXPECT_TRUE(selected);
|
| -
|
| - // Backspace to the text "facebook.c". Expect no suggestion text and no
|
| - // selected suggestion.
|
| - // Page won't actually show because it's showing "press enter to search".
|
| - EXPECT_TRUE(PressBackspaceAndWaitForSuggestions());
|
| - EXPECT_EQ(ASCIIToUTF16("facebook.c"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16(""), GetBlueText());
|
| - EXPECT_EQ(ASCIIToUTF16(""), omnibox()->GetInstantSuggestion());
|
| - EXPECT_TRUE(GetSelectionState(&selected));
|
| - EXPECT_FALSE(selected);
|
| -
|
| - // Press Enter. Instant should submit the query "facebook.c".
|
| - EXPECT_TRUE(PressEnterAndWaitForNavigationWithTitle(
|
| - active_tab(), ASCIIToUTF16("facebook.c - Google Search")));
|
| -}
|
| -
|
| -IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
|
| - MANUAL_BackspaceFromUrlToUrlAndNavigate) {
|
| - set_browser(browser());
|
| - FocusOmniboxAndWaitForInstantExtendedSupport();
|
| -
|
| - // Type "facebook.com/" and expect Google to set blue text to "login.php" to
|
| - // suggest http://www.facebook.com/login.php, the URL.
|
| - SetOmniboxTextAndWaitForOverlayToShow("facebook.com/");
|
| - EXPECT_EQ(ASCIIToUTF16("facebook.com/login.php"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16("login.php"), GetBlueText());
|
| - bool selected = false;
|
| - EXPECT_TRUE(GetSelectionState(&selected));
|
| - EXPECT_TRUE(selected);
|
| -
|
| - // Backspace to the text "facebook.com/". There should be no suggestion text,
|
| - // but the first suggestion should be selected.
|
| - EXPECT_TRUE(PressBackspaceAndWaitForSuggestions());
|
| - EXPECT_EQ(ASCIIToUTF16("facebook.com/"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16(""), GetBlueText());
|
| - EXPECT_EQ(ASCIIToUTF16(""), omnibox()->GetInstantSuggestion());
|
| - selected = false;
|
| - EXPECT_TRUE(GetSelectionState(&selected));
|
| - EXPECT_TRUE(selected);
|
| -
|
| - // Press Enter. Instant should navigate to facebook.com.
|
| - PressEnterAndWaitForNavigation();
|
| - EXPECT_TRUE(GetActiveTabURL().DomainIs("facebook.com"));
|
| -}
|
| -
|
| -IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
|
| - MANUAL_BackspaceFromQueryToSelectedUrlAndNavigate) {
|
| - set_browser(browser());
|
| - FocusOmniboxAndWaitForInstantExtendedSupport();
|
| -
|
| - // Type "a.cop" and expect Google to set gray text to "land" to suggest the
|
| - // query [a.copland].
|
| - SetOmniboxTextAndWaitForOverlayToShow("a.cop");
|
| - EXPECT_EQ(ASCIIToUTF16("a.cop"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16("land"), omnibox()->GetInstantSuggestion());
|
| -
|
| - // Backspace to the text "a.co". Expect no suggestion text, but the
|
| - // first suggestion should be selected URL "a.co".
|
| - EXPECT_TRUE(PressBackspaceAndWaitForSuggestions());
|
| - EXPECT_EQ(ASCIIToUTF16("a.co"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16(""), GetBlueText());
|
| - EXPECT_EQ(ASCIIToUTF16(""), omnibox()->GetInstantSuggestion());
|
| - bool selected = false;
|
| - EXPECT_TRUE(GetSelectionState(&selected));
|
| - EXPECT_TRUE(selected);
|
| -
|
| - // Press Enter. Instant should navigate to a.co/.
|
| - PressEnterAndWaitForNavigation();
|
| - EXPECT_TRUE(GetActiveTabURL().DomainIs("amazon.com"));
|
| -}
|
| -
|
| -IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
|
| - MANUAL_BackspaceFromSelectedUrlToQueryAndSearch) {
|
| - set_browser(browser());
|
| - FocusOmniboxAndWaitForInstantExtendedSupport();
|
| -
|
| - // Type "e.co/" and expect the top suggestion to be the URL "e.co/".
|
| - SetOmniboxTextAndWaitForOverlayToShow("e.co/");
|
| - EXPECT_EQ(ASCIIToUTF16("e.co/"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16(""), omnibox()->GetInstantSuggestion());
|
| - EXPECT_EQ(ASCIIToUTF16(""), GetBlueText());
|
| - bool selected = false;
|
| - EXPECT_TRUE(GetSelectionState(&selected));
|
| - EXPECT_TRUE(selected);
|
| -
|
| - // Backspace to the text "e.co". Expect Google to suggest the query [e.coli].
|
| - EXPECT_TRUE(PressBackspaceAndWaitForOverlayToShow());
|
| - EXPECT_EQ(ASCIIToUTF16("e.co"), omnibox()->GetText());
|
| - EXPECT_EQ(ASCIIToUTF16("li"), omnibox()->GetInstantSuggestion());
|
| - EXPECT_EQ(ASCIIToUTF16(""), GetBlueText());
|
| - selected = true;
|
| - EXPECT_TRUE(GetSelectionState(&selected));
|
| - EXPECT_FALSE(selected);
|
| -
|
| - // Press Enter. Instant should search for "e.co".
|
| - EXPECT_TRUE(PressEnterAndWaitForNavigationWithTitle(
|
| - instant()->GetOverlayContents(),
|
| - ASCIIToUTF16("e.co - Google Search")));
|
| -}
|
|
|