OLD | NEW |
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 static org.hamcrest.Matchers.is; | 7 import static org.hamcrest.Matchers.is; |
8 import static org.hamcrest.collection.IsIterableContainingInOrder.contains; | 8 import static org.hamcrest.collection.IsIterableContainingInOrder.contains; |
9 import static org.junit.Assert.assertEquals; | 9 import static org.junit.Assert.assertEquals; |
10 import static org.junit.Assert.assertFalse; | 10 import static org.junit.Assert.assertFalse; |
(...skipping 28 matching lines...) Expand all Loading... |
39 | 39 |
40 import org.chromium.base.Callback; | 40 import org.chromium.base.Callback; |
41 import org.chromium.base.test.util.Feature; | 41 import org.chromium.base.test.util.Feature; |
42 import org.chromium.chrome.browser.DisableHistogramsRule; | 42 import org.chromium.chrome.browser.DisableHistogramsRule; |
43 import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder.UpdateLayoutPa
ramsCallback; | 43 import org.chromium.chrome.browser.ntp.cards.NewTabPageViewHolder.UpdateLayoutPa
ramsCallback; |
44 import org.chromium.chrome.browser.ntp.snippets.CategoryStatus; | 44 import org.chromium.chrome.browser.ntp.snippets.CategoryStatus; |
45 import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; | 45 import org.chromium.chrome.browser.ntp.snippets.SnippetArticle; |
46 import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; | 46 import org.chromium.chrome.browser.ntp.snippets.SuggestionsSource; |
47 import org.chromium.chrome.browser.offlinepages.OfflinePageItem; | 47 import org.chromium.chrome.browser.offlinepages.OfflinePageItem; |
48 import org.chromium.chrome.browser.suggestions.ContentSuggestionsAdditionalActio
n; | 48 import org.chromium.chrome.browser.suggestions.ContentSuggestionsAdditionalActio
n; |
49 import org.chromium.chrome.browser.suggestions.ContentSuggestionsAdditionalActio
n.ContentSuggestionsAdditionalActionEnum; | |
50 import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter; | 49 import org.chromium.chrome.browser.suggestions.SuggestionsMetricsReporter; |
51 import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate; | 50 import org.chromium.chrome.browser.suggestions.SuggestionsNavigationDelegate; |
52 import org.chromium.chrome.browser.suggestions.SuggestionsRanker; | 51 import org.chromium.chrome.browser.suggestions.SuggestionsRanker; |
53 import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; | 52 import org.chromium.chrome.browser.suggestions.SuggestionsUiDelegate; |
54 import org.chromium.chrome.test.util.browser.suggestions.ContentSuggestionsTestU
tils.CategoryInfoBuilder; | 53 import org.chromium.chrome.test.util.browser.suggestions.ContentSuggestionsTestU
tils.CategoryInfoBuilder; |
55 import org.chromium.testing.local.LocalRobolectricTestRunner; | 54 import org.chromium.testing.local.LocalRobolectricTestRunner; |
56 | 55 |
57 import java.util.ArrayList; | 56 import java.util.ArrayList; |
58 import java.util.Arrays; | 57 import java.util.Arrays; |
59 import java.util.Collections; | 58 import java.util.Collections; |
(...skipping 678 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
738 mDelegate, mUiDelegate, mock(SuggestionsRanker.class), mBridge,
info); | 737 mDelegate, mUiDelegate, mock(SuggestionsRanker.class), mBridge,
info); |
739 section.setParent(mParent); | 738 section.setParent(mParent); |
740 return section; | 739 return section; |
741 } | 740 } |
742 | 741 |
743 private OfflinePageItem createOfflinePageItem(String url, long offlineId) { | 742 private OfflinePageItem createOfflinePageItem(String url, long offlineId) { |
744 return new OfflinePageItem(url, offlineId, "", "", "", 0, 0, 0, 0); | 743 return new OfflinePageItem(url, offlineId, "", "", "", 0, 0, 0, 0); |
745 } | 744 } |
746 | 745 |
747 private static void verifyAction( | 746 private static void verifyAction( |
748 SuggestionsSection section, @ContentSuggestionsAdditionalActionEnum
int action) { | 747 SuggestionsSection section, @ContentSuggestionsAdditionalAction int
action) { |
749 SuggestionsSource suggestionsSource = mock(SuggestionsSource.class); | 748 SuggestionsSource suggestionsSource = mock(SuggestionsSource.class); |
750 SuggestionsUiDelegate manager = mock(SuggestionsUiDelegate.class); | 749 SuggestionsUiDelegate manager = mock(SuggestionsUiDelegate.class); |
751 SuggestionsNavigationDelegate navDelegate = mock(SuggestionsNavigationDe
legate.class); | 750 SuggestionsNavigationDelegate navDelegate = mock(SuggestionsNavigationDe
legate.class); |
752 when(manager.getSuggestionsSource()).thenReturn(suggestionsSource); | 751 when(manager.getSuggestionsSource()).thenReturn(suggestionsSource); |
753 when(manager.getNavigationDelegate()).thenReturn(navDelegate); | 752 when(manager.getNavigationDelegate()).thenReturn(navDelegate); |
754 when(manager.getMetricsReporter()).thenReturn(mock(SuggestionsMetricsRep
orter.class)); | 753 when(manager.getMetricsReporter()).thenReturn(mock(SuggestionsMetricsRep
orter.class)); |
755 | 754 |
756 if (action != ContentSuggestionsAdditionalAction.NONE) { | 755 if (action != ContentSuggestionsAdditionalAction.NONE) { |
757 section.getActionItemForTesting().performAction(manager); | 756 section.getActionItemForTesting().performAction(manager); |
758 } | 757 } |
759 | 758 |
760 verify(section.getCategoryInfo(), | 759 verify(section.getCategoryInfo(), |
761 (action == ContentSuggestionsAdditionalAction.VIEW_ALL ? times(1
) : never())) | 760 (action == ContentSuggestionsAdditionalAction.VIEW_ALL ? times(1
) : never())) |
762 .performViewAllAction(navDelegate); | 761 .performViewAllAction(navDelegate); |
763 verify(suggestionsSource, | 762 verify(suggestionsSource, |
764 (action == ContentSuggestionsAdditionalAction.FETCH ? times(1) :
never())) | 763 (action == ContentSuggestionsAdditionalAction.FETCH ? times(1) :
never())) |
765 .fetchSuggestions(anyInt(), any(String[].class)); | 764 .fetchSuggestions(anyInt(), any(String[].class)); |
766 } | 765 } |
767 | 766 |
768 private static void verifySnippets(SuggestionsSection section, List<SnippetA
rticle> snippets) { | 767 private static void verifySnippets(SuggestionsSection section, List<SnippetA
rticle> snippets) { |
769 assertEquals(snippets.size(), section.getSuggestionsCount()); | 768 assertEquals(snippets.size(), section.getSuggestionsCount()); |
770 // Indices in section are off-by-one (index 0 is the header). | 769 // Indices in section are off-by-one (index 0 is the header). |
771 int index = 1; | 770 int index = 1; |
772 for (SnippetArticle snippet : snippets) { | 771 for (SnippetArticle snippet : snippets) { |
773 assertEquals(snippet, section.getSuggestionAt(index++)); | 772 assertEquals(snippet, section.getSuggestionAt(index++)); |
774 } | 773 } |
775 } | 774 } |
776 } | 775 } |
OLD | NEW |