Commit fc54a875 authored by dhollowa@chromium.org's avatar dhollowa@chromium.org

InstantExtendedManualTests should fail and not hang

Converts hanging tests to failures. Also disables a couple more flakey
manual tests.

BUG=225517
TEST=InstantExtendedManualTests.*
R=jered@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14130012

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194802 0039d316-1c4b-4281-b951-d872f2087c98
parent 50643400
...@@ -84,9 +84,7 @@ class InstantExtendedManualTest : public InProcessBrowserTest, ...@@ -84,9 +84,7 @@ class InstantExtendedManualTest : public InProcessBrowserTest,
bool PressBackspaceAndWaitForOverlayToShow() { bool PressBackspaceAndWaitForOverlayToShow() {
InstantTestModelObserver observer( InstantTestModelObserver observer(
instant()->model(), SearchMode::MODE_SEARCH_SUGGESTIONS); instant()->model(), SearchMode::MODE_SEARCH_SUGGESTIONS);
bool result = PressBackspace(); return PressBackspace() && observer.WaitForExpectedOverlayState();
observer.WaitForDesiredOverlayState();
return result;
} }
void PressEnterAndWaitForNavigation() { void PressEnterAndWaitForNavigation() {
...@@ -166,7 +164,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, ...@@ -166,7 +164,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
// Type "face" and expect Google to set gray text for "book" to suggest // Type "face" and expect Google to set gray text for "book" to suggest
// [facebook], the query. // [facebook], the query.
SetOmniboxTextAndWaitForOverlayToShow("face"); ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("face"));
EXPECT_EQ(ASCIIToUTF16("face"), omnibox()->GetText()); EXPECT_EQ(ASCIIToUTF16("face"), omnibox()->GetText());
EXPECT_EQ(ASCIIToUTF16("book"), GetGrayText()); EXPECT_EQ(ASCIIToUTF16("book"), GetGrayText());
...@@ -190,7 +188,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, ...@@ -190,7 +188,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
// Type "fan" and expect Google to set gray text to "dango" to suggest // Type "fan" and expect Google to set gray text to "dango" to suggest
// [fandango], the query. // [fandango], the query.
SetOmniboxTextAndWaitForOverlayToShow("fan"); ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("fan"));
EXPECT_EQ(ASCIIToUTF16("fan"), omnibox()->GetText()); EXPECT_EQ(ASCIIToUTF16("fan"), omnibox()->GetText());
EXPECT_EQ(ASCIIToUTF16("dango"), GetGrayText()); EXPECT_EQ(ASCIIToUTF16("dango"), GetGrayText());
...@@ -215,7 +213,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, ...@@ -215,7 +213,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
// Type "facebook.c" and expect Google to set blue text to "om" to suggest // Type "facebook.c" and expect Google to set blue text to "om" to suggest
// http://www.facebook.com/, the URL. // http://www.facebook.com/, the URL.
SetOmniboxTextAndWaitForOverlayToShow("facebook.c"); ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("facebook.c"));
EXPECT_EQ(ASCIIToUTF16("facebook.com"), omnibox()->GetText()); EXPECT_EQ(ASCIIToUTF16("facebook.com"), omnibox()->GetText());
EXPECT_EQ(ASCIIToUTF16("om"), GetBlueText()); EXPECT_EQ(ASCIIToUTF16("om"), GetBlueText());
bool selected = false; bool selected = false;
...@@ -245,7 +243,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, ...@@ -245,7 +243,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
// Type "facebook.com/" and expect Google to set blue text to "login.php" to // Type "facebook.com/" and expect Google to set blue text to "login.php" to
// suggest http://www.facebook.com/login.php, the URL. // suggest http://www.facebook.com/login.php, the URL.
SetOmniboxTextAndWaitForOverlayToShow("facebook.com/"); ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("facebook.com/"));
EXPECT_EQ(ASCIIToUTF16("facebook.com/login.php"), omnibox()->GetText()); EXPECT_EQ(ASCIIToUTF16("facebook.com/login.php"), omnibox()->GetText());
EXPECT_EQ(ASCIIToUTF16("login.php"), GetBlueText()); EXPECT_EQ(ASCIIToUTF16("login.php"), GetBlueText());
bool selected = false; bool selected = false;
...@@ -276,7 +274,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, ...@@ -276,7 +274,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
// Type "a.cop" and expect Google to set gray text to "land" to suggest the // Type "a.cop" and expect Google to set gray text to "land" to suggest the
// query [a.copland]. // query [a.copland].
SetOmniboxTextAndWaitForOverlayToShow("a.cop"); ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("a.cop"));
EXPECT_EQ(ASCIIToUTF16("a.cop"), omnibox()->GetText()); EXPECT_EQ(ASCIIToUTF16("a.cop"), omnibox()->GetText());
EXPECT_EQ(ASCIIToUTF16("land"), GetGrayText()); EXPECT_EQ(ASCIIToUTF16("land"), GetGrayText());
...@@ -303,7 +301,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, ...@@ -303,7 +301,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
EXPECT_TRUE(OverlayIsGoogle()); EXPECT_TRUE(OverlayIsGoogle());
// Type "e.co/" and expect the top suggestion to be the URL "e.co/". // Type "e.co/" and expect the top suggestion to be the URL "e.co/".
SetOmniboxTextAndWaitForOverlayToShow("e.co/"); ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("e.co/"));
EXPECT_EQ(ASCIIToUTF16("e.co/"), omnibox()->GetText()); EXPECT_EQ(ASCIIToUTF16("e.co/"), omnibox()->GetText());
EXPECT_EQ(ASCIIToUTF16(""), GetBlueText()); EXPECT_EQ(ASCIIToUTF16(""), GetBlueText());
EXPECT_EQ(ASCIIToUTF16(""), GetGrayText()); EXPECT_EQ(ASCIIToUTF16(""), GetGrayText());
...@@ -333,7 +331,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, MANUAL_TypeURLAndPressEnter) { ...@@ -333,7 +331,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, MANUAL_TypeURLAndPressEnter) {
// Type "www.facebook.com" and expect the top suggestion to be the URL // Type "www.facebook.com" and expect the top suggestion to be the URL
// facebook.com. // facebook.com.
SetOmniboxTextAndWaitForOverlayToShow("www.facebook.com"); ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("www.facebook.com"));
EXPECT_EQ(ASCIIToUTF16("www.facebook.com"), omnibox()->GetText()); EXPECT_EQ(ASCIIToUTF16("www.facebook.com"), omnibox()->GetText());
EXPECT_EQ(ASCIIToUTF16(""), GetBlueText()); EXPECT_EQ(ASCIIToUTF16(""), GetBlueText());
bool selected = false; bool selected = false;
...@@ -345,8 +343,9 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, MANUAL_TypeURLAndPressEnter) { ...@@ -345,8 +343,9 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, MANUAL_TypeURLAndPressEnter) {
EXPECT_TRUE(GetActiveTabURL().DomainIs("facebook.com")); EXPECT_TRUE(GetActiveTabURL().DomainIs("facebook.com"));
} }
// TODO: http://crbug.com/232088
IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
MANUAL_TypeAutocompletedURLAndPressEnter) { DISABLED_TypeAutocompletedURLAndPressEnter) {
set_browser(browser()); set_browser(browser());
FocusOmniboxAndWaitForInstantExtendedSupport(); FocusOmniboxAndWaitForInstantExtendedSupport();
EXPECT_TRUE(OverlayIsGoogle()); EXPECT_TRUE(OverlayIsGoogle());
...@@ -365,8 +364,9 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, ...@@ -365,8 +364,9 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
EXPECT_TRUE(GetActiveTabURL().DomainIs("facebook.com")); EXPECT_TRUE(GetActiveTabURL().DomainIs("facebook.com"));
} }
// TODO: http://crbug.com/230537
IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
MANUAL_PasteURLAndPressEnter) { DISABLED_PasteURLAndPressEnter) {
set_browser(browser()); set_browser(browser());
FocusOmniboxAndWaitForInstantExtendedSupport(); FocusOmniboxAndWaitForInstantExtendedSupport();
EXPECT_TRUE(OverlayIsGoogle()); EXPECT_TRUE(OverlayIsGoogle());
...@@ -379,7 +379,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest, ...@@ -379,7 +379,7 @@ IN_PROC_BROWSER_TEST_F(InstantExtendedManualTest,
omnibox()->model()->on_paste(); omnibox()->model()->on_paste();
SetOmniboxText("www.facebook.com"); SetOmniboxText("www.facebook.com");
omnibox()->OnAfterPossibleChange(); omnibox()->OnAfterPossibleChange();
observer.WaitForDesiredOverlayState(); ASSERT_TRUE(observer.WaitForExpectedOverlayState());
EXPECT_EQ(ASCIIToUTF16("www.facebook.com"), omnibox()->GetText()); EXPECT_EQ(ASCIIToUTF16("www.facebook.com"), omnibox()->GetText());
EXPECT_EQ(string16(), GetBlueText()); EXPECT_EQ(string16(), GetBlueText());
bool selected = false; bool selected = false;
......
...@@ -33,9 +33,10 @@ std::string WrapScript(const std::string& script) { ...@@ -33,9 +33,10 @@ std::string WrapScript(const std::string& script) {
InstantTestModelObserver::InstantTestModelObserver( InstantTestModelObserver::InstantTestModelObserver(
InstantOverlayModel* model, InstantOverlayModel* model,
SearchMode::Type desired_mode_type) SearchMode::Type expected_mode_type)
: model_(model), : model_(model),
desired_mode_type_(desired_mode_type) { expected_mode_type_(expected_mode_type),
observed_mode_type_(static_cast<SearchMode::Type>(-1)) {
model_->AddObserver(this); model_->AddObserver(this);
} }
...@@ -43,14 +44,16 @@ InstantTestModelObserver::~InstantTestModelObserver() { ...@@ -43,14 +44,16 @@ InstantTestModelObserver::~InstantTestModelObserver() {
model_->RemoveObserver(this); model_->RemoveObserver(this);
} }
void InstantTestModelObserver::WaitForDesiredOverlayState() { bool InstantTestModelObserver::WaitForExpectedOverlayState() {
run_loop_.Run(); run_loop_.Run();
return observed_mode_type_ == expected_mode_type_;
} }
void InstantTestModelObserver::OverlayStateChanged( void InstantTestModelObserver::OverlayStateChanged(
const InstantOverlayModel& model) { const InstantOverlayModel& model) {
if (model.mode().mode == desired_mode_type_) observed_mode_type_ = model.mode().mode;
run_loop_.Quit(); EXPECT_EQ(expected_mode_type_, observed_mode_type_);
run_loop_.Quit();
} }
// InstantTestBase ----------------------------------------------------------- // InstantTestBase -----------------------------------------------------------
...@@ -140,12 +143,12 @@ void InstantTestBase::SetOmniboxText(const std::string& text) { ...@@ -140,12 +143,12 @@ void InstantTestBase::SetOmniboxText(const std::string& text) {
omnibox()->SetUserText(UTF8ToUTF16(text)); omnibox()->SetUserText(UTF8ToUTF16(text));
} }
void InstantTestBase::SetOmniboxTextAndWaitForOverlayToShow( bool InstantTestBase::SetOmniboxTextAndWaitForOverlayToShow(
const std::string& text) { const std::string& text) {
InstantTestModelObserver observer( InstantTestModelObserver observer(
instant()->model(), SearchMode::MODE_SEARCH_SUGGESTIONS); instant()->model(), SearchMode::MODE_SEARCH_SUGGESTIONS);
SetOmniboxText(text); SetOmniboxText(text);
observer.WaitForDesiredOverlayState(); return observer.WaitForExpectedOverlayState();
} }
void InstantTestBase::SetOmniboxTextAndWaitForSuggestion( void InstantTestBase::SetOmniboxTextAndWaitForSuggestion(
......
...@@ -32,17 +32,20 @@ class WebContents; ...@@ -32,17 +32,20 @@ class WebContents;
class InstantTestModelObserver : public InstantOverlayModelObserver { class InstantTestModelObserver : public InstantOverlayModelObserver {
public: public:
InstantTestModelObserver(InstantOverlayModel* model, InstantTestModelObserver(InstantOverlayModel* model,
SearchMode::Type desired_mode_type); SearchMode::Type expected_mode_type);
~InstantTestModelObserver(); virtual ~InstantTestModelObserver();
void WaitForDesiredOverlayState(); // Returns true if the |expected_mode_type_| was observed in
// OverlayStateChanged.
bool WaitForExpectedOverlayState();
// Overridden from InstantOverlayModelObserver: // Overridden from InstantOverlayModelObserver:
virtual void OverlayStateChanged(const InstantOverlayModel& model) OVERRIDE; virtual void OverlayStateChanged(const InstantOverlayModel& model) OVERRIDE;
private: private:
InstantOverlayModel* const model_; InstantOverlayModel* const model_;
const SearchMode::Type desired_mode_type_; const SearchMode::Type expected_mode_type_;
SearchMode::Type observed_mode_type_;
base::RunLoop run_loop_; base::RunLoop run_loop_;
DISALLOW_COPY_AND_ASSIGN(InstantTestModelObserver); DISALLOW_COPY_AND_ASSIGN(InstantTestModelObserver);
...@@ -89,7 +92,7 @@ class InstantTestBase { ...@@ -89,7 +92,7 @@ class InstantTestBase {
void FocusOmniboxAndWaitForInstantExtendedSupport(); void FocusOmniboxAndWaitForInstantExtendedSupport();
void SetOmniboxText(const std::string& text); void SetOmniboxText(const std::string& text);
void SetOmniboxTextAndWaitForOverlayToShow(const std::string& text); bool SetOmniboxTextAndWaitForOverlayToShow(const std::string& text);
void SetOmniboxTextAndWaitForSuggestion(const std::string& text); void SetOmniboxTextAndWaitForSuggestion(const std::string& text);
bool GetBoolFromJS(content::WebContents* contents, bool GetBoolFromJS(content::WebContents* contents,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment