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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerViewTest.java

Issue 2853573002: Convert ChromeTabbedActivityTestCaseBase children to JUnit4 (Closed)
Patch Set: rebase Created 3 years, 7 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
Index: chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerViewTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerViewTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerViewTest.java
index 1692f5d92918d47b252306565fe2f21f9194d060..bcdc1bcb6274bd332c164129a864b641c8879a32 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerViewTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/cards/NewTabPageRecyclerViewTest.java
@@ -5,11 +5,19 @@
package org.chromium.chrome.browser.ntp.cards;
import android.content.res.Resources;
+import android.support.test.InstrumentationRegistry;
import android.support.test.filters.MediumTest;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.RecyclerView.ViewHolder;
import android.view.View;
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
import org.chromium.base.ThreadUtils;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
@@ -17,6 +25,7 @@ import org.chromium.base.test.util.Restriction;
import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
+import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.UrlConstants;
import org.chromium.chrome.browser.ntp.ContextMenuManager;
import org.chromium.chrome.browser.ntp.NewTabPage;
@@ -31,13 +40,16 @@ import org.chromium.chrome.browser.suggestions.FakeMostVisitedSites;
import org.chromium.chrome.browser.suggestions.TileGroupDelegateImpl;
import org.chromium.chrome.browser.suggestions.TileSource;
import org.chromium.chrome.browser.tab.Tab;
-import org.chromium.chrome.test.ChromeTabbedActivityTestBase;
+import org.chromium.chrome.test.ChromeActivityTestRule;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
import org.chromium.chrome.test.util.ChromeRestriction;
import org.chromium.chrome.test.util.ChromeTabUtils;
import org.chromium.chrome.test.util.NewTabPageTestUtils;
import org.chromium.chrome.test.util.browser.RecyclerViewTestUtils;
import org.chromium.chrome.test.util.browser.suggestions.FakeSuggestionsSource;
import org.chromium.content.browser.test.util.TestTouchUtils;
+import org.chromium.content.browser.test.util.TouchCommon;
import org.chromium.net.test.EmbeddedTestServer;
import java.util.ArrayList;
@@ -48,8 +60,16 @@ import java.util.concurrent.TimeoutException;
/**
* Instrumentation tests for {@link NewTabPageRecyclerView}.
*/
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({
+ ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG,
+})
@RetryOnFailure
-public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
+public class NewTabPageRecyclerViewTest {
+ @Rule
+ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
+
private static final String TEST_PAGE = "/chrome/test/data/android/navigate/simple.html";
private static final String[] FAKE_MOST_VISITED_TITLES = new String[] {"Simple"};
private static final String[] FAKE_MOST_VISITED_WHITELIST_ICON_PATHS = new String[] {""};
@@ -71,9 +91,10 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
private EmbeddedTestServer mTestServer;
private FakeSuggestionsSource mSource;
- @Override
- protected void setUp() throws Exception {
- mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
+ @Before
+ public void setUp() throws Exception {
+ mTestServer = EmbeddedTestServer.createAndStartServer(
+ InstrumentationRegistry.getInstrumentation().getContext());
mSiteSuggestionUrls = new String[] {mTestServer.getURL(TEST_PAGE)};
mMostVisitedSites = new FakeMostVisitedSites();
@@ -90,28 +111,23 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
mSource.setStatusForCategory(TEST_CATEGORY, CategoryStatus.INITIALIZING);
NewTabPage.setSuggestionsSourceForTests(mSource);
- super.setUp();
+ mActivityTestRule.startMainActivityWithURL(UrlConstants.NTP_URL);
+ mTab = mActivityTestRule.getActivity().getActivityTab();
+ NewTabPageTestUtils.waitForNtpLoaded(mTab);
+
+ Assert.assertTrue(mTab.getNativePage() instanceof NewTabPage);
+ mNtp = (NewTabPage) mTab.getNativePage();
}
- @Override
- protected void tearDown() throws Exception {
+ @After
+ public void tearDown() throws Exception {
TileGroupDelegateImpl.setMostVisitedSitesForTests(null);
NewTabPage.setSuggestionsSourceForTests(null);
mTestServer.stopAndDestroyServer();
- super.tearDown();
- }
-
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityWithURL(UrlConstants.NTP_URL);
- mTab = getActivity().getActivityTab();
- NewTabPageTestUtils.waitForNtpLoaded(mTab);
-
- assertTrue(mTab.getNativePage() instanceof NewTabPage);
- mNtp = (NewTabPage) mTab.getNativePage();
}
+ @Test
@MediumTest
@Feature({"NewTabPage"})
public void testClickSuggestion() throws InterruptedException {
@@ -125,21 +141,22 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
ChromeTabUtils.waitForTabPageLoaded(mTab, new Runnable() {
@Override
public void run() {
- singleClickView(suggestionView);
+ TouchCommon.singleClickView(suggestionView);
}
});
- assertEquals(suggestion.mUrl, mTab.getUrl());
+ Assert.assertEquals(suggestion.mUrl, mTab.getUrl());
}
+ @Test
@MediumTest
@Feature({"NewTabPage"})
public void testAllDismissed() throws InterruptedException, TimeoutException {
setSuggestionsAndWaitForUpdate(3);
- assertEquals(3, mSource.getSuggestionsForCategory(TEST_CATEGORY).size());
- assertEquals(RecyclerView.NO_POSITION,
+ Assert.assertEquals(3, mSource.getSuggestionsForCategory(TEST_CATEGORY).size());
+ Assert.assertEquals(RecyclerView.NO_POSITION,
getAdapter().getFirstPositionForType(ItemViewType.ALL_DISMISSED));
- assertEquals(1, mSource.getCategories().length);
- assertEquals(TEST_CATEGORY, mSource.getCategories()[0]);
+ Assert.assertEquals(1, mSource.getCategories().length);
+ Assert.assertEquals(TEST_CATEGORY, mSource.getCategories()[0]);
// Dismiss the sign in promo.
int signinPromoPosition = getAdapter().getFirstPositionForType(ItemViewType.PROMO);
@@ -151,24 +168,25 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
if (cardPosition == RecyclerView.NO_POSITION) break;
dismissItemAtPosition(cardPosition);
}
- assertEquals(0, mSource.getCategories().length);
+ Assert.assertEquals(0, mSource.getCategories().length);
// Click the refresh button on the all dismissed item.
int allDismissedPosition = getAdapter().getFirstPositionForType(ItemViewType.ALL_DISMISSED);
- assertTrue(allDismissedPosition != RecyclerView.NO_POSITION);
+ Assert.assertTrue(allDismissedPosition != RecyclerView.NO_POSITION);
View allDismissedView = getViewHolderAtPosition(allDismissedPosition).itemView;
- singleClickView(allDismissedView.findViewById(R.id.action_button));
+ TouchCommon.singleClickView(allDismissedView.findViewById(R.id.action_button));
RecyclerViewTestUtils.waitForViewToDetach(getRecyclerView(), allDismissedView);
- assertEquals(1, mSource.getCategories().length);
- assertEquals(TEST_CATEGORY, mSource.getCategories()[0]);
+ Assert.assertEquals(1, mSource.getCategories().length);
+ Assert.assertEquals(TEST_CATEGORY, mSource.getCategories()[0]);
}
+ @Test
@MediumTest
@Feature({"NewTabPage"})
public void testDismissArticleWithContextMenu() throws InterruptedException, TimeoutException {
setSuggestionsAndWaitForUpdate(10);
List<SnippetArticle> suggestions = mSource.getSuggestionsForCategory(TEST_CATEGORY);
- assertEquals(10, suggestions.size());
+ Assert.assertEquals(10, suggestions.size());
// Scroll a suggestion into view.
int suggestionPosition = getSuggestionPosition(suggestions.get(suggestions.size() - 1));
@@ -179,9 +197,10 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
RecyclerViewTestUtils.waitForViewToDetach(getRecyclerView(), suggestionView);
suggestions = mSource.getSuggestionsForCategory(TEST_CATEGORY);
- assertEquals(9, suggestions.size());
+ Assert.assertEquals(9, suggestions.size());
}
+ @Test
@MediumTest
@Feature({"NewTabPage"})
public void testDismissStatusCardWithContextMenu()
@@ -191,7 +210,7 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
// Scroll the status card into view.
int cardPosition = getAdapter().getFirstCardPosition();
- assertEquals(ItemViewType.STATUS, getAdapter().getItemViewType(cardPosition));
+ Assert.assertEquals(ItemViewType.STATUS, getAdapter().getItemViewType(cardPosition));
View statusCardView = getViewHolderAtPosition(cardPosition).itemView;
@@ -202,6 +221,7 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
assertArrayEquals(new int[0], mSource.getCategories());
}
+ @Test
@MediumTest
@Feature({"NewTabPage"})
public void testDismissActionItemWithContextMenu()
@@ -211,7 +231,7 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
// Scroll the action item into view.
int actionItemPosition = getAdapter().getFirstCardPosition() + 1;
- assertEquals(ItemViewType.ACTION, getAdapter().getItemViewType(actionItemPosition));
+ Assert.assertEquals(ItemViewType.ACTION, getAdapter().getItemViewType(actionItemPosition));
View actionItemView = getViewHolderAtPosition(actionItemPosition).itemView;
// Dismiss the action item using the context menu.
@@ -221,6 +241,7 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
assertArrayEquals(new int[0], mSource.getCategories());
}
+ @Test
@MediumTest
@Feature({"NewTabPage"})
@Restriction({ChromeRestriction.RESTRICTION_TYPE_PHONE})
@@ -228,7 +249,8 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
public void testSnapScroll_noCondensedLayout() {
setSuggestionsAndWaitForUpdate(0);
- Resources res = getInstrumentation().getTargetContext().getResources();
+ Resources res =
+ InstrumentationRegistry.getInstrumentation().getTargetContext().getResources();
int toolbarHeight = res.getDimensionPixelSize(R.dimen.toolbar_height_no_shadow)
+ res.getDimensionPixelSize(R.dimen.toolbar_progress_bar_height);
View searchBox = getNtpView().findViewById(R.id.search_box);
@@ -238,23 +260,25 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
// Two different snapping regions with the default behavior: snapping back up to the
// watershed point in the middle, snapping forward after that.
- assertEquals(0, getSnapPosition(0));
- assertEquals(0, getSnapPosition(toolbarHeight / 2 - 1));
- assertEquals(toolbarHeight, getSnapPosition(toolbarHeight / 2));
- assertEquals(toolbarHeight, getSnapPosition(toolbarHeight));
- assertEquals(toolbarHeight + 1, getSnapPosition(toolbarHeight + 1));
+ Assert.assertEquals(0, getSnapPosition(0));
+ Assert.assertEquals(0, getSnapPosition(toolbarHeight / 2 - 1));
+ Assert.assertEquals(toolbarHeight, getSnapPosition(toolbarHeight / 2));
+ Assert.assertEquals(toolbarHeight, getSnapPosition(toolbarHeight));
+ Assert.assertEquals(toolbarHeight + 1, getSnapPosition(toolbarHeight + 1));
- assertEquals(searchBoxTop - searchBoxTransitionLength - 1,
+ Assert.assertEquals(searchBoxTop - searchBoxTransitionLength - 1,
getSnapPosition(searchBoxTop - searchBoxTransitionLength - 1));
- assertEquals(searchBoxTop - searchBoxTransitionLength,
+ Assert.assertEquals(searchBoxTop - searchBoxTransitionLength,
getSnapPosition(searchBoxTop - searchBoxTransitionLength));
- assertEquals(searchBoxTop - searchBoxTransitionLength,
+ Assert.assertEquals(searchBoxTop - searchBoxTransitionLength,
getSnapPosition(searchBoxTop - searchBoxTransitionLength / 2 - 1));
- assertEquals(searchBoxTop, getSnapPosition(searchBoxTop - searchBoxTransitionLength / 2));
- assertEquals(searchBoxTop, getSnapPosition(searchBoxTop));
- assertEquals(searchBoxTop + 1, getSnapPosition(searchBoxTop + 1));
+ Assert.assertEquals(
+ searchBoxTop, getSnapPosition(searchBoxTop - searchBoxTransitionLength / 2));
+ Assert.assertEquals(searchBoxTop, getSnapPosition(searchBoxTop));
+ Assert.assertEquals(searchBoxTop + 1, getSnapPosition(searchBoxTop + 1));
}
+ @Test
@MediumTest
@Feature({"NewTabPage"})
@Restriction({ChromeRestriction.RESTRICTION_TYPE_PHONE})
@@ -262,7 +286,8 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
public void testSnapScroll_condensedLayout() {
setSuggestionsAndWaitForUpdate(0);
- Resources res = getInstrumentation().getTargetContext().getResources();
+ Resources res =
+ InstrumentationRegistry.getInstrumentation().getTargetContext().getResources();
int toolbarHeight = res.getDimensionPixelSize(R.dimen.toolbar_height_no_shadow)
+ res.getDimensionPixelSize(R.dimen.toolbar_progress_bar_height);
View searchBox = getNtpView().findViewById(R.id.search_box);
@@ -272,22 +297,25 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
// With the condensed layout, the snapping regions overlap, so the effect is that of a
// single snapping region.
- assertEquals(0, getSnapPosition(0));
- assertEquals(0, getSnapPosition(toolbarHeight / 2 - 1));
- assertEquals(searchBoxTop, getSnapPosition(toolbarHeight / 2));
- assertEquals(searchBoxTop, getSnapPosition(searchBoxTop - searchBoxTransitionLength));
- assertEquals(searchBoxTop, getSnapPosition(toolbarHeight));
- assertEquals(searchBoxTop, getSnapPosition(searchBoxTop));
- assertEquals(searchBoxTop + 1, getSnapPosition(searchBoxTop + 1));
+ Assert.assertEquals(0, getSnapPosition(0));
+ Assert.assertEquals(0, getSnapPosition(toolbarHeight / 2 - 1));
+ Assert.assertEquals(searchBoxTop, getSnapPosition(toolbarHeight / 2));
+ Assert.assertEquals(
+ searchBoxTop, getSnapPosition(searchBoxTop - searchBoxTransitionLength));
+ Assert.assertEquals(searchBoxTop, getSnapPosition(toolbarHeight));
+ Assert.assertEquals(searchBoxTop, getSnapPosition(searchBoxTop));
+ Assert.assertEquals(searchBoxTop + 1, getSnapPosition(searchBoxTop + 1));
}
+ @Test
@MediumTest
@Feature({"NewTabPage"})
@Restriction({ChromeRestriction.RESTRICTION_TYPE_TABLET})
public void testSnapScroll_tablet() {
setSuggestionsAndWaitForUpdate(0);
- Resources res = getInstrumentation().getTargetContext().getResources();
+ Resources res =
+ InstrumentationRegistry.getInstrumentation().getTargetContext().getResources();
int toolbarHeight = res.getDimensionPixelSize(R.dimen.toolbar_height_no_shadow)
+ res.getDimensionPixelSize(R.dimen.toolbar_progress_bar_height);
View searchBox = getNtpView().findViewById(R.id.search_box);
@@ -298,22 +326,22 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
// No snapping on tablets.
// Note: This ignores snapping for the peeking cards, which is currently disabled
// by default.
- assertEquals(0, getSnapPosition(0));
- assertEquals(toolbarHeight / 2 - 1, getSnapPosition(toolbarHeight / 2 - 1));
- assertEquals(toolbarHeight / 2, getSnapPosition(toolbarHeight / 2));
- assertEquals(toolbarHeight, getSnapPosition(toolbarHeight));
- assertEquals(toolbarHeight + 1, getSnapPosition(toolbarHeight + 1));
+ Assert.assertEquals(0, getSnapPosition(0));
+ Assert.assertEquals(toolbarHeight / 2 - 1, getSnapPosition(toolbarHeight / 2 - 1));
+ Assert.assertEquals(toolbarHeight / 2, getSnapPosition(toolbarHeight / 2));
+ Assert.assertEquals(toolbarHeight, getSnapPosition(toolbarHeight));
+ Assert.assertEquals(toolbarHeight + 1, getSnapPosition(toolbarHeight + 1));
- assertEquals(searchBoxTop - searchBoxTransitionLength - 1,
+ Assert.assertEquals(searchBoxTop - searchBoxTransitionLength - 1,
getSnapPosition(searchBoxTop - searchBoxTransitionLength - 1));
- assertEquals(searchBoxTop - searchBoxTransitionLength,
+ Assert.assertEquals(searchBoxTop - searchBoxTransitionLength,
getSnapPosition(searchBoxTop - searchBoxTransitionLength));
- assertEquals(searchBoxTop - searchBoxTransitionLength / 2 - 1,
+ Assert.assertEquals(searchBoxTop - searchBoxTransitionLength / 2 - 1,
getSnapPosition(searchBoxTop - searchBoxTransitionLength / 2 - 1));
- assertEquals(searchBoxTop - searchBoxTransitionLength / 2,
+ Assert.assertEquals(searchBoxTop - searchBoxTransitionLength / 2,
getSnapPosition(searchBoxTop - searchBoxTransitionLength / 2));
- assertEquals(searchBoxTop, getSnapPosition(searchBoxTop));
- assertEquals(searchBoxTop + 1, getSnapPosition(searchBoxTop + 1));
+ Assert.assertEquals(searchBoxTop, getSnapPosition(searchBoxTop));
+ Assert.assertEquals(searchBoxTop + 1, getSnapPosition(searchBoxTop + 1));
}
private int getSnapPosition(int scrollPosition) {
@@ -355,8 +383,8 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
- recyclerView.getLinearLayoutManager().scrollToPositionWithOffset(
- position, getActivity().getResources().getDimensionPixelSize(
+ recyclerView.getLinearLayoutManager().scrollToPositionWithOffset(position,
+ mActivityTestRule.getActivity().getResources().getDimensionPixelSize(
R.dimen.tab_strip_height));
}
});
@@ -406,13 +434,13 @@ public class NewTabPageRecyclerViewTest extends ChromeTabbedActivityTestBase {
}
private void invokeContextMenu(View view, int contextMenuItemId) {
- TestTouchUtils.longClickView(getInstrumentation(), view);
- assertTrue(
- getInstrumentation().invokeContextMenuAction(getActivity(), contextMenuItemId, 0));
+ TestTouchUtils.longClickView(InstrumentationRegistry.getInstrumentation(), view);
+ Assert.assertTrue(InstrumentationRegistry.getInstrumentation().invokeContextMenuAction(
+ mActivityTestRule.getActivity(), contextMenuItemId, 0));
}
private static void assertArrayEquals(int[] expected, int[] actual) {
- assertEquals(Arrays.toString(expected), Arrays.toString(actual));
+ Assert.assertEquals(Arrays.toString(expected), Arrays.toString(actual));
}
}

Powered by Google App Engine
This is Rietveld 408576698