Index: chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImplTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImplTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImplTest.java |
index a9094d86a18b1cd08a9f22b7c17a35b96618f365..eb51fff92e6342c515108f844acfc8f782fba650 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImplTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/externalnav/ExternalNavigationDelegateImplTest.java |
@@ -9,9 +9,18 @@ import android.content.pm.ActivityInfo; |
import android.content.pm.ResolveInfo; |
import android.support.test.filters.SmallTest; |
+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.chrome.browser.ChromeActivity; |
+import org.chromium.chrome.browser.ChromeSwitches; |
import org.chromium.chrome.browser.instantapps.InstantAppsHandler; |
-import org.chromium.chrome.test.ChromeActivityTestCaseBase; |
+import org.chromium.chrome.test.ChromeActivityTestRule; |
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner; |
import java.util.ArrayList; |
import java.util.Arrays; |
@@ -20,34 +29,43 @@ import java.util.List; |
/** |
* Instrumentation tests for {@link ExternalNavigationHandler}. |
*/ |
-public class ExternalNavigationDelegateImplTest extends ChromeActivityTestCaseBase<ChromeActivity> { |
- |
- public ExternalNavigationDelegateImplTest() { |
- super(ChromeActivity.class); |
- } |
+@RunWith(ChromeJUnit4ClassRunner.class) |
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE, |
+ ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG}) |
+public class ExternalNavigationDelegateImplTest { |
+ @Rule |
+ public ChromeActivityTestRule<ChromeActivity> mActivityTestRule = |
+ new ChromeActivityTestRule<>(ChromeActivity.class); |
private static List<ResolveInfo> makeResolveInfos(ResolveInfo... infos) { |
return Arrays.asList(infos); |
} |
+ @Test |
@SmallTest |
public void testIsPackageSpecializedHandler_NoResolveInfo() { |
String packageName = ""; |
List<ResolveInfo> resolveInfos = new ArrayList<ResolveInfo>(); |
- assertEquals(0, ExternalNavigationDelegateImpl.getSpecializedHandlersWithFilter( |
- resolveInfos, packageName).size()); |
+ Assert.assertEquals(0, |
+ ExternalNavigationDelegateImpl |
+ .getSpecializedHandlersWithFilter(resolveInfos, packageName) |
+ .size()); |
} |
+ @Test |
@SmallTest |
public void testIsPackageSpecializedHandler_NoPathOrAuthority() { |
String packageName = ""; |
ResolveInfo info = new ResolveInfo(); |
info.filter = new IntentFilter(); |
List<ResolveInfo> resolveInfos = makeResolveInfos(info); |
- assertEquals(0, ExternalNavigationDelegateImpl.getSpecializedHandlersWithFilter( |
- resolveInfos, packageName).size()); |
+ Assert.assertEquals(0, |
+ ExternalNavigationDelegateImpl |
+ .getSpecializedHandlersWithFilter(resolveInfos, packageName) |
+ .size()); |
} |
+ @Test |
@SmallTest |
public void testIsPackageSpecializedHandler_WithPath() { |
String packageName = ""; |
@@ -55,10 +73,13 @@ public class ExternalNavigationDelegateImplTest extends ChromeActivityTestCaseBa |
info.filter = new IntentFilter(); |
info.filter.addDataPath("somepath", 2); |
List<ResolveInfo> resolveInfos = makeResolveInfos(info); |
- assertEquals(1, ExternalNavigationDelegateImpl.getSpecializedHandlersWithFilter( |
- resolveInfos, packageName).size()); |
+ Assert.assertEquals(1, |
+ ExternalNavigationDelegateImpl |
+ .getSpecializedHandlersWithFilter(resolveInfos, packageName) |
+ .size()); |
} |
+ @Test |
@SmallTest |
public void testIsPackageSpecializedHandler_WithAuthority() { |
String packageName = ""; |
@@ -66,10 +87,13 @@ public class ExternalNavigationDelegateImplTest extends ChromeActivityTestCaseBa |
info.filter = new IntentFilter(); |
info.filter.addDataAuthority("http://www.google.com", "80"); |
List<ResolveInfo> resolveInfos = makeResolveInfos(info); |
- assertEquals(1, ExternalNavigationDelegateImpl.getSpecializedHandlersWithFilter( |
- resolveInfos, packageName).size()); |
+ Assert.assertEquals(1, |
+ ExternalNavigationDelegateImpl |
+ .getSpecializedHandlersWithFilter(resolveInfos, packageName) |
+ .size()); |
} |
+ @Test |
@SmallTest |
public void testIsPackageSpecializedHandler_WithTargetPackage_Matching() { |
String packageName = "com.android.chrome"; |
@@ -79,10 +103,13 @@ public class ExternalNavigationDelegateImplTest extends ChromeActivityTestCaseBa |
info.activityInfo = new ActivityInfo(); |
info.activityInfo.packageName = packageName; |
List<ResolveInfo> resolveInfos = makeResolveInfos(info); |
- assertEquals(1, ExternalNavigationDelegateImpl.getSpecializedHandlersWithFilter( |
- resolveInfos, packageName).size()); |
+ Assert.assertEquals(1, |
+ ExternalNavigationDelegateImpl |
+ .getSpecializedHandlersWithFilter(resolveInfos, packageName) |
+ .size()); |
} |
+ @Test |
@SmallTest |
public void testIsPackageSpecializedHandler_WithTargetPackage_NotMatching() { |
String packageName = "com.android.chrome"; |
@@ -92,10 +119,13 @@ public class ExternalNavigationDelegateImplTest extends ChromeActivityTestCaseBa |
info.activityInfo = new ActivityInfo(); |
info.activityInfo.packageName = "com.foo.bar"; |
List<ResolveInfo> resolveInfos = makeResolveInfos(info); |
- assertEquals(0, ExternalNavigationDelegateImpl.getSpecializedHandlersWithFilter( |
- resolveInfos, packageName).size()); |
+ Assert.assertEquals(0, |
+ ExternalNavigationDelegateImpl |
+ .getSpecializedHandlersWithFilter(resolveInfos, packageName) |
+ .size()); |
} |
+ @Test |
@SmallTest |
public void testIsPackageSpecializeHandler_withEphemeralResolver() { |
String packageName = ""; |
@@ -107,28 +137,31 @@ public class ExternalNavigationDelegateImplTest extends ChromeActivityTestCaseBa |
info.activityInfo.packageName = "com.google.android.gms"; |
List<ResolveInfo> resolveInfos = makeResolveInfos(info); |
// Ephemeral resolver is not counted as a specialized handler. |
- assertEquals(0, ExternalNavigationDelegateImpl.getSpecializedHandlersWithFilter( |
- resolveInfos, packageName).size()); |
+ Assert.assertEquals(0, |
+ ExternalNavigationDelegateImpl |
+ .getSpecializedHandlersWithFilter(resolveInfos, packageName) |
+ .size()); |
} |
+ @Test |
@SmallTest |
public void testIsDownload_noSystemDownloadManager() throws Exception { |
ExternalNavigationDelegateImpl delegate = new ExternalNavigationDelegateImpl( |
- getActivity().getActivityTab()); |
- assertTrue("pdf should be a download, no viewer in Android Chrome", |
+ mActivityTestRule.getActivity().getActivityTab()); |
+ Assert.assertTrue("pdf should be a download, no viewer in Android Chrome", |
delegate.isPdfDownload("http://somesampeleurldne.com/file.pdf")); |
- assertFalse("URL is not a file, but web page", |
+ Assert.assertFalse("URL is not a file, but web page", |
delegate.isPdfDownload("http://somesampleurldne.com/index.html")); |
- assertFalse("URL is not a file url", |
+ Assert.assertFalse("URL is not a file url", |
delegate.isPdfDownload("http://somesampeleurldne.com/not.a.real.extension")); |
- assertFalse("URL is an image, can be viewed in Chrome", |
+ Assert.assertFalse("URL is an image, can be viewed in Chrome", |
delegate.isPdfDownload("http://somesampleurldne.com/image.jpg")); |
- assertFalse("URL is a text file can be viewed in Chrome", |
+ Assert.assertFalse("URL is a text file can be viewed in Chrome", |
delegate.isPdfDownload("http://somesampleurldne.com/copy.txt")); |
} |
- @Override |
- public void startMainActivity() throws InterruptedException { |
- startMainActivityOnBlankPage(); |
+ @Before |
+ public void setUp() throws InterruptedException { |
+ mActivityTestRule.startMainActivityOnBlankPage(); |
} |
} |