Index: chrome/android/javatests/src/org/chromium/chrome/browser/IntentHandlerTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/IntentHandlerTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/IntentHandlerTest.java |
index f3a2be11206dc0ffc2f5832fa679abea9d12d604..31f91feb576799e68123e05a46fa2d443045596c 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/IntentHandlerTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/IntentHandlerTest.java |
@@ -4,6 +4,8 @@ |
package org.chromium.chrome.browser; |
+import static org.chromium.content.browser.test.NativeLibraryTestRule.NativeLibraryInitializationOption.INIT_BROWSER_PROCESS; |
+ |
import android.content.Context; |
import android.content.Intent; |
import android.net.Uri; |
@@ -11,14 +13,23 @@ import android.os.Bundle; |
import android.os.SystemClock; |
import android.provider.Browser; |
import android.speech.RecognizerResultsIntent; |
+import android.support.test.InstrumentationRegistry; |
+import android.support.test.annotation.UiThreadTest; |
import android.support.test.filters.MediumTest; |
import android.support.test.filters.SmallTest; |
-import android.test.UiThreadTest; |
+import android.support.test.rule.UiThreadTestRule; |
+ |
+import org.junit.Assert; |
+import org.junit.Before; |
+import org.junit.Rule; |
+import org.junit.Test; |
+import org.junit.rules.RuleChain; |
+import org.junit.runner.RunWith; |
import org.chromium.base.CollectionUtil; |
-import org.chromium.base.CommandLine; |
+import org.chromium.base.test.BaseJUnit4ClassRunner; |
import org.chromium.base.test.util.Feature; |
-import org.chromium.content.browser.test.NativeLibraryTestBase; |
+import org.chromium.content.browser.test.NativeLibraryTestRule; |
import java.util.Vector; |
@@ -26,7 +37,16 @@ import java.util.Vector; |
* Tests for IntentHandler. |
* TODO(nileshagrawal): Add tests for onNewIntent. |
*/ |
-public class IntentHandlerTest extends NativeLibraryTestBase { |
+@RunWith(BaseJUnit4ClassRunner.class) |
+public class IntentHandlerTest { |
+ @Rule |
+ public RuleChain mAllRules = |
+ RuleChain.outerRule(new ChromeTestCommandLineInitRule().shouldSetUp(true)) |
+ .around(new NativeLibraryTestRule() |
+ .setInitOption(INIT_BROWSER_PROCESS) |
+ .shouldSetUp(true)) |
+ .around(new UiThreadTestRule()); |
+ |
private static final String VOICE_SEARCH_QUERY = "VOICE_QUERY"; |
private static final String VOICE_SEARCH_QUERY_URL = "http://www.google.com/?q=VOICE_QUERY"; |
@@ -83,32 +103,31 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
failedTests.add(url); |
} |
} |
- assertTrue(failedTests.toString(), failedTests.isEmpty()); |
+ Assert.assertTrue(failedTests.toString(), failedTests.isEmpty()); |
} |
- @Override |
+ @Before |
public void setUp() throws Exception { |
- super.setUp(); |
- |
- CommandLine.init(null); |
- loadNativeLibraryAndInitBrowserProcess(); |
IntentHandler.setTestIntentsEnabled(false); |
mIntentHandler = new IntentHandler(null, null); |
mIntent = new Intent(); |
} |
+ @Test |
@SmallTest |
@Feature({"Android-AppBase"}) |
public void testAcceptedUrls() { |
processUrls(ACCEPTED_INTENT_URLS, true); |
} |
+ @Test |
@SmallTest |
@Feature({"Android-AppBase"}) |
public void testRejectedUrls() { |
processUrls(REJECTED_INTENT_URLS, false); |
} |
+ @Test |
@SmallTest |
@Feature({"Android-AppBase"}) |
public void testAcceptedGoogleChromeSchemeNavigateUrls() { |
@@ -121,6 +140,7 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
processUrls(expectedAccepts, true); |
} |
+ @Test |
@SmallTest |
@Feature({"Android-AppBase"}) |
public void testRejectedGoogleChromeSchemeNavigateUrls() { |
@@ -133,6 +153,7 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
processUrls(expectedRejections, false); |
} |
+ @Test |
@SmallTest |
@Feature({"Android-AppBase"}) |
public void testRejectedGoogleChromeSchemeUrls() { |
@@ -144,17 +165,19 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
failedTests.add(url); |
} |
} |
- assertTrue(failedTests.toString(), failedTests.isEmpty()); |
+ Assert.assertTrue(failedTests.toString(), failedTests.isEmpty()); |
} |
+ @Test |
@SmallTest |
@Feature({"Android-AppBase"}) |
public void testNullUrlIntent() { |
mIntent.setData(null); |
- assertTrue( |
+ Assert.assertTrue( |
"Intent with null data should be valid", mIntentHandler.intentHasValidUrl(mIntent)); |
} |
+ @Test |
@UiThreadTest |
@MediumTest |
@Feature({"Android-AppBase"}) |
@@ -165,9 +188,10 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
intent.putStringArrayListExtra(RecognizerResultsIntent.EXTRA_VOICE_SEARCH_RESULT_URLS, |
CollectionUtil.newArrayList(VOICE_SEARCH_QUERY_URL)); |
String query = IntentHandler.getUrlFromVoiceSearchResult(intent); |
- assertEquals(VOICE_SEARCH_QUERY_URL, query); |
+ Assert.assertEquals(VOICE_SEARCH_QUERY_URL, query); |
} |
+ @Test |
@UiThreadTest |
@MediumTest |
@Feature({"Android-AppBase"}) |
@@ -178,12 +202,13 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
intent.putStringArrayListExtra(RecognizerResultsIntent.EXTRA_VOICE_SEARCH_RESULT_URLS, |
CollectionUtil.newArrayList(VOICE_URL_QUERY_URL)); |
String query = IntentHandler.getUrlFromVoiceSearchResult(intent); |
- assertTrue(String.format("Expected qualified URL: %s, to start " |
- + "with http://www.google.com", |
- query), |
+ Assert.assertTrue(String.format("Expected qualified URL: %s, to start " |
+ + "with http://www.google.com", |
+ query), |
query.indexOf("http://www.google.com") == 0); |
} |
+ @Test |
@UiThreadTest |
@SmallTest |
@Feature({"Android-AppBase"}) |
@@ -191,20 +216,21 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
// Check that EXTRA_REFERRER is not accepted with a random URL. |
Intent foreignIntent = new Intent(Intent.ACTION_VIEW); |
foreignIntent.putExtra(Intent.EXTRA_REFERRER, GOOGLE_URL); |
- assertNull(IntentHandler.getReferrerUrlIncludingExtraHeaders(foreignIntent)); |
+ Assert.assertNull(IntentHandler.getReferrerUrlIncludingExtraHeaders(foreignIntent)); |
// Check that EXTRA_REFERRER with android-app URL works. |
final String appUrl = "android-app://com.application/http/www.application.com"; |
Intent appIntent = new Intent(Intent.ACTION_VIEW); |
appIntent.putExtra(Intent.EXTRA_REFERRER, Uri.parse(appUrl)); |
- assertEquals(appUrl, IntentHandler.getReferrerUrlIncludingExtraHeaders(appIntent)); |
+ Assert.assertEquals(appUrl, IntentHandler.getReferrerUrlIncludingExtraHeaders(appIntent)); |
// Check that EXTRA_REFERRER_NAME with android-app works. |
Intent nameIntent = new Intent(Intent.ACTION_VIEW); |
nameIntent.putExtra(Intent.EXTRA_REFERRER_NAME, appUrl); |
- assertEquals(appUrl, IntentHandler.getReferrerUrlIncludingExtraHeaders(nameIntent)); |
+ Assert.assertEquals(appUrl, IntentHandler.getReferrerUrlIncludingExtraHeaders(nameIntent)); |
} |
+ @Test |
@UiThreadTest |
@SmallTest |
@Feature({"Android-AppBase"}) |
@@ -215,11 +241,12 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
bundle.putString("Referer", GOOGLE_URL); |
Intent headersIntent = new Intent(Intent.ACTION_VIEW); |
headersIntent.putExtra(Browser.EXTRA_HEADERS, bundle); |
- assertEquals("X-custom-header: X-custom-value", |
+ Assert.assertEquals("X-custom-header: X-custom-value", |
IntentHandler.getExtraHeadersFromIntent(headersIntent)); |
- assertNull(IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
+ Assert.assertNull(IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
} |
+ @Test |
@UiThreadTest |
@SmallTest |
@Feature({"Android-AppBase"}) |
@@ -231,11 +258,12 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
bundle.putString("Referer", GOOGLE_URL); |
Intent headersIntent = new Intent(Intent.ACTION_VIEW); |
headersIntent.putExtra(Browser.EXTRA_HEADERS, bundle); |
- assertEquals("X-custom-header-2: X-custom-value-2\nX-custom-header: X-custom-value", |
+ Assert.assertEquals("X-custom-header-2: X-custom-value-2\nX-custom-header: X-custom-value", |
IntentHandler.getExtraHeadersFromIntent(headersIntent)); |
- assertNull(IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
+ Assert.assertNull(IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
} |
+ @Test |
@UiThreadTest |
@SmallTest |
@Feature({"Android-AppBase"}) |
@@ -245,9 +273,10 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
bundle.putString("Referer", GOOGLE_URL); |
Intent headersIntent = new Intent(Intent.ACTION_VIEW); |
headersIntent.putExtra(Browser.EXTRA_HEADERS, bundle); |
- assertNull(IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
+ Assert.assertNull(IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
} |
+ @Test |
@UiThreadTest |
@SmallTest |
@Feature({"Android-AppBase"}) |
@@ -258,11 +287,12 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
Intent headersIntent = new Intent(Intent.ACTION_VIEW); |
headersIntent.putExtra(Browser.EXTRA_HEADERS, bundle); |
headersIntent.putExtra(Intent.EXTRA_REFERRER, Uri.parse(validReferer)); |
- assertEquals(validReferer, |
- IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
- assertNull(IntentHandler.getExtraHeadersFromIntent(headersIntent)); |
+ Assert.assertEquals( |
+ validReferer, IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
+ Assert.assertNull(IntentHandler.getExtraHeadersFromIntent(headersIntent)); |
} |
+ @Test |
@UiThreadTest |
@SmallTest |
@Feature({"Android-AppBase"}) |
@@ -272,33 +302,35 @@ public class IntentHandlerTest extends NativeLibraryTestBase { |
bundle.putString("Referer", validReferer); |
Intent headersIntent = new Intent(Intent.ACTION_VIEW); |
headersIntent.putExtra(Browser.EXTRA_HEADERS, bundle); |
- assertEquals(validReferer, |
- IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
- assertNull(IntentHandler.getExtraHeadersFromIntent(headersIntent)); |
+ Assert.assertEquals( |
+ validReferer, IntentHandler.getReferrerUrlIncludingExtraHeaders(headersIntent)); |
+ Assert.assertNull(IntentHandler.getExtraHeadersFromIntent(headersIntent)); |
} |
+ @Test |
@SmallTest |
@Feature({"Android-AppBase"}) |
public void testAddTimestampToIntent() { |
Intent intent = new Intent(); |
- assertEquals(-1, IntentHandler.getTimestampFromIntent(intent)); |
+ Assert.assertEquals(-1, IntentHandler.getTimestampFromIntent(intent)); |
// Check both before and after to make sure that the returned value is |
// really from {@link SystemClock#elapsedRealtime()}. |
long before = SystemClock.elapsedRealtime(); |
IntentHandler.addTimestampToIntent(intent); |
long after = SystemClock.elapsedRealtime(); |
- assertTrue("Time should be increasing", |
+ Assert.assertTrue("Time should be increasing", |
before <= IntentHandler.getTimestampFromIntent(intent)); |
- assertTrue("Time should be increasing", |
- IntentHandler.getTimestampFromIntent(intent) <= after); |
+ Assert.assertTrue( |
+ "Time should be increasing", IntentHandler.getTimestampFromIntent(intent) <= after); |
} |
+ @Test |
@SmallTest |
@Feature({"Android-AppBase"}) |
public void testGeneratedReferrer() { |
- Context context = getInstrumentation().getTargetContext(); |
+ Context context = InstrumentationRegistry.getInstrumentation().getTargetContext(); |
String packageName = context.getPackageName(); |
String referrer = IntentHandler.constructValidReferrerForAuthority(packageName).getUrl(); |
- assertEquals("android-app://" + packageName, referrer); |
+ Assert.assertEquals("android-app://" + packageName, referrer); |
} |
} |