From 7aeb4768128550eb62f73e7305319f7604b2ea6e Mon Sep 17 00:00:00 2001 From: olly Date: Wed, 31 Mar 2021 10:32:54 +0100 Subject: [PATCH] Fix DefaultExtractorInputTest.largeSkip PiperOrigin-RevId: 365992439 --- .../extractor/DefaultExtractorInputTest.java | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/DefaultExtractorInputTest.java b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/DefaultExtractorInputTest.java index f404f24651..646c378eb4 100644 --- a/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/DefaultExtractorInputTest.java +++ b/library/extractor/src/test/java/com/google/android/exoplayer2/extractor/DefaultExtractorInputTest.java @@ -227,12 +227,16 @@ public class DefaultExtractorInputTest { @Test public void largeSkip() throws Exception { - DefaultExtractorInput input = createDefaultExtractorInput(); + FakeDataSource testDataSource = buildLargeDataSource(); + DefaultExtractorInput input = new DefaultExtractorInput(testDataSource, 0, C.LENGTH_UNSET); // Check that skipping the entire data source succeeds. int bytesToSkip = LARGE_TEST_DATA_LENGTH; while (bytesToSkip > 0) { - bytesToSkip -= input.skip(bytesToSkip); + int skipped = input.skip(bytesToSkip); + assertThat(skipped).isGreaterThan(0); + bytesToSkip -= skipped; } + assertThat(bytesToSkip).isEqualTo(0); } @Test @@ -612,6 +616,13 @@ public class DefaultExtractorInputTest { return testDataSource; } + private static FakeDataSource buildLargeDataSource() throws Exception { + FakeDataSource testDataSource = new FakeDataSource(); + testDataSource.getDataSet().newDefaultData().appendReadData(new byte[LARGE_TEST_DATA_LENGTH]); + testDataSource.open(new DataSpec(Uri.parse(TEST_URI))); + return testDataSource; + } + private static FakeDataSource buildFailingDataSource() throws Exception { FakeDataSource testDataSource = new FakeDataSource(); testDataSource.getDataSet().newDefaultData()