mirror of
https://github.com/androidx/media.git
synced 2025-05-07 07:30:22 +08:00
Move MockitoUtils to testutils and use it for all Mockito set-ups.
In particular this allows to have the workaround for https://code.google.com/p/dexmaker/issues/detail?id=2 in one place only. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=176340526
This commit is contained in:
parent
82d0a27fd9
commit
3f6b4d18a9
@ -40,6 +40,7 @@ dependencies {
|
||||
compile files('libs/cronet_impl_common_java.jar')
|
||||
compile files('libs/cronet_impl_native_java.jar')
|
||||
androidTestCompile project(modulePrefix + 'library')
|
||||
androidTestCompile project(modulePrefix + 'testutils')
|
||||
androidTestCompile 'com.google.dexmaker:dexmaker:' + dexmakerVersion
|
||||
androidTestCompile 'com.google.dexmaker:dexmaker-mockito:' + dexmakerVersion
|
||||
androidTestCompile 'org.mockito:mockito-core:' + mockitoVersion
|
||||
|
@ -19,10 +19,10 @@ import static org.junit.Assert.assertArrayEquals;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.MockitoAnnotations.initMocks;
|
||||
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||
import java.io.IOException;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
@ -46,9 +46,7 @@ public final class ByteArrayUploadDataProviderTest {
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
System.setProperty("dexmaker.dexcache",
|
||||
InstrumentationRegistry.getTargetContext().getCacheDir().getPath());
|
||||
initMocks(this);
|
||||
MockitoUtil.setUpMockito(InstrumentationRegistry.getTargetContext(), this);
|
||||
byteBuffer = ByteBuffer.allocate(TEST_DATA.length);
|
||||
byteArrayUploadDataProvider = new ByteArrayUploadDataProvider(TEST_DATA);
|
||||
}
|
||||
|
@ -31,13 +31,13 @@ import static org.mockito.Mockito.spy;
|
||||
import static org.mockito.Mockito.times;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
import static org.mockito.MockitoAnnotations.initMocks;
|
||||
|
||||
import android.net.Uri;
|
||||
import android.os.ConditionVariable;
|
||||
import android.support.test.InstrumentationRegistry;
|
||||
import android.support.test.runner.AndroidJUnit4;
|
||||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||
import com.google.android.exoplayer2.upstream.DataSpec;
|
||||
import com.google.android.exoplayer2.upstream.HttpDataSource;
|
||||
import com.google.android.exoplayer2.upstream.HttpDataSource.HttpDataSourceException;
|
||||
@ -107,9 +107,7 @@ public final class CronetDataSourceTest {
|
||||
|
||||
@Before
|
||||
public void setUp() throws Exception {
|
||||
System.setProperty("dexmaker.dexcache",
|
||||
InstrumentationRegistry.getTargetContext().getCacheDir().getPath());
|
||||
initMocks(this);
|
||||
MockitoUtil.setUpMockito(InstrumentationRegistry.getTargetContext(), this);
|
||||
dataSourceUnderTest = spy(
|
||||
new CronetDataSource(
|
||||
mockCronetEngine,
|
||||
|
@ -23,9 +23,9 @@ import android.test.MoreAsserts;
|
||||
import android.util.Pair;
|
||||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.drm.DrmInitData.SchemeData;
|
||||
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||
import java.util.HashMap;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
/**
|
||||
* Tests {@link OfflineLicenseHelper}.
|
||||
@ -38,7 +38,7 @@ public class OfflineLicenseHelperTest extends InstrumentationTestCase {
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
setUpMockito(this);
|
||||
MockitoUtil.setUpMockito(this);
|
||||
when(mediaDrm.openSession()).thenReturn(new byte[] {1, 2, 3});
|
||||
offlineLicenseHelper = new OfflineLicenseHelper<>(C.WIDEVINE_UUID, mediaDrm, mediaDrmCallback,
|
||||
null);
|
||||
@ -156,14 +156,4 @@ public class OfflineLicenseHelperTest extends InstrumentationTestCase {
|
||||
new byte[] {1, 4, 7, 0, 3, 6}));
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up Mockito for an instrumentation test.
|
||||
*/
|
||||
private static void setUpMockito(InstrumentationTestCase instrumentationTestCase) {
|
||||
// Workaround for https://code.google.com/p/dexmaker/issues/detail?id=2.
|
||||
System.setProperty("dexmaker.dexcache",
|
||||
instrumentationTestCase.getInstrumentation().getTargetContext().getCacheDir().getPath());
|
||||
MockitoAnnotations.initMocks(instrumentationTestCase);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -17,11 +17,11 @@ package com.google.android.exoplayer2.upstream.cache;
|
||||
|
||||
import android.test.InstrumentationTestCase;
|
||||
import com.google.android.exoplayer2.extractor.ChunkIndex;
|
||||
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||
import com.google.android.exoplayer2.util.Util;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
/**
|
||||
* Tests for {@link CachedRegionTracker}.
|
||||
@ -46,7 +46,7 @@ public final class CachedRegionTrackerTest extends InstrumentationTestCase {
|
||||
|
||||
@Override
|
||||
protected void setUp() throws Exception {
|
||||
setUpMockito(this);
|
||||
MockitoUtil.setUpMockito(this);
|
||||
|
||||
tracker = new CachedRegionTracker(cache, CACHE_KEY, CHUNK_INDEX);
|
||||
cacheDir = Util.createTempDirectory(getInstrumentation().getContext(), "ExoPlayerTest");
|
||||
@ -123,14 +123,4 @@ public final class CachedRegionTrackerTest extends InstrumentationTestCase {
|
||||
return SimpleCacheSpanTest.createCacheSpan(index, cacheDir, CACHE_KEY, position, length, 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up Mockito for an instrumentation test.
|
||||
*/
|
||||
private static void setUpMockito(InstrumentationTestCase instrumentationTestCase) {
|
||||
// Workaround for https://code.google.com/p/dexmaker/issues/detail?id=2.
|
||||
System.setProperty("dexmaker.dexcache",
|
||||
instrumentationTestCase.getInstrumentation().getTargetContext().getCacheDir().getPath());
|
||||
MockitoAnnotations.initMocks(instrumentationTestCase);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -27,12 +27,12 @@ import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.offline.DownloadException;
|
||||
import com.google.android.exoplayer2.offline.Downloader.ProgressListener;
|
||||
import com.google.android.exoplayer2.offline.DownloaderConstructorHelper;
|
||||
import com.google.android.exoplayer2.source.dash.MockitoUtil;
|
||||
import com.google.android.exoplayer2.source.dash.manifest.DashManifest;
|
||||
import com.google.android.exoplayer2.source.dash.manifest.RepresentationKey;
|
||||
import com.google.android.exoplayer2.testutil.FakeDataSet;
|
||||
import com.google.android.exoplayer2.testutil.FakeDataSource;
|
||||
import com.google.android.exoplayer2.testutil.FakeDataSource.Factory;
|
||||
import com.google.android.exoplayer2.testutil.MockitoUtil;
|
||||
import com.google.android.exoplayer2.testutil.TestUtil;
|
||||
import com.google.android.exoplayer2.upstream.DataSpec;
|
||||
import com.google.android.exoplayer2.upstream.cache.NoOpCacheEvictor;
|
||||
|
@ -13,8 +13,9 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package com.google.android.exoplayer2.source.dash;
|
||||
package com.google.android.exoplayer2.testutil;
|
||||
|
||||
import android.content.Context;
|
||||
import android.test.InstrumentationTestCase;
|
||||
import org.mockito.MockitoAnnotations;
|
||||
|
||||
@ -25,6 +26,8 @@ public final class MockitoUtil {
|
||||
|
||||
/**
|
||||
* Sets up Mockito for an instrumentation test.
|
||||
*
|
||||
* @param instrumentationTestCase The instrumentation test case class.
|
||||
*/
|
||||
public static void setUpMockito(InstrumentationTestCase instrumentationTestCase) {
|
||||
// Workaround for https://code.google.com/p/dexmaker/issues/detail?id=2.
|
||||
@ -33,6 +36,19 @@ public final class MockitoUtil {
|
||||
MockitoAnnotations.initMocks(instrumentationTestCase);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up Mockito for a JUnit4 test.
|
||||
*
|
||||
* @param targetContext The target context. Usually obtained from
|
||||
* {@code InstrumentationRegistry.getTargetContext()}
|
||||
* @param testClass The JUnit4 test class.
|
||||
*/
|
||||
public static void setUpMockito(Context targetContext, Object testClass) {
|
||||
// Workaround for https://code.google.com/p/dexmaker/issues/detail?id=2.
|
||||
System.setProperty("dexmaker.dexcache", targetContext.getCacheDir().getPath());
|
||||
MockitoAnnotations.initMocks(testClass);
|
||||
}
|
||||
|
||||
private MockitoUtil() {}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user