| Index: chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ContextMenuLoadUrlParamsTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ContextMenuLoadUrlParamsTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ContextMenuLoadUrlParamsTest.java
|
| index 34a13469d337c91010627345f914199438c05b94..73c627b6adda3cd9288e8d38db6cf4d94cb3752a 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ContextMenuLoadUrlParamsTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/tabmodel/ContextMenuLoadUrlParamsTest.java
|
| @@ -5,17 +5,29 @@
|
| package org.chromium.chrome.browser.tabmodel;
|
|
|
| import android.app.Activity;
|
| +import android.support.test.InstrumentationRegistry;
|
| import android.support.test.filters.MediumTest;
|
|
|
| +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.ThreadUtils;
|
| +import org.chromium.base.test.util.CommandLineFlags;
|
| import org.chromium.base.test.util.Feature;
|
| import org.chromium.base.test.util.RetryOnFailure;
|
| import org.chromium.chrome.R;
|
| +import org.chromium.chrome.browser.ChromeSwitches;
|
| import org.chromium.chrome.browser.firstrun.FirstRunStatus;
|
| import org.chromium.chrome.browser.tab.Tab;
|
| import org.chromium.chrome.browser.tabmodel.TabModel.TabLaunchType;
|
| import org.chromium.chrome.browser.tabmodel.TabWindowManager.TabModelSelectorFactory;
|
| -import org.chromium.chrome.test.ChromeTabbedActivityTestBase;
|
| +import org.chromium.chrome.test.ChromeActivityTestRule;
|
| +import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
|
| +import org.chromium.chrome.test.ChromeTabbedActivityTestRule;
|
| import org.chromium.chrome.test.util.browser.contextmenu.ContextMenuUtils;
|
| import org.chromium.content_public.browser.LoadUrlParams;
|
| import org.chromium.net.test.EmbeddedTestServer;
|
| @@ -26,8 +38,16 @@ import java.util.regex.Pattern;
|
| /**
|
| * Verifies URL load parameters set when triggering navigations from the context menu.
|
| */
|
| +@RunWith(ChromeJUnit4ClassRunner.class)
|
| +@CommandLineFlags.Add({
|
| + ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
|
| + ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG,
|
| +})
|
| @RetryOnFailure
|
| -public class ContextMenuLoadUrlParamsTest extends ChromeTabbedActivityTestBase {
|
| +public class ContextMenuLoadUrlParamsTest {
|
| + @Rule
|
| + public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
|
| +
|
| private static final String HTML_PATH =
|
| "/chrome/test/data/android/contextmenu/context_menu_test.html";
|
| private static final Pattern SCHEME_SEPARATOR_RE = Pattern.compile("://");
|
| @@ -54,8 +74,8 @@ public class ContextMenuLoadUrlParamsTest extends ChromeTabbedActivityTestBase {
|
| }
|
| }
|
|
|
| - @Override
|
| - protected void setUp() throws Exception {
|
| + @Before
|
| + public void setUp() throws Exception {
|
| // Plant RecordingTabModelSelector as the TabModelSelector used in Main. The factory has to
|
| // be set before super.setUp(), as super.setUp() creates Main and consequently the
|
| // TabModelSelector.
|
| @@ -74,7 +94,7 @@ public class ContextMenuLoadUrlParamsTest extends ChromeTabbedActivityTestBase {
|
| });
|
| }
|
| });
|
| - super.setUp();
|
| + mActivityTestRule.startMainActivityOnBlankPage();
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| @@ -82,11 +102,12 @@ public class ContextMenuLoadUrlParamsTest extends ChromeTabbedActivityTestBase {
|
| }
|
| });
|
|
|
| - mTestServer = EmbeddedTestServer.createAndStartServer(getInstrumentation().getContext());
|
| + mTestServer = EmbeddedTestServer.createAndStartServer(
|
| + InstrumentationRegistry.getInstrumentation().getContext());
|
| }
|
|
|
| - @Override
|
| - protected void tearDown() throws Exception {
|
| + @After
|
| + public void tearDown() throws Exception {
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| @@ -94,65 +115,60 @@ public class ContextMenuLoadUrlParamsTest extends ChromeTabbedActivityTestBase {
|
| }
|
| });
|
| mTestServer.stopAndDestroyServer();
|
| - super.tearDown();
|
| }
|
|
|
| /**
|
| * Verifies that the referrer is correctly set for "Open in new tab".
|
| */
|
| + @Test
|
| @MediumTest
|
| @Feature({"Browser"})
|
| - public void testOpenInNewTabReferrer()
|
| - throws InterruptedException, TimeoutException {
|
| + public void testOpenInNewTabReferrer() throws InterruptedException, TimeoutException {
|
| triggerContextMenuLoad(mTestServer.getURL(HTML_PATH), "testLink",
|
| R.id.contextmenu_open_in_new_tab);
|
|
|
| - assertNotNull(mOpenNewTabLoadUrlParams);
|
| - assertEquals(mTestServer.getURL(HTML_PATH),
|
| - mOpenNewTabLoadUrlParams.getReferrer().getUrl());
|
| + Assert.assertNotNull(mOpenNewTabLoadUrlParams);
|
| + Assert.assertEquals(
|
| + mTestServer.getURL(HTML_PATH), mOpenNewTabLoadUrlParams.getReferrer().getUrl());
|
| }
|
|
|
| /**
|
| * Verifies that the referrer is not set for "Open in new incognito tab".
|
| */
|
| + @Test
|
| @MediumTest
|
| @Feature({"Browser"})
|
| - public void testOpenInIncognitoTabNoReferrer()
|
| - throws InterruptedException, TimeoutException {
|
| + public void testOpenInIncognitoTabNoReferrer() throws InterruptedException, TimeoutException {
|
| triggerContextMenuLoad(mTestServer.getURL(HTML_PATH), "testLink",
|
| R.id.contextmenu_open_in_incognito_tab);
|
|
|
| - assertNotNull(mOpenNewTabLoadUrlParams);
|
| - assertNull(mOpenNewTabLoadUrlParams.getReferrer());
|
| + Assert.assertNotNull(mOpenNewTabLoadUrlParams);
|
| + Assert.assertNull(mOpenNewTabLoadUrlParams.getReferrer());
|
| }
|
|
|
| /**
|
| * Verifies that the referrer is stripped from username and password fields.
|
| */
|
| + @Test
|
| @MediumTest
|
| @Feature({"Browser"})
|
| - public void testOpenInNewTabSanitizeReferrer()
|
| - throws InterruptedException, TimeoutException {
|
| + public void testOpenInNewTabSanitizeReferrer() throws InterruptedException, TimeoutException {
|
| String testUrl = mTestServer.getURL(HTML_PATH);
|
| String[] schemeAndUrl = SCHEME_SEPARATOR_RE.split(testUrl, 2);
|
| - assertEquals(2, schemeAndUrl.length);
|
| + Assert.assertEquals(2, schemeAndUrl.length);
|
| String testUrlUserPass = schemeAndUrl[0] + "://user:pass@" + schemeAndUrl[1];
|
| triggerContextMenuLoad(testUrlUserPass, "testLink", R.id.contextmenu_open_in_new_tab);
|
| - assertNotNull(mOpenNewTabLoadUrlParams);
|
| - assertEquals(testUrl, mOpenNewTabLoadUrlParams.getReferrer().getUrl());
|
| + Assert.assertNotNull(mOpenNewTabLoadUrlParams);
|
| + Assert.assertEquals(testUrl, mOpenNewTabLoadUrlParams.getReferrer().getUrl());
|
| }
|
|
|
| private void triggerContextMenuLoad(String url, String openerDomId, int menuItemId)
|
| throws InterruptedException, TimeoutException {
|
| - loadUrl(url);
|
| - assertWaitForPageScaleFactorMatch(0.5f);
|
| - Tab tab = getActivity().getActivityTab();
|
| - ContextMenuUtils.selectContextMenuItem(this, tab, openerDomId, menuItemId);
|
| - getInstrumentation().waitForIdleSync();
|
| - }
|
| -
|
| - @Override
|
| - public void startMainActivity() throws InterruptedException {
|
| - startMainActivityOnBlankPage();
|
| + mActivityTestRule.loadUrl(url);
|
| + mActivityTestRule.assertWaitForPageScaleFactorMatch(0.5f);
|
| + Tab tab = mActivityTestRule.getActivity().getActivityTab();
|
| + ContextMenuUtils.selectContextMenuItem(InstrumentationRegistry.getInstrumentation(),
|
| + mActivityTestRule.getActivity(), tab, openerDomId, menuItemId);
|
| + InstrumentationRegistry.getInstrumentation().waitForIdleSync();
|
| }
|
| }
|
|
|