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

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

Issue 2618893003: 📰 Tweak the suggestion ranks for UMA to handle fetchMore (Closed)
Patch Set: rebase, address comments 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 unified diff | Download patch
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser.ntp.cards; 5 package org.chromium.chrome.browser.ntp.cards;
6 6
7 import org.chromium.chrome.browser.ntp.snippets.CategoryInt; 7 import org.chromium.chrome.browser.ntp.snippets.CategoryInt;
8 import org.chromium.chrome.browser.ntp.snippets.CategoryStatus; 8 import org.chromium.chrome.browser.ntp.snippets.CategoryStatus;
9 import org.chromium.chrome.browser.ntp.snippets.ContentSuggestionsCardLayout; 9 import org.chromium.chrome.browser.ntp.snippets.ContentSuggestionsCardLayout;
10 import org.chromium.chrome.browser.ntp.snippets.ContentSuggestionsCardLayout.Con tentSuggestionsCardLayoutEnum; 10 import org.chromium.chrome.browser.ntp.snippets.ContentSuggestionsCardLayout.Con tentSuggestionsCardLayoutEnum;
11 import org.chromium.chrome.browser.ntp.snippets.FakeSuggestionsSource; 11 import org.chromium.chrome.browser.ntp.snippets.FakeSuggestionsSource;
12 import org.chromium.chrome.browser.ntp.snippets.KnownCategories; 12 import org.chromium.chrome.browser.ntp.snippets.KnownCategories;
13 import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; 13 import org.chromium.chrome.browser.ntp.snippets.SnippetArticle;
14 14
15 import java.util.ArrayList; 15 import java.util.ArrayList;
16 import java.util.List; 16 import java.util.List;
17 17
18 /** Utilities to make testing content suggestions code easier. */ 18 /** Utilities to make testing content suggestions code easier. */
19 public final class ContentSuggestionsTestUtils { 19 public final class ContentSuggestionsTestUtils {
20 private ContentSuggestionsTestUtils() {} 20 private ContentSuggestionsTestUtils() {}
21 21
22 public static List<SnippetArticle> createDummySuggestions(int count) { 22 public static List<SnippetArticle> createDummySuggestions(
23 int count, @CategoryInt int category) {
23 List<SnippetArticle> suggestions = new ArrayList<>(); 24 List<SnippetArticle> suggestions = new ArrayList<>();
24 for (int index = 0; index < count; index++) { 25 for (int index = 0; index < count; index++) {
25 suggestions.add(new SnippetArticle(KnownCategories.BOOKMARKS, 26 suggestions.add(
26 "https://site.com/url" + index, "title" + index, "pub" + ind ex, "txt" + index, 27 new SnippetArticle(category, "https://site.com/url" + index, "title" + index,
27 "https://site.com/url" + index, 0, 0, 0)); 28 "pub" + index, "txt" + index, "https://site.com/url" + index, 0, 0));
28 } 29 }
29 return suggestions; 30 return suggestions;
30 } 31 }
31 32
32 /** Registers a category that has a reload action and is shown if empty. */ 33 /**
33 public static void registerCategory(FakeSuggestionsSource suggestionsSource, 34 * @deprecated The hardcoded category is a common source of bugs. Prefer
35 * {@link #createDummySuggestions(int, int)}
36 */
37 @Deprecated
38 public static List<SnippetArticle> createDummySuggestions(int count) {
39 return createDummySuggestions(count, KnownCategories.BOOKMARKS);
40 }
41
42 /**
43 * Registers a category according to the provided category info.
44 * @return the suggestions added to the newly registered category.
45 */
46 public static List<SnippetArticle> registerCategory(FakeSuggestionsSource su ggestionsSource,
34 @CategoryInt int category, int suggestionCount) { 47 @CategoryInt int category, int suggestionCount) {
48 // Important: showIfEmpty flag to true.
49 SuggestionsCategoryInfo categoryInfo =
50 new CategoryInfoBuilder(category).withReloadAction().showIfEmpty ().build();
51 return registerCategory(suggestionsSource, categoryInfo, suggestionCount );
52 }
53
54 /**
55 * Registers a category that has a reload action and is shown if empty.
56 * @return the suggestions added to the newly registered category.
57 */
58 public static List<SnippetArticle> registerCategory(FakeSuggestionsSource su ggestionsSource,
59 SuggestionsCategoryInfo categoryInfo, int suggestionCount) {
35 // FakeSuggestionSource does not provide suggestions if the category's s tatus is not 60 // FakeSuggestionSource does not provide suggestions if the category's s tatus is not
36 // AVAILABLE. 61 // AVAILABLE.
37 suggestionsSource.setStatusForCategory(category, CategoryStatus.AVAILABL E); 62 suggestionsSource.setStatusForCategory(
38 // Important: showIfEmpty flag to true. 63 categoryInfo.getCategory(), CategoryStatus.AVAILABLE);
39 suggestionsSource.setInfoForCategory(category, 64 suggestionsSource.setInfoForCategory(categoryInfo.getCategory(), categor yInfo);
40 new CategoryInfoBuilder(category).withReloadAction().showIfEmpty ().build()); 65
41 suggestionsSource.setSuggestionsForCategory( 66 List<SnippetArticle> suggestions =
42 category, createDummySuggestions(suggestionCount)); 67 createDummySuggestions(suggestionCount, categoryInfo.getCategory ());
68 suggestionsSource.setSuggestionsForCategory(categoryInfo.getCategory(), suggestions);
69 return suggestions;
43 } 70 }
44 71
45 public static String viewTypeToString(@ItemViewType int viewType) { 72 public static String viewTypeToString(@ItemViewType int viewType) {
46 switch (viewType) { 73 switch (viewType) {
47 case ItemViewType.ABOVE_THE_FOLD: 74 case ItemViewType.ABOVE_THE_FOLD:
48 return "ABOVE_THE_FOLD"; 75 return "ABOVE_THE_FOLD";
49 case ItemViewType.HEADER: 76 case ItemViewType.HEADER:
50 return "HEADER"; 77 return "HEADER";
51 case ItemViewType.SNIPPET: 78 case ItemViewType.SNIPPET:
52 return "SNIPPET"; 79 return "SNIPPET";
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 mCardLayout = cardLayout; 149 mCardLayout = cardLayout;
123 return this; 150 return this;
124 } 151 }
125 152
126 public SuggestionsCategoryInfo build() { 153 public SuggestionsCategoryInfo build() {
127 return new SuggestionsCategoryInfo(mCategory, mTitle, mCardLayout, m HasMoreAction, 154 return new SuggestionsCategoryInfo(mCategory, mTitle, mCardLayout, m HasMoreAction,
128 mHasReloadAction, mHasViewAllAction, mShowIfEmpty, mNoSugges tionsMessage); 155 mHasReloadAction, mHasViewAllAction, mShowIfEmpty, mNoSugges tionsMessage);
129 } 156 }
130 } 157 }
131 } 158 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698