| Index: chrome/android/javatests/src/org/chromium/chrome/browser/SmartClipProviderTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/SmartClipProviderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/SmartClipProviderTest.java
|
| index 66b84d65b79866884ea8750ad4b9b22b3d015595..74e29521707db24c641f53e2c5fcac1b6dc7e33a 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/SmartClipProviderTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/SmartClipProviderTest.java
|
| @@ -17,20 +17,11 @@
|
| import android.view.View;
|
| import android.view.ViewGroup;
|
|
|
| -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.CallbackHelper;
|
| -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.test.ChromeActivityTestRule;
|
| -import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
|
| +import org.chromium.chrome.test.ChromeActivityTestCaseBase;
|
|
|
| import java.lang.reflect.Method;
|
| import java.util.concurrent.TimeoutException;
|
| @@ -38,18 +29,11 @@
|
| /**
|
| * Tests for the SmartClipProvider.
|
| */
|
| -@RunWith(ChromeJUnit4ClassRunner.class)
|
| -@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE,
|
| - ChromeActivityTestRule.DISABLE_NETWORK_PREDICTION_FLAG})
|
| -public class SmartClipProviderTest implements Handler.Callback {
|
| +public class SmartClipProviderTest
|
| + extends ChromeActivityTestCaseBase<ChromeActivity> implements Handler.Callback {
|
| // This is a key for meta-data in the package manifest. It should NOT
|
| // change, as OEMs will use it when they look for the SmartClipProvider
|
| // interface.
|
| -
|
| - @Rule
|
| - public ChromeActivityTestRule<ChromeActivity> mActivityTestRule =
|
| - new ChromeActivityTestRule<>(ChromeActivity.class);
|
| -
|
| private static final String SMART_CLIP_PROVIDER_KEY =
|
| "org.chromium.content.browser.SMART_CLIP_PROVIDER";
|
|
|
| @@ -98,17 +82,26 @@
|
| private Method mSetSmartClipResultHandlerMethod;
|
| private Method mExtractSmartClipDataMethod;
|
|
|
| - @Before
|
| + public SmartClipProviderTest() {
|
| + super(ChromeActivity.class);
|
| + }
|
| +
|
| + @Override
|
| + public void startMainActivity() throws InterruptedException {
|
| + startMainActivityOnBlankPage();
|
| + }
|
| +
|
| + @Override
|
| public void setUp() throws Exception {
|
| - mActivityTestRule.startMainActivityOnBlankPage();
|
| - mActivity = mActivityTestRule.getActivity();
|
| + super.setUp();
|
| + mActivity = getActivity();
|
| mCallbackHelper = new MyCallbackHelper();
|
| mHandlerThread = new HandlerThread("ContentViewTest thread");
|
| mHandlerThread.start();
|
| mHandler = new Handler(mHandlerThread.getLooper(), this);
|
|
|
| mSmartClipProviderClass = getSmartClipProviderClass();
|
| - Assert.assertNotNull(mSmartClipProviderClass);
|
| + assertNotNull(mSmartClipProviderClass);
|
| mSetSmartClipResultHandlerMethod = mSmartClipProviderClass.getDeclaredMethod(
|
| "setSmartClipResultHandler", new Class[] { Handler.class });
|
| mExtractSmartClipDataMethod = mSmartClipProviderClass.getDeclaredMethod(
|
| @@ -116,13 +109,17 @@
|
| new Class[] { Integer.TYPE, Integer.TYPE, Integer.TYPE, Integer.TYPE });
|
| }
|
|
|
| - @After
|
| @TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR2)
|
| + @Override
|
| public void tearDown() throws Exception {
|
| - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
|
| - mHandlerThread.quitSafely();
|
| - } else {
|
| - mHandlerThread.quit();
|
| + try {
|
| + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) {
|
| + mHandlerThread.quitSafely();
|
| + } else {
|
| + mHandlerThread.quit();
|
| + }
|
| + } finally {
|
| + super.tearDown();
|
| }
|
| }
|
|
|
| @@ -130,7 +127,7 @@
|
| @Override
|
| public boolean handleMessage(Message msg) {
|
| Bundle bundle = msg.getData();
|
| - Assert.assertNotNull(bundle);
|
| + assertNotNull(bundle);
|
| String url = bundle.getString("url");
|
| String title = bundle.getString("title");
|
| String text = bundle.getString("text");
|
| @@ -147,7 +144,7 @@
|
| mActivity.getPackageName(), PackageManager.GET_META_DATA);
|
| Bundle bundle = ai.metaData;
|
| String className = bundle.getString(SMART_CLIP_PROVIDER_KEY);
|
| - Assert.assertNotNull(className);
|
| + assertNotNull(className);
|
| return Class.forName(className);
|
| }
|
|
|
| @@ -167,7 +164,6 @@
|
| return null;
|
| }
|
|
|
| - @Test
|
| @MediumTest
|
| @Feature({"SmartClip"})
|
| @RetryOnFailure
|
| @@ -179,32 +175,31 @@
|
| // This emulates what OEM will be doing when they want to call
|
| // functions on SmartClipProvider through view hierarchy.
|
|
|
| - Object scp = findSmartClipProvider(
|
| - mActivityTestRule.getActivity().findViewById(android.R.id.content));
|
| - Assert.assertNotNull(scp);
|
| + Object scp =
|
| + findSmartClipProvider(getActivity().findViewById(android.R.id.content));
|
| + assertNotNull(scp);
|
| try {
|
| mSetSmartClipResultHandlerMethod.invoke(scp, mHandler);
|
| mExtractSmartClipDataMethod.invoke(
|
| scp, rect.left, rect.top, rect.width(), rect.height());
|
| } catch (Exception e) {
|
| e.printStackTrace();
|
| - Assert.fail();
|
| + fail();
|
| }
|
| }
|
| });
|
| mCallbackHelper.waitForCallback(0, 1); // call count: 0 --> 1
|
| - Assert.assertEquals("about:blank", mCallbackHelper.getTitle());
|
| - Assert.assertEquals("about:blank", mCallbackHelper.getUrl());
|
| - Assert.assertNotNull(mCallbackHelper.getText());
|
| - Assert.assertNotNull(mCallbackHelper.getHtml());
|
| - Assert.assertNotNull(mCallbackHelper.getRect());
|
| - Assert.assertEquals(rect.left, mCallbackHelper.getRect().left);
|
| - Assert.assertEquals(rect.top, mCallbackHelper.getRect().top);
|
| - Assert.assertEquals(rect.width(), mCallbackHelper.getRect().width());
|
| - Assert.assertEquals(rect.height(), mCallbackHelper.getRect().height());
|
| - }
|
| -
|
| - @Test
|
| + assertEquals("about:blank", mCallbackHelper.getTitle());
|
| + assertEquals("about:blank", mCallbackHelper.getUrl());
|
| + assertNotNull(mCallbackHelper.getText());
|
| + assertNotNull(mCallbackHelper.getHtml());
|
| + assertNotNull(mCallbackHelper.getRect());
|
| + assertEquals(rect.left, mCallbackHelper.getRect().left);
|
| + assertEquals(rect.top, mCallbackHelper.getRect().top);
|
| + assertEquals(rect.width(), mCallbackHelper.getRect().width());
|
| + assertEquals(rect.height(), mCallbackHelper.getRect().height());
|
| + }
|
| +
|
| @MediumTest
|
| @Feature({"SmartClip"})
|
| @RetryOnFailure
|
| @@ -212,9 +207,9 @@
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| - Object scp = findSmartClipProvider(
|
| - mActivityTestRule.getActivity().findViewById(android.R.id.content));
|
| - Assert.assertNotNull(scp);
|
| + Object scp =
|
| + findSmartClipProvider(getActivity().findViewById(android.R.id.content));
|
| + assertNotNull(scp);
|
| try {
|
| // Galaxy Note 4 has a bug where it doesn't always set the handler first; in
|
| // that case, we shouldn't crash: http://crbug.com/710147
|
| @@ -226,7 +221,7 @@
|
| mExtractSmartClipDataMethod.invoke(scp, 10, 20, 100, 70);
|
| } catch (Exception e) {
|
| e.printStackTrace();
|
| - Assert.fail();
|
| + fail();
|
| }
|
| }
|
| });
|
|
|