Commit 33ef4184 by tonihei Committed by Toni

Publish test utils modules as release artificats.

This allows external users to easily write unit tests involving ExoPlayer
instances.

Issue:#6267
PiperOrigin-RevId: 266741790
parent a02237de
...@@ -56,6 +56,8 @@ ...@@ -56,6 +56,8 @@
[#4249](https://github.com/google/ExoPlayer/issues/4249), [#4249](https://github.com/google/ExoPlayer/issues/4249),
[#4319](https://github.com/google/ExoPlayer/issues/4319), [#4319](https://github.com/google/ExoPlayer/issues/4319),
[#4337](https://github.com/google/ExoPlayer/issues/4337)). [#4337](https://github.com/google/ExoPlayer/issues/4337)).
* Publish `testutils` module to simplify unit testing with ExoPlayer
([#6267](https://github.com/google/ExoPlayer/issues/6267)).
### 2.10.4 ### ### 2.10.4 ###
......
# ExoPlayer test utils #
Provides utility classes for ExoPlayer unit and instrumentation tests.
## Links ##
* [Javadoc][]: Classes matching `com.google.android.exoplayer2.testutil`
belong to this module.
[Javadoc]: https://exoplayer.dev/doc/reference/index.html
...@@ -49,3 +49,14 @@ dependencies { ...@@ -49,3 +49,14 @@ dependencies {
testImplementation project(modulePrefix + 'testutils') testImplementation project(modulePrefix + 'testutils')
testImplementation 'org.robolectric:robolectric:' + robolectricVersion testImplementation 'org.robolectric:robolectric:' + robolectricVersion
} }
ext {
javadocTitle = 'Test utils'
}
apply from: '../javadoc_library.gradle'
ext {
releaseArtifact = 'exoplayer-testutils'
releaseDescription = 'Test utils for ExoPlayer.'
}
apply from: '../publish.gradle'
...@@ -311,12 +311,12 @@ public final class ActionSchedule { ...@@ -311,12 +311,12 @@ public final class ActionSchedule {
/** /**
* Schedules a new source preparation action to be executed. * Schedules a new source preparation action to be executed.
* @see com.google.android.exoplayer2.ExoPlayer#prepare(MediaSource, boolean, boolean).
* *
* @see com.google.android.exoplayer2.ExoPlayer#prepare(MediaSource, boolean, boolean)
* @return The builder, for convenience. * @return The builder, for convenience.
*/ */
public Builder prepareSource(MediaSource mediaSource, boolean resetPosition, public Builder prepareSource(
boolean resetState) { MediaSource mediaSource, boolean resetPosition, boolean resetState) {
return apply(new PrepareSource(tag, mediaSource, resetPosition, resetState)); return apply(new PrepareSource(tag, mediaSource, resetPosition, resetState));
} }
......
...@@ -34,7 +34,7 @@ import java.util.List; ...@@ -34,7 +34,7 @@ import java.util.List;
/** /**
* Fake {@link MediaPeriod} that provides tracks from the given {@link TrackGroupArray}. Selecting a * Fake {@link MediaPeriod} that provides tracks from the given {@link TrackGroupArray}. Selecting a
* track will give the player a {@link ChunkSampleStream<FakeChunkSource>}. * track will give the player a {@link ChunkSampleStream}.
*/ */
public class FakeAdaptiveMediaPeriod extends FakeMediaPeriod public class FakeAdaptiveMediaPeriod extends FakeMediaPeriod
implements SequenceableLoader.Callback<ChunkSampleStream<FakeChunkSource>> { implements SequenceableLoader.Callback<ChunkSampleStream<FakeChunkSource>> {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment