Commit 1748d4dd authored by Alexander Semashko's avatar Alexander Semashko Committed by Commit Bot

Fix/deflake tests in /chrome/browser/ui/views.

This is a prerequisite for switching WindowedNotificationObserver to use
base::RunLoop instead of deprecated MessageLoopRunner.

This CL is split out from https://crrev.com/c/982612.

This CL was uploaded by git cl split.

R=bsep@chromium.org

Bug: 668707
Change-Id: I5e19527ac309235112faed7a250bf344c2376242
Reviewed-on: https://chromium-review.googlesource.com/1120498Reviewed-by: default avatarBret Sepulveda <bsep@chromium.org>
Commit-Queue: Alexander Semashko <ahest@yandex-team.ru>
Cr-Commit-Position: refs/heads/master@{#571619}
parent aba7760c
...@@ -87,6 +87,14 @@ class FindInPageTest : public InProcessBrowserTest { ...@@ -87,6 +87,14 @@ class FindInPageTest : public InProcessBrowserTest {
return details; return details;
} }
FindNotificationDetails WaitForFinalFindResult() {
while (true) {
auto details = WaitForFindResult();
if (details.final_update())
return details;
}
}
private: private:
test::ScopedMacViewsBrowserMode views_mode_{true}; test::ScopedMacViewsBrowserMode views_mode_{true};
...@@ -187,28 +195,28 @@ IN_PROC_BROWSER_TEST_F(FindInPageTest, ButtonsDoNotAlterFocus) { ...@@ -187,28 +195,28 @@ IN_PROC_BROWSER_TEST_F(FindInPageTest, ButtonsDoNotAlterFocus) {
// Clicking the next and previous buttons should not alter the focused view. // Clicking the next and previous buttons should not alter the focused view.
ClickOnView(next_button); ClickOnView(next_button);
EXPECT_EQ(2, WaitForFindResult().active_match_ordinal()); EXPECT_EQ(2, WaitForFinalFindResult().active_match_ordinal());
EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
ClickOnView(previous_button); ClickOnView(previous_button);
EXPECT_EQ(1, WaitForFindResult().active_match_ordinal()); EXPECT_EQ(1, WaitForFinalFindResult().active_match_ordinal());
EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
// Tapping the next and previous buttons should not alter the focused view. // Tapping the next and previous buttons should not alter the focused view.
TapOnView(next_button); TapOnView(next_button);
EXPECT_EQ(2, WaitForFindResult().active_match_ordinal()); EXPECT_EQ(2, WaitForFinalFindResult().active_match_ordinal());
EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
TapOnView(previous_button); TapOnView(previous_button);
EXPECT_EQ(1, WaitForFindResult().active_match_ordinal()); EXPECT_EQ(1, WaitForFinalFindResult().active_match_ordinal());
EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD)); EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_TEXT_FIELD));
// The same should be true even when the previous button is focused. // The same should be true even when the previous button is focused.
previous_button->RequestFocus(); previous_button->RequestFocus();
EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON)); EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON));
ClickOnView(next_button); ClickOnView(next_button);
EXPECT_EQ(2, WaitForFindResult().active_match_ordinal()); EXPECT_EQ(2, WaitForFinalFindResult().active_match_ordinal());
EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON)); EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON));
TapOnView(next_button); TapOnView(next_button);
EXPECT_EQ(3, WaitForFindResult().active_match_ordinal()); EXPECT_EQ(3, WaitForFinalFindResult().active_match_ordinal());
EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON)); EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_BUTTON));
} }
......
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