Commit 490ea501 authored by Gang Wu's avatar Gang Wu Committed by Commit Bot

Wait model propulate to UI and then click

Bug: 1131340
Change-Id: Idfe1fc338fabcb9d35840a00aaf3517ab26ef17c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2433255
Commit-Queue: Gang Wu <gangwu@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#811315}
parent 5985f539
......@@ -108,6 +108,7 @@ import java.util.concurrent.TimeoutException;
public class SearchActivityTest {
private static final long OMNIBOX_SHOW_TIMEOUT_MS = 5000L;
private static final String TEST_PNG_IMAGE_FILE_EXTENSION = ".png";
private static final int INVALID_INDEX = -1;
@ParameterAnnotations.ClassParameter
private static List<ParameterSet> sClassParams =
......@@ -571,7 +572,7 @@ public class SearchActivityTest {
AutocompleteCoordinatorTestUtils.getSuggestionsDropdown(
locationBar.getAutocompleteCoordinator());
int imageSuggestionIndex = -1;
int imageSuggestionIndex = INVALID_INDEX;
// Find the index of the image clipboard suggestion.
for (int i = 0; i < suggestionsDropdown.getItemCount(); ++i) {
OmniboxSuggestion suggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt(
......@@ -582,8 +583,8 @@ public class SearchActivityTest {
break;
}
}
Assert.assertNotEquals(
"Cannot find the image clipboard Omnibox suggestion", -1, imageSuggestionIndex);
Assert.assertNotEquals("Cannot find the image clipboard Omnibox suggestion", INVALID_INDEX,
imageSuggestionIndex);
OmniboxSuggestion imageSuggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt(
locationBar.getAutocompleteCoordinator(), imageSuggestionIndex);
......@@ -598,13 +599,6 @@ public class SearchActivityTest {
"The image clipboard suggestion should not contains am empty post data.", 0,
imageSuggestion.getPostData().length);
// Find the index of clipboard suggestion in the dropdown list.
final int clipboardSuggestionIndexInDropdown =
AutocompleteCoordinatorTestUtils.getIndexForFirstSuggestionOfType(
locationBar.getAutocompleteCoordinator(),
OmniboxSuggestionUiType.CLIPBOARD_SUGGESTION);
Assert.assertNotEquals("Cannot find the image clipboard Omnibox suggestion in UI.", -1,
clipboardSuggestionIndexInDropdown);
// Make sure the new tab is launched.
final ChromeTabbedActivity cta = ActivityUtils.waitForActivity(
......@@ -612,7 +606,7 @@ public class SearchActivityTest {
new Callable<Void>() {
@Override
public Void call() throws InterruptedException {
clickSuggestionAt(suggestionsDropdown, clipboardSuggestionIndexInDropdown);
clickFirstClipboardSuggestion(locationBar);
return null;
}
});
......@@ -652,7 +646,7 @@ public class SearchActivityTest {
AutocompleteCoordinatorTestUtils.getSuggestionsDropdown(
locationBar.getAutocompleteCoordinator());
int imageSuggestionIndex = -1;
int imageSuggestionIndex = INVALID_INDEX;
// Find the index of the image clipboard suggestion.
for (int i = 0; i < suggestionsDropdown.getItemCount(); ++i) {
OmniboxSuggestion suggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt(
......@@ -663,8 +657,8 @@ public class SearchActivityTest {
break;
}
}
Assert.assertNotEquals(
"Cannot find the image clipboard Omnibox suggestion", -1, imageSuggestionIndex);
Assert.assertNotEquals("Cannot find the image clipboard Omnibox suggestion", INVALID_INDEX,
imageSuggestionIndex);
OmniboxSuggestion imageSuggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt(
locationBar.getAutocompleteCoordinator(), imageSuggestionIndex);
......@@ -712,13 +706,27 @@ public class SearchActivityTest {
});
}
private void clickSuggestionAt(OmniboxSuggestionsDropdown suggestionsDropdown, int index)
private void clickFirstClipboardSuggestion(SearchActivityLocationBarLayout locationBar)
throws InterruptedException {
// Wait a bit since the button may not able to click.
ViewGroup viewGroup = suggestionsDropdown.getViewGroup();
BaseSuggestionView baseSuggestionView = (BaseSuggestionView) viewGroup.getChildAt(index);
TestTouchUtils.performClickOnMainSync(InstrumentationRegistry.getInstrumentation(),
baseSuggestionView.getDecoratedSuggestionView());
CriteriaHelper.pollUiThread(() -> {
// Find the index of clipboard suggestion in the dropdown list.
final int clipboardSuggestionIndexInDropdown =
AutocompleteCoordinatorTestUtils.getIndexForFirstSuggestionOfType(
locationBar.getAutocompleteCoordinator(),
OmniboxSuggestionUiType.CLIPBOARD_SUGGESTION);
Criteria.checkThat("Cannot find the clipboard Omnibox suggestion in ModelList.",
clipboardSuggestionIndexInDropdown, Matchers.not(INVALID_INDEX));
OmniboxSuggestionsDropdown dropdown =
AutocompleteCoordinatorTestUtils.getSuggestionsDropdown(
locationBar.getAutocompleteCoordinator());
ViewGroup viewGroup = dropdown.getViewGroup();
BaseSuggestionView baseSuggestionView =
(BaseSuggestionView) viewGroup.getChildAt(clipboardSuggestionIndexInDropdown);
Criteria.checkThat("Cannot find the clipboard Omnibox suggestion in UI.",
baseSuggestionView, Matchers.notNullValue());
TestTouchUtils.performClickOnMainSync(InstrumentationRegistry.getInstrumentation(),
baseSuggestionView.getDecoratedSuggestionView());
});
}
private SearchActivity startSearchActivity() {
......
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