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 {
return details;
}
FindNotificationDetails WaitForFinalFindResult() {
while (true) {
auto details = WaitForFindResult();
if (details.final_update())
return details;
}
}
private:
test::ScopedMacViewsBrowserMode views_mode_{true};
......@@ -187,28 +195,28 @@ IN_PROC_BROWSER_TEST_F(FindInPageTest, ButtonsDoNotAlterFocus) {
// Clicking the next and previous buttons should not alter the focused view.
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));
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));
// Tapping the next and previous buttons should not alter the focused view.
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));
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));
// The same should be true even when the previous button is focused.
previous_button->RequestFocus();
EXPECT_TRUE(IsViewFocused(browser(), VIEW_ID_FIND_IN_PAGE_PREVIOUS_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));
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));
}
......
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