| Index: chrome/android/javatests/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateTest.java
|
| index e4ac29c69c3614c4fa267042c7af27c0739719f9..c2887ed5128322e4fdf46e0019a5f975207f3f06 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tab/InterceptNavigationDelegateTest.java
|
| @@ -4,15 +4,26 @@
|
|
|
| package org.chromium.chrome.browser.tab;
|
|
|
| +import android.support.test.InstrumentationRegistry;
|
| import android.support.test.filters.MediumTest;
|
| import android.support.test.filters.SmallTest;
|
|
|
| +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.RetryOnFailure;
|
| import org.chromium.chrome.browser.ChromeActivity;
|
| +import org.chromium.chrome.browser.ChromeSwitches;
|
| import org.chromium.chrome.browser.externalnav.ExternalNavigationHandler;
|
| import org.chromium.chrome.browser.externalnav.ExternalNavigationParams;
|
| -import org.chromium.chrome.test.ChromeActivityTestCaseBase;
|
| +import org.chromium.chrome.test.ChromeActivityTestRule;
|
| +import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
|
| import org.chromium.components.navigation_interception.NavigationParams;
|
| import org.chromium.content.browser.test.util.Criteria;
|
| import org.chromium.content.browser.test.util.CriteriaHelper;
|
| @@ -27,8 +38,15 @@ import java.util.concurrent.TimeoutException;
|
| /**
|
| * Tests for InterceptNavigationDelegate
|
| */
|
| +@RunWith(ChromeJUnit4ClassRunner.class)
|
| @RetryOnFailure
|
| -public class InterceptNavigationDelegateTest extends ChromeActivityTestCaseBase<ChromeActivity> {
|
| +@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
|
| + ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
|
| +public class InterceptNavigationDelegateTest {
|
| + @Rule
|
| + public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
|
| + new ChromeActivityTestRule<>(ChromeActivity.class);
|
| +
|
| private static final String BASE_PAGE = "/chrome/test/data/navigation_interception/";
|
| private static final String NAVIGATION_FROM_TIMEOUT_PAGE =
|
| BASE_PAGE + "navigation_from_timer.html";
|
| @@ -78,15 +96,6 @@ public class InterceptNavigationDelegateTest extends ChromeActivityTestCaseBase<
|
| }
|
| }
|
|
|
| - public InterceptNavigationDelegateTest() {
|
| - super(ChromeActivity.class);
|
| - }
|
| -
|
| - @Override
|
| - public void startMainActivity() throws InterruptedException {
|
| - startMainActivityOnBlankPage();
|
| - }
|
| -
|
| private void waitTillExpectedCallsComplete(int count, long timeout) {
|
| CriteriaHelper.pollUiThread(
|
| Criteria.equals(count, new Callable<Integer>() {
|
| @@ -97,10 +106,10 @@ public class InterceptNavigationDelegateTest extends ChromeActivityTestCaseBase<
|
| }), timeout, CriteriaHelper.DEFAULT_POLLING_INTERVAL);
|
| }
|
|
|
| - @Override
|
| - protected void setUp() throws Exception {
|
| - super.setUp();
|
| - mActivity = getActivity();
|
| + @Before
|
| + public void setUp() throws Exception {
|
| + mActivityTestRule.startMainActivityOnBlankPage();
|
| + mActivity = mActivityTestRule.getActivity();
|
| mInterceptNavigationDelegate = new TestInterceptNavigationDelegate();
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| @@ -109,95 +118,104 @@ public class InterceptNavigationDelegateTest extends ChromeActivityTestCaseBase<
|
| tab.setInterceptNavigationDelegate(mInterceptNavigationDelegate);
|
| }
|
| });
|
| - mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
|
| + mTestServer = EmbeddedTestServer.createAndStartServer(
|
| + InstrumentationRegistry.getInstrumentation().getContext());
|
| }
|
|
|
| - @Override
|
| - protected void tearDown() throws Exception {
|
| + @After
|
| + public void tearDown() throws Exception {
|
| mTestServer.stopAndDestroyServer();
|
| - super.tearDown();
|
| }
|
|
|
| + @Test
|
| @SmallTest
|
| public void testNavigationFromTimer() throws InterruptedException {
|
| - loadUrl(mTestServer.getURL(NAVIGATION_FROM_TIMEOUT_PAGE));
|
| - assertEquals(1, mNavParamHistory.size());
|
| + mActivityTestRule.loadUrl(mTestServer.getURL(NAVIGATION_FROM_TIMEOUT_PAGE));
|
| + Assert.assertEquals(1, mNavParamHistory.size());
|
|
|
| waitTillExpectedCallsComplete(2, DEFAULT_MAX_TIME_TO_WAIT_IN_MS);
|
| - assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| - assertFalse(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| + Assert.assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| + Assert.assertFalse(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| }
|
|
|
| + @Test
|
| @SmallTest
|
| public void testNavigationFromUserGesture() throws InterruptedException, TimeoutException {
|
| - loadUrl(mTestServer.getURL(NAVIGATION_FROM_USER_GESTURE_PAGE));
|
| - assertEquals(1, mNavParamHistory.size());
|
| + mActivityTestRule.loadUrl(mTestServer.getURL(NAVIGATION_FROM_USER_GESTURE_PAGE));
|
| + Assert.assertEquals(1, mNavParamHistory.size());
|
|
|
| DOMUtils.clickNode(mActivity.getActivityTab().getContentViewCore(), "first");
|
| waitTillExpectedCallsComplete(2, DEFAULT_MAX_TIME_TO_WAIT_IN_MS);
|
| - assertTrue(mNavParamHistory.get(1).hasUserGesture);
|
| - assertFalse(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| + Assert.assertTrue(mNavParamHistory.get(1).hasUserGesture);
|
| + Assert.assertFalse(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| }
|
|
|
| + @Test
|
| @SmallTest
|
| public void testNavigationFromXHRCallback() throws InterruptedException, TimeoutException {
|
| - loadUrl(mTestServer.getURL(NAVIGATION_FROM_XHR_CALLBACK_PAGE));
|
| - assertEquals(1, mNavParamHistory.size());
|
| + mActivityTestRule.loadUrl(mTestServer.getURL(NAVIGATION_FROM_XHR_CALLBACK_PAGE));
|
| + Assert.assertEquals(1, mNavParamHistory.size());
|
|
|
| DOMUtils.clickNode(mActivity.getActivityTab().getContentViewCore(), "first");
|
| waitTillExpectedCallsComplete(2, DEFAULT_MAX_TIME_TO_WAIT_IN_MS);
|
| - assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| - assertTrue(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| + Assert.assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| + Assert.assertTrue(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| }
|
|
|
| + @Test
|
| @SmallTest
|
| public void testNavigationFromXHRCallbackAndShortTimeout()
|
| throws InterruptedException, TimeoutException {
|
| - loadUrl(mTestServer.getURL(NAVIGATION_FROM_XHR_CALLBACK_AND_SHORT_TIMEOUT_PAGE));
|
| - assertEquals(1, mNavParamHistory.size());
|
| + mActivityTestRule.loadUrl(
|
| + mTestServer.getURL(NAVIGATION_FROM_XHR_CALLBACK_AND_SHORT_TIMEOUT_PAGE));
|
| + Assert.assertEquals(1, mNavParamHistory.size());
|
|
|
| DOMUtils.clickNode(mActivity.getActivityTab().getContentViewCore(), "first");
|
| waitTillExpectedCallsComplete(2, DEFAULT_MAX_TIME_TO_WAIT_IN_MS);
|
| - assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| - assertTrue(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| + Assert.assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| + Assert.assertTrue(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| }
|
|
|
| + @Test
|
| @SmallTest
|
| public void testNavigationFromXHRCallbackAndLongTimeout()
|
| throws InterruptedException, TimeoutException {
|
| - loadUrl(
|
| + mActivityTestRule.loadUrl(
|
| mTestServer.getURL(NAVIGATION_FROM_XHR_CALLBACK_AND_LONG_TIMEOUT_PAGE));
|
| - assertEquals(1, mNavParamHistory.size());
|
| + Assert.assertEquals(1, mNavParamHistory.size());
|
|
|
| DOMUtils.clickNode(mActivity.getActivityTab().getContentViewCore(), "first");
|
| waitTillExpectedCallsComplete(2, LONG_MAX_TIME_TO_WAIT_IN_MS);
|
| - assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| - assertFalse(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| + Assert.assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| + Assert.assertFalse(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| }
|
|
|
| + @Test
|
| @SmallTest
|
| public void testNavigationFromImageOnLoad() throws InterruptedException, TimeoutException {
|
| - loadUrl(mTestServer.getURL(NAVIGATION_FROM_IMAGE_ONLOAD_PAGE));
|
| - assertEquals(1, mNavParamHistory.size());
|
| + mActivityTestRule.loadUrl(mTestServer.getURL(NAVIGATION_FROM_IMAGE_ONLOAD_PAGE));
|
| + Assert.assertEquals(1, mNavParamHistory.size());
|
|
|
| DOMUtils.clickNode(mActivity.getActivityTab().getContentViewCore(), "first");
|
| waitTillExpectedCallsComplete(2, DEFAULT_MAX_TIME_TO_WAIT_IN_MS);
|
| - assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| - assertTrue(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| + Assert.assertFalse(mNavParamHistory.get(1).hasUserGesture);
|
| + Assert.assertTrue(mNavParamHistory.get(1).hasUserGestureCarryover);
|
| }
|
|
|
| + @Test
|
| @MediumTest
|
| public void testExternalAppIframeNavigation() throws InterruptedException, TimeoutException {
|
| - loadUrl(mTestServer.getURL(NAVIGATION_FROM_USER_GESTURE_IFRAME_PAGE));
|
| - assertEquals(1, mNavParamHistory.size());
|
| + mActivityTestRule.loadUrl(mTestServer.getURL(NAVIGATION_FROM_USER_GESTURE_IFRAME_PAGE));
|
| + Assert.assertEquals(1, mNavParamHistory.size());
|
|
|
| DOMUtils.clickNode(mActivity.getActivityTab().getContentViewCore(), "first");
|
| waitTillExpectedCallsComplete(3, DEFAULT_MAX_TIME_TO_WAIT_IN_MS);
|
| - assertEquals(3, mExternalNavParamHistory.size());
|
| + Assert.assertEquals(3, mExternalNavParamHistory.size());
|
|
|
| - assertTrue(mNavParamHistory.get(2).isExternalProtocol);
|
| - assertFalse(mNavParamHistory.get(2).isMainFrame);
|
| - assertTrue(mExternalNavParamHistory.get(2).getRedirectHandler().shouldStayInChrome(true));
|
| + Assert.assertTrue(mNavParamHistory.get(2).isExternalProtocol);
|
| + Assert.assertFalse(mNavParamHistory.get(2).isMainFrame);
|
| + Assert.assertTrue(
|
| + mExternalNavParamHistory.get(2).getRedirectHandler().shouldStayInChrome(true));
|
| }
|
|
|
| }
|
|
|