| Index: chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/ContentSuggestionsTestUtils.java
|
| diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/ContentSuggestionsTestUtils.java b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/ContentSuggestionsTestUtils.java
|
| index df2228707137758af08ff848d861192e71b48c6b..463aefec888fbdce8ba4daa48c5b8a8ec3dbd4b5 100644
|
| --- a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/ContentSuggestionsTestUtils.java
|
| +++ b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/ContentSuggestionsTestUtils.java
|
| @@ -4,15 +4,20 @@
|
|
|
| package org.chromium.chrome.browser.ntp.cards;
|
|
|
| +import static org.mockito.Mockito.mock;
|
| +
|
| import org.chromium.chrome.browser.ntp.snippets.CategoryInt;
|
| import org.chromium.chrome.browser.ntp.snippets.CategoryStatus;
|
| import org.chromium.chrome.browser.ntp.snippets.ContentSuggestionsCardLayout;
|
| import org.chromium.chrome.browser.ntp.snippets.ContentSuggestionsCardLayout.ContentSuggestionsCardLayoutEnum;
|
| import org.chromium.chrome.browser.ntp.snippets.FakeSuggestionsSource;
|
| import org.chromium.chrome.browser.ntp.snippets.KnownCategories;
|
| +import org.chromium.chrome.browser.ntp.snippets.SectionHeaderViewHolder;
|
| import org.chromium.chrome.browser.ntp.snippets.SnippetArticle;
|
| +import org.chromium.chrome.browser.ntp.snippets.SnippetArticleViewHolder;
|
|
|
| import java.util.ArrayList;
|
| +import java.util.Collections;
|
| import java.util.List;
|
|
|
| /** Utilities to make testing content suggestions code easier. */
|
| @@ -20,16 +25,21 @@ public final class ContentSuggestionsTestUtils {
|
| private ContentSuggestionsTestUtils() {}
|
|
|
| public static List<SnippetArticle> createDummySuggestions(
|
| - int count, @CategoryInt int category) {
|
| + int count, @CategoryInt int category, String prefix) {
|
| List<SnippetArticle> suggestions = new ArrayList<>();
|
| for (int index = 0; index < count; index++) {
|
| - suggestions.add(
|
| - new SnippetArticle(category, "https://site.com/url" + index, "title" + index,
|
| - "pub" + index, "txt" + index, "https://site.com/url" + index, 0, 0));
|
| + suggestions.add(new SnippetArticle(category, "https://site.com/url" + prefix + index,
|
| + prefix + "title" + index, "pub" + index, "txt" + index,
|
| + "https://site.com/url" + index, 0, 0));
|
| }
|
| return suggestions;
|
| }
|
|
|
| + public static List<SnippetArticle> createDummySuggestions(
|
| + int count, @CategoryInt int category) {
|
| + return createDummySuggestions(count, category, "");
|
| + }
|
| +
|
| /**
|
| * @deprecated The hardcoded category is a common source of bugs. Prefer
|
| * {@link #createDummySuggestions(int, int)}
|
| @@ -155,4 +165,32 @@ public final class ContentSuggestionsTestUtils {
|
| mHasReloadAction, mHasViewAllAction, mShowIfEmpty, mNoSuggestionsMessage);
|
| }
|
| }
|
| +
|
| + public static void bindViewHolders(InnerNode node) {
|
| + bindViewHolders(node, 0, node.getItemCount());
|
| + }
|
| +
|
| + public static void bindViewHolders(InnerNode node, int startIndex, int endIndex) {
|
| + for (int i = startIndex; i < endIndex; ++i) {
|
| + node.onBindViewHolder(
|
| + makeViewHolder(node.getItemViewType(i)), i, Collections.emptyList());
|
| + }
|
| + }
|
| +
|
| + private static NewTabPageViewHolder makeViewHolder(@CategoryInt int viewType) {
|
| + switch (viewType) {
|
| + case ItemViewType.SNIPPET:
|
| + return mock(SnippetArticleViewHolder.class);
|
| + case ItemViewType.HEADER:
|
| + return mock(SectionHeaderViewHolder.class);
|
| + case ItemViewType.STATUS:
|
| + return mock(StatusCardViewHolder.class);
|
| + case ItemViewType.ACTION:
|
| + return mock(ActionItem.ViewHolder.class);
|
| + case ItemViewType.PROGRESS:
|
| + return mock(ProgressViewHolder.class);
|
| + default:
|
| + return mock(NewTabPageViewHolder.class);
|
| + }
|
| + }
|
| }
|
|
|