Index: chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java |
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java |
index 779707497126d88dd6424ec0e614eb52dbef1405..3533a9d073db4d69968c0c60ea2fb6922d67c6ce 100644 |
--- a/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java |
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/ntp/cards/NewTabPageAdapterTest.java |
@@ -38,6 +38,23 @@ |
@RunWith(LocalRobolectricTestRunner.class) |
@Config(manifest = Config.NONE) |
public class NewTabPageAdapterTest { |
+ /** |
+ * Number of elements, not including content suggestions that are loaded |
+ * in a populated recycler view. |
+ * The 3 elements are: above-the-fold, header, bottom spacer |
+ * TODO(pke): Make this depend on the category info of the loaded sections |
dgn
2016/08/09 15:47:16
FYI: added a TODO. If your change properly runs th
Philipp Keck
2016/08/09 17:40:47
Thanks for the heads up. I'm not really an expert
|
+ * instead of being a constant, as it needs to know if the MORE button is |
+ * present for example. |
+ */ |
+ private static final int PERMANENT_ELEMENTS_COUNT = 3; |
+ |
+ /** |
+ * Number of elements that are loaded in an empty recycler view |
+ * The 5 elements are: above-the-fold, header, status card, progress |
+ * indicator, bottom spacer. |
+ */ |
+ private static final int EMPTY_STATE_ELEMENTS_COUNT = 5; |
+ |
private static class FakeSnippetsSource implements SnippetsSource { |
private SnippetsSource.SnippetsObserver mObserver; |
private final Map<Integer, Integer> mCategoryStatus = new HashMap<>(); |
@@ -99,7 +116,7 @@ public void setUp() { |
@Test |
@Feature({"Ntp"}) |
public void testSnippetLoading() { |
- assertEquals(5, mNtpAdapter.getItemCount()); |
+ assertEquals(EMPTY_STATE_ELEMENTS_COUNT, mNtpAdapter.getItemCount()); |
assertEquals(NewTabPageListItem.VIEW_TYPE_ABOVE_THE_FOLD, mNtpAdapter.getItemViewType(0)); |
assertEquals(NewTabPageListItem.VIEW_TYPE_HEADER, mNtpAdapter.getItemViewType(1)); |
assertEquals(NewTabPageListItem.VIEW_TYPE_STATUS, mNtpAdapter.getItemViewType(2)); |
@@ -133,7 +150,7 @@ public void testSnippetLoadingInitiallyEmpty() { |
// If we don't get anything, we should be in the same situation as the initial one. |
mSnippetsSource.setSnippetsForCategory(KnownCategories.ARTICLES, |
new ArrayList<SnippetArticleListItem>()); |
- assertEquals(5, mNtpAdapter.getItemCount()); |
+ assertEquals(EMPTY_STATE_ELEMENTS_COUNT, mNtpAdapter.getItemCount()); |
assertEquals(NewTabPageListItem.VIEW_TYPE_ABOVE_THE_FOLD, mNtpAdapter.getItemViewType(0)); |
assertEquals(NewTabPageListItem.VIEW_TYPE_HEADER, mNtpAdapter.getItemViewType(1)); |
assertEquals(NewTabPageListItem.VIEW_TYPE_STATUS, mNtpAdapter.getItemViewType(2)); |
@@ -166,25 +183,25 @@ public void testSnippetLoadingInitiallyEmpty() { |
public void testSnippetClearing() { |
List<SnippetArticleListItem> snippets = createDummySnippets(); |
mSnippetsSource.setSnippetsForCategory(KnownCategories.ARTICLES, snippets); |
- assertEquals(3 + snippets.size(), mNtpAdapter.getItemCount()); |
+ assertEquals(PERMANENT_ELEMENTS_COUNT + snippets.size(), mNtpAdapter.getItemCount()); |
// If we get told that snippets are enabled, we just leave the current |
// ones there and not clear. |
mSnippetsSource.setStatusForCategory(KnownCategories.ARTICLES, |
CategoryStatus.AVAILABLE); |
- assertEquals(3 + snippets.size(), mNtpAdapter.getItemCount()); |
+ assertEquals(PERMANENT_ELEMENTS_COUNT + snippets.size(), mNtpAdapter.getItemCount()); |
// When snippets are disabled, we clear them and we should go back to |
// the situation with the status card. |
mSnippetsSource.setStatusForCategory(KnownCategories.ARTICLES, |
CategoryStatus.SIGNED_OUT); |
- assertEquals(5, mNtpAdapter.getItemCount()); |
+ assertEquals(EMPTY_STATE_ELEMENTS_COUNT, mNtpAdapter.getItemCount()); |
// The adapter should now be waiting for new snippets. |
mSnippetsSource.setStatusForCategory(KnownCategories.ARTICLES, |
CategoryStatus.AVAILABLE); |
mSnippetsSource.setSnippetsForCategory(KnownCategories.ARTICLES, snippets); |
- assertEquals(3 + snippets.size(), mNtpAdapter.getItemCount()); |
+ assertEquals(PERMANENT_ELEMENTS_COUNT + snippets.size(), mNtpAdapter.getItemCount()); |
} |
/** |
@@ -197,31 +214,31 @@ public void testSnippetLoadingBlock() { |
// By default, status is INITIALIZING, so we can load snippets |
mSnippetsSource.setSnippetsForCategory(KnownCategories.ARTICLES, snippets); |
- assertEquals(3 + snippets.size(), mNtpAdapter.getItemCount()); |
+ assertEquals(PERMANENT_ELEMENTS_COUNT + snippets.size(), mNtpAdapter.getItemCount()); |
// If we have snippets, we should not load the new list. |
snippets.add(new SnippetArticleListItem("https://site.com/url1", "title1", "pub1", "txt1", |
"https://site.com/url1", "https://amp.site.com/url1", 0, 0, 0)); |
mSnippetsSource.setSnippetsForCategory(KnownCategories.ARTICLES, snippets); |
- assertEquals(3 + snippets.size() - 1, mNtpAdapter.getItemCount()); |
+ assertEquals(PERMANENT_ELEMENTS_COUNT + snippets.size() - 1, mNtpAdapter.getItemCount()); |
// When snippets are disabled, we should not be able to load them |
mSnippetsSource.setStatusForCategory(KnownCategories.ARTICLES, |
CategoryStatus.SIGNED_OUT); |
mSnippetsSource.setSnippetsForCategory(KnownCategories.ARTICLES, snippets); |
- assertEquals(5, mNtpAdapter.getItemCount()); |
+ assertEquals(EMPTY_STATE_ELEMENTS_COUNT, mNtpAdapter.getItemCount()); |
// INITIALIZING lets us load snippets still. |
mSnippetsSource.setStatusForCategory(KnownCategories.ARTICLES, |
CategoryStatus.INITIALIZING); |
mSnippetsSource.setSnippetsForCategory(KnownCategories.ARTICLES, snippets); |
- assertEquals(3 + snippets.size(), mNtpAdapter.getItemCount()); |
+ assertEquals(PERMANENT_ELEMENTS_COUNT + snippets.size(), mNtpAdapter.getItemCount()); |
// The adapter should now be waiting for new snippets. |
mSnippetsSource.setStatusForCategory(KnownCategories.ARTICLES, |
CategoryStatus.AVAILABLE); |
mSnippetsSource.setSnippetsForCategory(KnownCategories.ARTICLES, snippets); |
- assertEquals(3 + snippets.size(), mNtpAdapter.getItemCount()); |
+ assertEquals(PERMANENT_ELEMENTS_COUNT + snippets.size(), mNtpAdapter.getItemCount()); |
} |
/** |