| 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);
|
| }
|
| }
|
|
|