| 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();
|
|
|