Commit daa063a0 by christosts Committed by Oliver Woodman

Migrate MediaPeriodQueueTest to LooperMode.PAUSED

PiperOrigin-RevId: 322760417
parent 2cf9d9b0
...@@ -18,9 +18,11 @@ package com.google.android.exoplayer2; ...@@ -18,9 +18,11 @@ package com.google.android.exoplayer2;
import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertThat;
import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNull;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.robolectric.annotation.LooperMode.Mode.LEGACY; import static org.robolectric.Shadows.shadowOf;
import android.net.Uri; import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
import androidx.test.ext.junit.runners.AndroidJUnit4; import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.google.android.exoplayer2.source.MediaSource.MediaPeriodId; import com.google.android.exoplayer2.source.MediaSource.MediaPeriodId;
import com.google.android.exoplayer2.source.SinglePeriodTimeline; import com.google.android.exoplayer2.source.SinglePeriodTimeline;
...@@ -34,15 +36,12 @@ import com.google.android.exoplayer2.trackselection.TrackSelection; ...@@ -34,15 +36,12 @@ import com.google.android.exoplayer2.trackselection.TrackSelection;
import com.google.android.exoplayer2.trackselection.TrackSelector; import com.google.android.exoplayer2.trackselection.TrackSelector;
import com.google.android.exoplayer2.trackselection.TrackSelectorResult; import com.google.android.exoplayer2.trackselection.TrackSelectorResult;
import com.google.android.exoplayer2.upstream.Allocator; import com.google.android.exoplayer2.upstream.Allocator;
import com.google.android.exoplayer2.util.Util;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.robolectric.annotation.LooperMode;
/** Unit tests for {@link MediaPeriodQueue}. */ /** Unit tests for {@link MediaPeriodQueue}. */
@LooperMode(LEGACY)
@RunWith(AndroidJUnit4.class) @RunWith(AndroidJUnit4.class)
public final class MediaPeriodQueueTest { public final class MediaPeriodQueueTest {
...@@ -75,13 +74,12 @@ public final class MediaPeriodQueueTest { ...@@ -75,13 +74,12 @@ public final class MediaPeriodQueueTest {
@Before @Before
public void setUp() { public void setUp() {
mediaPeriodQueue = mediaPeriodQueue =
new MediaPeriodQueue( new MediaPeriodQueue(/* analyticsCollector= */ null, new Handler(Looper.getMainLooper()));
/* analyticsCollector= */ null, Util.createHandlerForCurrentOrMainLooper());
mediaSourceList = mediaSourceList =
new MediaSourceList( new MediaSourceList(
mock(MediaSourceList.MediaSourceListInfoRefreshListener.class), mock(MediaSourceList.MediaSourceListInfoRefreshListener.class),
/* analyticsCollector= */ null, /* analyticsCollector= */ null,
Util.createHandlerForCurrentOrMainLooper()); new Handler(Looper.getMainLooper()));
rendererCapabilities = new RendererCapabilities[0]; rendererCapabilities = new RendererCapabilities[0];
trackSelector = mock(TrackSelector.class); trackSelector = mock(TrackSelector.class);
allocator = mock(Allocator.class); allocator = mock(Allocator.class);
...@@ -443,19 +441,6 @@ public final class MediaPeriodQueueTest { ...@@ -443,19 +441,6 @@ public final class MediaPeriodQueueTest {
/* positionUs= */ 0); /* positionUs= */ 0);
} }
private void updateAdPlaybackStateAndTimeline(long... adGroupTimesUs) {
adPlaybackState =
new AdPlaybackState(adGroupTimesUs).withContentDurationUs(CONTENT_DURATION_US);
updateTimeline();
}
private void updateTimeline() {
SinglePeriodAdTimeline adTimeline =
new SinglePeriodAdTimeline(CONTENT_TIMELINE, adPlaybackState);
fakeMediaSource.setNewSourceInfo(adTimeline);
playbackInfo = playbackInfo.copyWithTimeline(mediaSourceList.createTimeline());
}
private void advance() { private void advance() {
enqueueNext(); enqueueNext();
if (mediaPeriodQueue.getLoadingPeriod() != mediaPeriodQueue.getPlayingPeriod()) { if (mediaPeriodQueue.getLoadingPeriod() != mediaPeriodQueue.getPlayingPeriod()) {
...@@ -508,6 +493,21 @@ public final class MediaPeriodQueueTest { ...@@ -508,6 +493,21 @@ public final class MediaPeriodQueueTest {
updateTimeline(); updateTimeline();
} }
private void updateAdPlaybackStateAndTimeline(long... adGroupTimesUs) {
adPlaybackState =
new AdPlaybackState(adGroupTimesUs).withContentDurationUs(CONTENT_DURATION_US);
updateTimeline();
}
private void updateTimeline() {
SinglePeriodAdTimeline adTimeline =
new SinglePeriodAdTimeline(CONTENT_TIMELINE, adPlaybackState);
fakeMediaSource.setNewSourceInfo(adTimeline);
// Progress the looper so that the source info events have been executed.
shadowOf(Looper.getMainLooper()).idle();
playbackInfo = playbackInfo.copyWithTimeline(mediaSourceList.createTimeline());
}
private void assertGetNextMediaPeriodInfoReturnsContentMediaPeriod( private void assertGetNextMediaPeriodInfoReturnsContentMediaPeriod(
Object periodUid, Object periodUid,
long startPositionUs, long startPositionUs,
......
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