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; ...@@ -108,6 +108,7 @@ import java.util.concurrent.TimeoutException;
public class SearchActivityTest { public class SearchActivityTest {
private static final long OMNIBOX_SHOW_TIMEOUT_MS = 5000L; private static final long OMNIBOX_SHOW_TIMEOUT_MS = 5000L;
private static final String TEST_PNG_IMAGE_FILE_EXTENSION = ".png"; private static final String TEST_PNG_IMAGE_FILE_EXTENSION = ".png";
private static final int INVALID_INDEX = -1;
@ParameterAnnotations.ClassParameter @ParameterAnnotations.ClassParameter
private static List<ParameterSet> sClassParams = private static List<ParameterSet> sClassParams =
...@@ -571,7 +572,7 @@ public class SearchActivityTest { ...@@ -571,7 +572,7 @@ public class SearchActivityTest {
AutocompleteCoordinatorTestUtils.getSuggestionsDropdown( AutocompleteCoordinatorTestUtils.getSuggestionsDropdown(
locationBar.getAutocompleteCoordinator()); locationBar.getAutocompleteCoordinator());
int imageSuggestionIndex = -1; int imageSuggestionIndex = INVALID_INDEX;
// Find the index of the image clipboard suggestion. // Find the index of the image clipboard suggestion.
for (int i = 0; i < suggestionsDropdown.getItemCount(); ++i) { for (int i = 0; i < suggestionsDropdown.getItemCount(); ++i) {
OmniboxSuggestion suggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt( OmniboxSuggestion suggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt(
...@@ -582,8 +583,8 @@ public class SearchActivityTest { ...@@ -582,8 +583,8 @@ public class SearchActivityTest {
break; break;
} }
} }
Assert.assertNotEquals( Assert.assertNotEquals("Cannot find the image clipboard Omnibox suggestion", INVALID_INDEX,
"Cannot find the image clipboard Omnibox suggestion", -1, imageSuggestionIndex); imageSuggestionIndex);
OmniboxSuggestion imageSuggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt( OmniboxSuggestion imageSuggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt(
locationBar.getAutocompleteCoordinator(), imageSuggestionIndex); locationBar.getAutocompleteCoordinator(), imageSuggestionIndex);
...@@ -598,13 +599,6 @@ public class SearchActivityTest { ...@@ -598,13 +599,6 @@ public class SearchActivityTest {
"The image clipboard suggestion should not contains am empty post data.", 0, "The image clipboard suggestion should not contains am empty post data.", 0,
imageSuggestion.getPostData().length); 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. // Make sure the new tab is launched.
final ChromeTabbedActivity cta = ActivityUtils.waitForActivity( final ChromeTabbedActivity cta = ActivityUtils.waitForActivity(
...@@ -612,7 +606,7 @@ public class SearchActivityTest { ...@@ -612,7 +606,7 @@ public class SearchActivityTest {
new Callable<Void>() { new Callable<Void>() {
@Override @Override
public Void call() throws InterruptedException { public Void call() throws InterruptedException {
clickSuggestionAt(suggestionsDropdown, clipboardSuggestionIndexInDropdown); clickFirstClipboardSuggestion(locationBar);
return null; return null;
} }
}); });
...@@ -652,7 +646,7 @@ public class SearchActivityTest { ...@@ -652,7 +646,7 @@ public class SearchActivityTest {
AutocompleteCoordinatorTestUtils.getSuggestionsDropdown( AutocompleteCoordinatorTestUtils.getSuggestionsDropdown(
locationBar.getAutocompleteCoordinator()); locationBar.getAutocompleteCoordinator());
int imageSuggestionIndex = -1; int imageSuggestionIndex = INVALID_INDEX;
// Find the index of the image clipboard suggestion. // Find the index of the image clipboard suggestion.
for (int i = 0; i < suggestionsDropdown.getItemCount(); ++i) { for (int i = 0; i < suggestionsDropdown.getItemCount(); ++i) {
OmniboxSuggestion suggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt( OmniboxSuggestion suggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt(
...@@ -663,8 +657,8 @@ public class SearchActivityTest { ...@@ -663,8 +657,8 @@ public class SearchActivityTest {
break; break;
} }
} }
Assert.assertNotEquals( Assert.assertNotEquals("Cannot find the image clipboard Omnibox suggestion", INVALID_INDEX,
"Cannot find the image clipboard Omnibox suggestion", -1, imageSuggestionIndex); imageSuggestionIndex);
OmniboxSuggestion imageSuggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt( OmniboxSuggestion imageSuggestion = AutocompleteCoordinatorTestUtils.getOmniboxSuggestionAt(
locationBar.getAutocompleteCoordinator(), imageSuggestionIndex); locationBar.getAutocompleteCoordinator(), imageSuggestionIndex);
...@@ -712,13 +706,27 @@ public class SearchActivityTest { ...@@ -712,13 +706,27 @@ public class SearchActivityTest {
}); });
} }
private void clickSuggestionAt(OmniboxSuggestionsDropdown suggestionsDropdown, int index) private void clickFirstClipboardSuggestion(SearchActivityLocationBarLayout locationBar)
throws InterruptedException { throws InterruptedException {
// Wait a bit since the button may not able to click. CriteriaHelper.pollUiThread(() -> {
ViewGroup viewGroup = suggestionsDropdown.getViewGroup(); // Find the index of clipboard suggestion in the dropdown list.
BaseSuggestionView baseSuggestionView = (BaseSuggestionView) viewGroup.getChildAt(index); final int clipboardSuggestionIndexInDropdown =
TestTouchUtils.performClickOnMainSync(InstrumentationRegistry.getInstrumentation(), AutocompleteCoordinatorTestUtils.getIndexForFirstSuggestionOfType(
baseSuggestionView.getDecoratedSuggestionView()); 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() { 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