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

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

Issue 2617133002: [Android NTP] Move more of the dismissal logic into the tree. (Closed)
Patch Set: annotation 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
« no previous file with comments | « chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfoTest.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSectionTest.java
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSectionTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSectionTest.java
index 03020a78b9dbf671698d82df1413aa584aa4e810..678dd08cf6260486aa559b988605c060f1a5c3f0 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSectionTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsSectionTest.java
@@ -10,8 +10,8 @@ import static org.junit.Assert.assertNotEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.anyInt;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.never;
import static org.mockito.Mockito.reset;
@@ -50,8 +50,11 @@ import org.chromium.testing.local.LocalRobolectricTestRunner;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.List;
+import java.util.Set;
+import java.util.TreeSet;
/**
* Unit tests for {@link SuggestionsSection}.
@@ -60,6 +63,9 @@ import java.util.List;
@Config(manifest = Config.NONE)
public class SuggestionsSectionTest {
@Rule
+ public EnableFeatures.Processor mEnableFeatureProcessor = new EnableFeatures.Processor();
+
+ @Rule
public DisableHistogramsRule mDisableHistogramsRule = new DisableHistogramsRule();
private static final int TEST_CATEGORY_ID = 42;
@@ -82,6 +88,7 @@ public class SuggestionsSectionTest {
@Test
@Feature({"Ntp"})
+ @EnableFeatures(ChromeFeatureList.NTP_SUGGESTIONS_SECTION_DISMISSAL)
public void testDismissSibling() {
List<SnippetArticle> snippets = createDummySuggestions(3);
SuggestionsSection section = createSectionWithReloadAction(true);
@@ -90,15 +97,45 @@ public class SuggestionsSectionTest {
assertNotNull(section.getActionItem());
// Without snippets.
+ assertEquals(ItemViewType.HEADER, section.getItemViewType(0));
+ assertEquals(Collections.emptySet(), section.getItemDismissalGroup(0));
+ assertEquals(ItemViewType.STATUS, section.getItemViewType(1));
+ assertEquals(setOf(1, 2), section.getItemDismissalGroup(1));
assertEquals(ItemViewType.ACTION, section.getItemViewType(2));
- assertEquals(-1, section.getDismissSiblingPosDelta(2));
+ assertEquals(setOf(1, 2), section.getItemDismissalGroup(2));
+
+ // With snippets.
+ section.setSuggestions(snippets, CategoryStatus.AVAILABLE, /* replaceExisting = */ true);
+ assertEquals(ItemViewType.HEADER, section.getItemViewType(0));
+ assertEquals(Collections.emptySet(), section.getItemDismissalGroup(0));
+ assertEquals(ItemViewType.SNIPPET, section.getItemViewType(1));
+ assertEquals(Collections.singleton(1), section.getItemDismissalGroup(1));
+ }
+
+ @Test
+ @Feature({"Ntp"})
+ @EnableFeatures({})
+ public void testDismissSiblingWithSectionDismissalDisabled() {
+ List<SnippetArticle> snippets = createDummySuggestions(3);
+ SuggestionsSection section = createSectionWithReloadAction(true);
+
+ section.setStatus(CategoryStatus.AVAILABLE);
+ assertNotNull(section.getActionItem());
+
+ // Without snippets.
+ assertEquals(ItemViewType.HEADER, section.getItemViewType(0));
+ assertEquals(Collections.emptySet(), section.getItemDismissalGroup(0));
assertEquals(ItemViewType.STATUS, section.getItemViewType(1));
- assertEquals(1, section.getDismissSiblingPosDelta(1));
+ assertEquals(Collections.emptySet(), section.getItemDismissalGroup(1));
+ assertEquals(ItemViewType.ACTION, section.getItemViewType(2));
+ assertEquals(Collections.emptySet(), section.getItemDismissalGroup(2));
// With snippets.
section.setSuggestions(snippets, CategoryStatus.AVAILABLE, /* replaceExisting = */ true);
+ assertEquals(ItemViewType.HEADER, section.getItemViewType(0));
+ assertEquals(Collections.emptySet(), section.getItemDismissalGroup(0));
assertEquals(ItemViewType.SNIPPET, section.getItemViewType(1));
- assertEquals(0, section.getDismissSiblingPosDelta(1));
+ assertEquals(Collections.singleton(1), section.getItemDismissalGroup(1));
}
@Test
@@ -597,6 +634,13 @@ public class SuggestionsSectionTest {
return section;
}
+ @SafeVarargs
+ private static <T> Set<T> setOf(T... elements) {
+ Set<T> set = new TreeSet<T>();
+ set.addAll(Arrays.asList(elements));
+ return set;
+ }
+
private SuggestionsSection createSectionWithReloadAction(boolean hasReloadAction) {
CategoryInfoBuilder builder = new CategoryInfoBuilder(TEST_CATEGORY_ID).showIfEmpty();
if (hasReloadAction) builder.withReloadAction();
« no previous file with comments | « chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/SuggestionsCategoryInfoTest.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698