| Index: base/android/javatests/src/org/chromium/base/ApiCompatibilityUtilsTest.java
|
| diff --git a/base/android/javatests/src/org/chromium/base/ApiCompatibilityUtilsTest.java b/base/android/javatests/src/org/chromium/base/ApiCompatibilityUtilsTest.java
|
| index e44f7e21f064e61ce44be1089161fbe9968177d3..de0858a58a4ab6bd032f21294b03b61794298d92 100644
|
| --- a/base/android/javatests/src/org/chromium/base/ApiCompatibilityUtilsTest.java
|
| +++ b/base/android/javatests/src/org/chromium/base/ApiCompatibilityUtilsTest.java
|
| @@ -1,4 +1,4 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| +// Copyright 2017 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -8,13 +8,20 @@ import android.annotation.TargetApi;
|
| import android.app.Activity;
|
| import android.os.Build;
|
| import android.os.SystemClock;
|
| +import android.support.test.InstrumentationRegistry;
|
| import android.support.test.filters.SmallTest;
|
| -import android.test.InstrumentationTestCase;
|
| +
|
| +import org.junit.Assert;
|
| +import org.junit.Test;
|
| +import org.junit.runner.RunWith;
|
| +
|
| +import org.chromium.base.test.BaseJUnit4ClassRunner;
|
|
|
| /**
|
| * Test of ApiCompatibilityUtils
|
| */
|
| -public class ApiCompatibilityUtilsTest extends InstrumentationTestCase {
|
| +@RunWith(BaseJUnit4ClassRunner.class)
|
| +public class ApiCompatibilityUtilsTest {
|
| private static final long WAIT_TIMEOUT_IN_MS = 5000;
|
| private static final long SLEEP_INTERVAL_IN_MS = 50;
|
|
|
| @@ -42,30 +49,40 @@ public class ApiCompatibilityUtilsTest extends InstrumentationTestCase {
|
| }
|
| }
|
|
|
| + @Test
|
| @SmallTest
|
| - public void testFinishAndRemoveTask() throws InterruptedException {
|
| - MockActivity activity = new MockActivity();
|
| - ApiCompatibilityUtils.finishAndRemoveTask(activity);
|
| + public void testFinishAndRemoveTask() {
|
| + InstrumentationRegistry.getInstrumentation().runOnMainSync(new Runnable() {
|
| + @Override
|
| + public void run() {
|
| + MockActivity activity = new MockActivity();
|
| + ApiCompatibilityUtils.finishAndRemoveTask(activity);
|
|
|
| - if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
|
| - assertEquals(1, activity.mFinishAndRemoveTaskCallbackCount);
|
| - assertEquals(0, activity.mFinishCallbackCount);
|
| - } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
|
| - long startTime = SystemClock.uptimeMillis();
|
| - while (activity.mFinishCallbackCount == 0
|
| - && SystemClock.uptimeMillis() - startTime < WAIT_TIMEOUT_IN_MS) {
|
| - Thread.sleep(SLEEP_INTERVAL_IN_MS);
|
| - }
|
| + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
|
| + Assert.assertEquals(1, activity.mFinishAndRemoveTaskCallbackCount);
|
| + Assert.assertEquals(0, activity.mFinishCallbackCount);
|
| + } else if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP) {
|
| + long startTime = SystemClock.uptimeMillis();
|
| + while (activity.mFinishCallbackCount == 0
|
| + && SystemClock.uptimeMillis() - startTime < WAIT_TIMEOUT_IN_MS) {
|
| + try {
|
| + Thread.sleep(SLEEP_INTERVAL_IN_MS);
|
| + } catch (InterruptedException e) {
|
| + throw new RuntimeException("Interrupted thread sleep", e);
|
| + }
|
| + }
|
|
|
| - // MockActivity#finishAndRemoveTask() never sets isFinishing() to true for LOLLIPOP to
|
| - // simulate an exceptional case. In that case, MockActivity#finish() should be called
|
| - // after 3 tries.
|
| - assertEquals(3, activity.mFinishAndRemoveTaskCallbackCount);
|
| - assertEquals(1, activity.mFinishCallbackCount);
|
| - } else {
|
| - assertEquals(0, activity.mFinishAndRemoveTaskCallbackCount);
|
| - assertEquals(1, activity.mFinishCallbackCount);
|
| - }
|
| - assertTrue(activity.mIsFinishing);
|
| + // MockActivity#finishAndRemoveTask() never sets isFinishing() to true for
|
| + // LOLLIPOP to simulate an exceptional case. In that case, MockActivity#finish()
|
| + // should be called after 3 tries.
|
| + Assert.assertEquals(3, activity.mFinishAndRemoveTaskCallbackCount);
|
| + Assert.assertEquals(1, activity.mFinishCallbackCount);
|
| + } else {
|
| + Assert.assertEquals(0, activity.mFinishAndRemoveTaskCallbackCount);
|
| + Assert.assertEquals(1, activity.mFinishCallbackCount);
|
| + }
|
| + Assert.assertTrue(activity.mIsFinishing);
|
| + }
|
| + });
|
| }
|
| }
|
|
|