Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3780)

Unified Diff: chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/ContentSuggestionsTestUtils.java

Issue 2639933003: [NTP suggestions UI] Track precise count of suggestions seen. (Closed)
Patch Set: Fix rebase #2 Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
+ }
+ }
}

Powered by Google App Engine
This is Rietveld 408576698