Index: chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java |
index 4c24d2b31f69aae2932cb7342562f57415817fc5..3cde542bb85b92e61145d1d74145fc43c968e5ee 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/ntp/NewTabPageNavigationTest.java |
@@ -4,86 +4,101 @@ |
package org.chromium.chrome.browser.ntp; |
+import android.support.test.InstrumentationRegistry; |
import android.support.test.filters.LargeTest; |
import android.support.test.filters.MediumTest; |
+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.test.util.CommandLineFlags; |
import org.chromium.base.test.util.Feature; |
import org.chromium.base.test.util.RetryOnFailure; |
+import org.chromium.chrome.browser.ChromeSwitches; |
import org.chromium.chrome.browser.UrlConstants; |
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.net.test.EmbeddedTestServer; |
/** |
* Tests loading the NTP and navigating between it and other pages. |
*/ |
+@RunWith(ChromeJUnit4ClassRunner.class) |
+@CommandLineFlags.Add({ |
+ ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE, |
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG, |
+}) |
@RetryOnFailure |
-public class NewTabPageNavigationTest extends ChromeTabbedActivityTestBase { |
+public class NewTabPageNavigationTest { |
+ @Rule |
+ public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule(); |
private EmbeddedTestServer mTestServer; |
- @Override |
- protected void setUp() throws Exception { |
- super.setUp(); |
- mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext()); |
+ @Before |
+ public void setUp() throws Exception { |
+ mActivityTestRule.startMainActivityWithURL(null); |
+ mTestServer = EmbeddedTestServer.createAndStartServer( |
+ InstrumentationRegistry.getInstrumentation().getContext()); |
} |
- @Override |
- protected void tearDown() throws Exception { |
+ @After |
+ public void tearDown() throws Exception { |
mTestServer.stopAndDestroyServer(); |
- super.tearDown(); |
} |
/** |
* Sanity check that we do start on the NTP by default. |
*/ |
+ @Test |
@MediumTest |
@Feature({"NewTabPage", "Main"}) |
public void testNTPIsDefault() { |
- Tab tab = getActivity().getActivityTab(); |
- assertNotNull(tab); |
+ Tab tab = mActivityTestRule.getActivity().getActivityTab(); |
+ Assert.assertNotNull(tab); |
String url = tab.getUrl(); |
- assertTrue("Unexpected url: " + url, |
+ Assert.assertTrue("Unexpected url: " + url, |
url.startsWith("chrome-native://newtab/") |
- || url.startsWith("chrome-native://bookmarks/") |
- || url.startsWith("chrome-native://recent-tabs/")); |
+ || url.startsWith("chrome-native://bookmarks/") |
+ || url.startsWith("chrome-native://recent-tabs/")); |
} |
/** |
* Check that navigating away from the NTP does work. |
*/ |
+ @Test |
@LargeTest |
@Feature({"NewTabPage"}) |
public void testNavigatingFromNTP() throws InterruptedException { |
String url = mTestServer.getURL("/chrome/test/data/android/google.html"); |
- loadUrl(url); |
- assertEquals(url, getActivity().getActivityTab().getUrl()); |
+ mActivityTestRule.loadUrl(url); |
+ Assert.assertEquals(url, mActivityTestRule.getActivity().getActivityTab().getUrl()); |
} |
/** |
* Tests navigating back to the NTP after loading another page. |
*/ |
+ @Test |
@MediumTest |
@Feature({"NewTabPage"}) |
public void testNavigateBackToNTPViaUrl() throws InterruptedException { |
String url = mTestServer.getURL("/chrome/test/data/android/google.html"); |
- loadUrl(url); |
- assertEquals(url, getActivity().getActivityTab().getUrl()); |
+ mActivityTestRule.loadUrl(url); |
+ Assert.assertEquals(url, mActivityTestRule.getActivity().getActivityTab().getUrl()); |
- loadUrl(UrlConstants.NTP_URL); |
- Tab tab = getActivity().getActivityTab(); |
- assertNotNull(tab); |
+ mActivityTestRule.loadUrl(UrlConstants.NTP_URL); |
+ Tab tab = mActivityTestRule.getActivity().getActivityTab(); |
+ Assert.assertNotNull(tab); |
url = tab.getUrl(); |
- assertEquals(UrlConstants.NTP_URL, url); |
+ Assert.assertEquals(UrlConstants.NTP_URL, url); |
// Check that the NTP is actually displayed. |
- assertNotNull(tab.getNativePage() instanceof NewTabPage); |
- } |
- |
- @Override |
- public void startMainActivity() throws InterruptedException { |
- // Passing null below starts the activity on its default page, which is the NTP on a clean |
- // profile. |
- startMainActivityWithURL(null); |
+ Assert.assertNotNull(tab.getNativePage() instanceof NewTabPage); |
} |
} |