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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java

Issue 2831823003: Convert ChromeActivityTestCaseBase direct children to JUnit4 (Closed)
Patch Set: rebase and convert newly added test Created 3 years, 8 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/externalnav/UrlOverridingTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java
index 39363a6e060e6e5ea4f6445bf55a4efd6f55f554..859228eefc1695ce4657121179f6515db225f1e9 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/UrlOverridingTest.java
@@ -12,23 +12,35 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.net.Uri;
import android.os.SystemClock;
+import android.support.test.InstrumentationRegistry;
import android.support.test.filters.SmallTest;
import android.text.TextUtils;
import android.util.Base64;
+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.CallbackHelper;
+import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Restriction;
import org.chromium.base.test.util.RetryOnFailure;
import org.chromium.chrome.browser.ChromeActivity;
+import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.document.ChromeLauncherActivity;
import org.chromium.chrome.browser.externalnav.ExternalNavigationHandler.OverrideUrlLoadingResult;
import org.chromium.chrome.browser.tab.EmptyTabObserver;
import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.EmptyTabModelSelectorObserver;
-import org.chromium.chrome.test.ChromeActivityTestCaseBase;
+import org.chromium.chrome.test.ChromeActivityTestRule;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.util.ChromeRestriction;
import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
+import org.chromium.content.browser.test.util.TouchCommon;
import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.net.test.EmbeddedTestServer;
import org.chromium.ui.base.PageTransition;
@@ -41,7 +53,14 @@ import java.util.concurrent.TimeoutException;
/**
* Test suite for verifying the behavior of various URL overriding actions.
*/
-public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity> {
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
+public class UrlOverridingTest {
+ @Rule
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
+ new ChromeActivityTestRule<>(ChromeActivity.class);
+
private static final String BASE_PATH = "/chrome/test/data/android/url_overriding/";
private static final String NAVIGATION_FROM_TIMEOUT_PAGE =
BASE_PATH + "navigation_from_timer.html";
@@ -102,25 +121,21 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
private ActivityMonitor mActivityMonitor;
private EmbeddedTestServer mTestServer;
- public UrlOverridingTest() {
- super(ChromeActivity.class);
- }
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
+ @Before
+ public void setUp() throws Exception {
+ mActivityTestRule.startMainActivityOnBlankPage();
IntentFilter filter = new IntentFilter(Intent.ACTION_VIEW);
filter.addCategory(Intent.CATEGORY_BROWSABLE);
filter.addDataScheme("market");
- mActivityMonitor = getInstrumentation().addMonitor(
+ mActivityMonitor = InstrumentationRegistry.getInstrumentation().addMonitor(
filter, new Instrumentation.ActivityResult(Activity.RESULT_OK, null), true);
- 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();
}
private void loadUrlAndWaitForIntentUrl(final String url, boolean needClick,
@@ -135,23 +150,24 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
final CallbackHelper failCallback = new CallbackHelper();
final CallbackHelper newTabCallback = new CallbackHelper();
- final Tab tab = getActivity().getActivityTab();
+ final Tab tab = mActivityTestRule.getActivity().getActivityTab();
final Tab[] latestTabHolder = new Tab[1];
latestTabHolder[0] = tab;
tab.addObserver(new TestTabObserver(finishCallback, failCallback));
if (expectedNewTabCount > 0) {
- getActivity().getTabModelSelector().addObserver(new EmptyTabModelSelectorObserver() {
- @Override
- public void onNewTabCreated(Tab newTab) {
- newTabCallback.notifyCalled();
- newTab.addObserver(new TestTabObserver(finishCallback, failCallback));
- latestTabHolder[0] = newTab;
- }
- });
+ mActivityTestRule.getActivity().getTabModelSelector().addObserver(
+ new EmptyTabModelSelectorObserver() {
+ @Override
+ public void onNewTabCreated(Tab newTab) {
+ newTabCallback.notifyCalled();
+ newTab.addObserver(new TestTabObserver(finishCallback, failCallback));
+ latestTabHolder[0] = newTab;
+ }
+ });
}
- getActivity().onUserInteraction();
- getInstrumentation().runOnMainSync(new Runnable() {
+ mActivityTestRule.getActivity().onUserInteraction();
+ InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
@Override
public void run() {
tab.loadUrl(new LoadUrlParams(url, PageTransition.LINK));
@@ -162,22 +178,22 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
try {
finishCallback.waitForCallback(0, 1, 20, TimeUnit.SECONDS);
} catch (TimeoutException ex) {
- fail();
+ Assert.fail();
return;
}
}
SystemClock.sleep(1);
- getActivity().onUserInteraction();
+ mActivityTestRule.getActivity().onUserInteraction();
if (needClick) {
- singleClickView(tab.getView());
+ TouchCommon.singleClickView(tab.getView());
}
if (failCallback.getCallCount() == 0) {
try {
failCallback.waitForCallback(0, 1, 20, TimeUnit.SECONDS);
} catch (TimeoutException ex) {
- fail("Haven't received navigation failure of intents.");
+ Assert.fail("Haven't received navigation failure of intents.");
return;
}
}
@@ -190,13 +206,13 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
try {
finishCallback.waitForCallback(1, 1, 20, TimeUnit.SECONDS);
} catch (TimeoutException ex) {
- fail("Fallback URL is not loaded");
+ Assert.fail("Fallback URL is not loaded");
return;
}
}
}
- assertEquals(expectedNewTabCount, newTabCallback.getCallCount());
+ Assert.assertEquals(expectedNewTabCount, newTabCallback.getCallCount());
// For sub frames, the |loadFailCallback| run through different threads
// from the ExternalNavigationHandler. As a result, there is no guarantee
// when url override result would come.
@@ -229,10 +245,11 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
return mActivityMonitor.getHits();
}
}));
- assertEquals(1 + (hasFallbackUrl ? 1 : 0), finishCallback.getCallCount());
- assertEquals(1, failCallback.getCallCount());
+ Assert.assertEquals(1 + (hasFallbackUrl ? 1 : 0), finishCallback.getCallCount());
+ Assert.assertEquals(1, failCallback.getCallCount());
}
+ @Test
@SmallTest
@RetryOnFailure
public void testNavigationFromTimer() throws InterruptedException {
@@ -240,6 +257,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
mTestServer.getURL(NAVIGATION_FROM_TIMEOUT_PAGE), false, false, true);
}
+ @Test
@SmallTest
@RetryOnFailure
public void testNavigationFromTimerInSubFrame() throws InterruptedException {
@@ -248,6 +266,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
false, false);
}
+ @Test
@SmallTest
@RetryOnFailure
public void testNavigationFromUserGesture() throws InterruptedException {
@@ -255,6 +274,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
mTestServer.getURL(NAVIGATION_FROM_USER_GESTURE_PAGE), true, true, true);
}
+ @Test
@SmallTest
public void testNavigationFromUserGestureInSubFrame() throws InterruptedException {
loadUrlAndWaitForIntentUrl(
@@ -262,6 +282,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
true, false);
}
+ @Test
@SmallTest
@RetryOnFailure
public void testNavigationFromXHRCallback() throws InterruptedException {
@@ -269,6 +290,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
mTestServer.getURL(NAVIGATION_FROM_XHR_CALLBACK_PAGE), true, true, true);
}
+ @Test
@SmallTest
@RetryOnFailure
public void testNavigationFromXHRCallbackInSubFrame() throws InterruptedException {
@@ -277,6 +299,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
true, false);
}
+ @Test
@SmallTest
@RetryOnFailure
public void testNavigationFromXHRCallbackAndShortTimeout() throws InterruptedException {
@@ -285,6 +308,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
true, true, true);
}
+ @Test
@SmallTest
@RetryOnFailure
public void testNavigationFromXHRCallbackAndLongTimeout() throws InterruptedException {
@@ -293,6 +317,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
true, false, true);
}
+ @Test
@SmallTest
@RetryOnFailure
public void testNavigationWithFallbackURL()
@@ -305,6 +330,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
loadUrlAndWaitForIntentUrl(originalUrl, true, 0, false, fallbackUrl, true);
}
+ @Test
@SmallTest
@RetryOnFailure
public void testNavigationWithFallbackURLInSubFrame()
@@ -332,6 +358,7 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
loadUrlAndWaitForIntentUrl(originalUrl, true, false, false);
}
+ @Test
@SmallTest
@Restriction(ChromeRestriction.RESTRICTION_TYPE_TABLET)
public void testOpenWindowFromUserGesture() throws InterruptedException {
@@ -339,12 +366,13 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
true, 1, true, null, true);
}
+ @Test
@SmallTest
@RetryOnFailure
public void testRedirectionFromIntent() {
Intent intent = new Intent(Intent.ACTION_VIEW,
Uri.parse(mTestServer.getURL(NAVIGATION_FROM_JAVA_REDIRECTION_PAGE)));
- Context targetContext = getInstrumentation().getTargetContext();
+ Context targetContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
intent.setClassName(targetContext, ChromeLauncherActivity.class.getName());
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
targetContext.startActivity(intent);
@@ -356,9 +384,4 @@ public class UrlOverridingTest extends ChromeActivityTestCaseBase<ChromeActivity
}
}));
}
-
- @Override
- public void startMainActivity() throws InterruptedException {
- startMainActivityOnBlankPage();
- }
}

Powered by Google App Engine
This is Rietveld 408576698