Index: chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java |
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java |
index b86be3d749f11634b11f65f9eb104b44439cccdc..ab7a16ae32f91fc6099ca51c06e2cda5a2abb1f2 100644 |
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java |
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabExternalNavigationTest.java |
@@ -15,16 +15,14 @@ |
import org.chromium.chrome.browser.externalnav.ExternalNavigationParams; |
import org.chromium.chrome.browser.tab.Tab; |
import org.chromium.chrome.browser.tab.TabDelegateFactory; |
-import org.chromium.content.browser.test.util.Criteria; |
-import org.chromium.content.browser.test.util.CriteriaHelper; |
-import org.chromium.content.browser.test.util.DOMUtils; |
import org.chromium.net.test.EmbeddedTestServer; |
/** |
- * Instrumentation tests for external navigation handling of a Custom Tab. |
+ * Instrumentation test for external navigation handling of a Custom Tab. |
*/ |
@RetryOnFailure |
public class CustomTabExternalNavigationTest extends CustomTabActivityTestBase { |
+ |
/** |
* A dummy activity that claims to handle "customtab://customtabtest". |
*/ |
@@ -64,14 +62,30 @@ |
super.tearDown(); |
} |
+ @Override |
+ public void startMainActivity() throws InterruptedException { |
+ super.startMainActivity(); |
+ startCustomTabActivityWithIntent(CustomTabsTestUtils.createMinimalCustomTabIntent( |
+ getInstrumentation().getTargetContext(), mTestServer.getURL(TEST_PATH))); |
+ Tab tab = getActivity().getActivityTab(); |
+ TabDelegateFactory delegateFactory = tab.getDelegateFactory(); |
+ assertTrue(delegateFactory instanceof CustomTabDelegateFactory); |
+ CustomTabDelegateFactory customTabDelegateFactory = |
+ ((CustomTabDelegateFactory) delegateFactory); |
+ mUrlHandler = customTabDelegateFactory.getExternalNavigationHandler(); |
+ assertTrue(customTabDelegateFactory.getExternalNavigationDelegate() |
+ instanceof CustomTabNavigationDelegate); |
+ mNavigationDelegate = (CustomTabNavigationDelegate) customTabDelegateFactory |
+ .getExternalNavigationDelegate(); |
+ } |
+ |
/** |
* For urls with special schemes and hosts, and there is exactly one activity having a matching |
* intent filter, the framework will make that activity the default handler of the special url. |
* This test tests whether chrome is able to start the default external handler. |
*/ |
@SmallTest |
- public void testExternalActivityStartedForDefaultUrl() throws Exception { |
- startCustomTabActivity(mTestServer.getURL(TEST_PATH)); |
+ public void testExternalActivityStartedForDefaultUrl() { |
final String testUrl = "customtab://customtabtest/intent"; |
ExternalNavigationParams params = new ExternalNavigationParams.Builder(testUrl, false) |
.build(); |
@@ -86,8 +100,7 @@ |
* be shown, even if other activities such as {@link DummyActivityForHttp} claim to handle it. |
*/ |
@SmallTest |
- public void testIntentPickerNotShownForNormalUrl() throws Exception { |
- startCustomTabActivity(mTestServer.getURL(TEST_PATH)); |
+ public void testIntentPickerNotShownForNormalUrl() { |
final String testUrl = "http://customtabtest.com"; |
ExternalNavigationParams params = new ExternalNavigationParams.Builder(testUrl, false) |
.build(); |
@@ -96,40 +109,4 @@ |
assertFalse("External activities should not be started to handle the url", |
mNavigationDelegate.hasExternalActivityStarted()); |
} |
- |
- /** |
- * Launches a Custom Tab, clicks on an external app scheme link, and check that an external |
- * activity has been launched. |
- */ |
- @SmallTest |
- public void testExternalApplicationLink() throws Exception { |
- warmUpAndWait(); |
- startCustomTabActivity(mTestServer.getURL(TEST_PATH)); |
- |
- Tab tab = getActivity().getActivityTab(); |
- assertTrue(DOMUtils.clickNode(tab.getContentViewCore(), "customtab-external-link")); |
- |
- CriteriaHelper.pollUiThread(new Criteria("External Activity not launched.") { |
- @Override |
- public boolean isSatisfied() { |
- return mNavigationDelegate.hasExternalActivityStarted(); |
- } |
- }); |
- } |
- |
- private void startCustomTabActivity(String url) throws InterruptedException { |
- super.startMainActivity(); |
- startCustomTabActivityWithIntent(CustomTabsTestUtils.createMinimalCustomTabIntent( |
- getInstrumentation().getTargetContext(), url)); |
- Tab tab = getActivity().getActivityTab(); |
- TabDelegateFactory delegateFactory = tab.getDelegateFactory(); |
- assertTrue(delegateFactory instanceof CustomTabDelegateFactory); |
- CustomTabDelegateFactory customTabDelegateFactory = |
- ((CustomTabDelegateFactory) delegateFactory); |
- mUrlHandler = customTabDelegateFactory.getExternalNavigationHandler(); |
- assertTrue(customTabDelegateFactory.getExternalNavigationDelegate() |
- instanceof CustomTabNavigationDelegate); |
- mNavigationDelegate = (CustomTabNavigationDelegate) |
- customTabDelegateFactory.getExternalNavigationDelegate(); |
- } |
} |