Started fixing tests...
This commit is contained in:
parent
736366920b
commit
9da8dd8bd4
|
@ -22,7 +22,8 @@ public interface BaseStreamExtractorTest extends BaseExtractorTest {
|
|||
void testAgeLimit() throws Exception;
|
||||
void testErrorMessage() throws Exception;
|
||||
void testAudioStreams() throws Exception;
|
||||
void testVideoStreams() throws Exception;
|
||||
void testVideoOnlyStreams() throws Exception;
|
||||
void testVideoAudioStreams() throws Exception;
|
||||
void testSubtitles() throws Exception;
|
||||
void testGetDashMpdUrl() throws Exception;
|
||||
void testFrames() throws Exception;
|
||||
|
|
|
@ -15,15 +15,20 @@ import static org.schabi.newpipe.extractor.stream.StreamExtractor.UNKNOWN_SUBSCR
|
|||
import org.junit.jupiter.api.Test;
|
||||
import org.schabi.newpipe.extractor.ExtractorAsserts;
|
||||
import org.schabi.newpipe.extractor.InfoItemsCollector;
|
||||
import org.schabi.newpipe.extractor.MediaFormat;
|
||||
import org.schabi.newpipe.extractor.MetaInfo;
|
||||
import org.schabi.newpipe.extractor.localization.DateWrapper;
|
||||
import org.schabi.newpipe.extractor.stream.AudioStream;
|
||||
import org.schabi.newpipe.extractor.stream.Description;
|
||||
import org.schabi.newpipe.extractor.stream.Frameset;
|
||||
import org.schabi.newpipe.extractor.stream.Privacy;
|
||||
import org.schabi.newpipe.extractor.stream.StreamExtractor;
|
||||
import org.schabi.newpipe.extractor.stream.StreamType;
|
||||
import org.schabi.newpipe.extractor.streamdata.delivery.DASHManifestDeliveryData;
|
||||
import org.schabi.newpipe.extractor.streamdata.delivery.DeliveryData;
|
||||
import org.schabi.newpipe.extractor.streamdata.delivery.UrlBasedDeliveryData;
|
||||
import org.schabi.newpipe.extractor.streamdata.stream.AudioStream;
|
||||
import org.schabi.newpipe.extractor.streamdata.stream.SubtitleStream;
|
||||
import org.schabi.newpipe.extractor.streamdata.stream.VideoAudioStream;
|
||||
import org.schabi.newpipe.extractor.streamdata.stream.VideoStream;
|
||||
|
||||
import java.net.MalformedURLException;
|
||||
import java.net.URL;
|
||||
|
@ -42,7 +47,8 @@ import javax.annotation.Nullable;
|
|||
public abstract class DefaultStreamExtractorTest extends DefaultExtractorTest<StreamExtractor>
|
||||
implements BaseStreamExtractorTest {
|
||||
|
||||
public abstract StreamType expectedStreamType();
|
||||
public boolean expectedIsLive() { return false; }
|
||||
public boolean expectedIsAudioOnly() { return false; }
|
||||
public abstract String expectedUploaderName();
|
||||
public abstract String expectedUploaderUrl();
|
||||
public boolean expectedUploaderVerified() { return false; }
|
||||
|
@ -61,8 +67,9 @@ public abstract class DefaultStreamExtractorTest extends DefaultExtractorTest<St
|
|||
public boolean expectedHasRelatedItems() { return true; } // default: there are related videos
|
||||
public int expectedAgeLimit() { return StreamExtractor.NO_AGE_LIMIT; } // default: no limit
|
||||
@Nullable public String expectedErrorMessage() { return null; } // default: no error message
|
||||
public boolean expectedHasVideoStreams() { return true; } // default: there are video streams
|
||||
public boolean expectedHasAudioStreams() { return true; } // default: there are audio streams
|
||||
public boolean expectedHasVideoOnlyStreams() { return true; }
|
||||
public boolean expectedHasVideoAndAudioStreams() { return true; }
|
||||
public boolean expectedHasAudioStreams() { return true; }
|
||||
public boolean expectedHasSubtitles() { return true; } // default: there are subtitles streams
|
||||
@Nullable public String expectedDashMpdUrlContains() { return null; } // default: no dash mpd
|
||||
public boolean expectedHasFrames() { return true; } // default: there are frames
|
||||
|
@ -254,34 +261,39 @@ public abstract class DefaultStreamExtractorTest extends DefaultExtractorTest<St
|
|||
|
||||
@Test
|
||||
@Override
|
||||
public void testVideoStreams() throws Exception {
|
||||
final List<VideoStream> videoStreams = extractor().getVideoStreams();
|
||||
public void testVideoOnlyStreams() throws Exception {
|
||||
final List<VideoStream> videoOnlyStreams = extractor().getVideoOnlyStreams();
|
||||
assertNotNull(videoStreams);
|
||||
assertNotNull(videoOnlyStreams);
|
||||
videoStreams.addAll(videoOnlyStreams);
|
||||
|
||||
if (expectedHasVideoStreams()) {
|
||||
assertFalse(videoStreams.isEmpty());
|
||||
if (expectedHasVideoOnlyStreams()) {
|
||||
assertFalse(videoOnlyStreams.isEmpty());
|
||||
|
||||
for (final VideoStream stream : videoStreams) {
|
||||
if (stream.isUrl()) {
|
||||
assertIsSecureUrl(stream.getContent());
|
||||
}
|
||||
final StreamType streamType = extractor().getStreamType();
|
||||
// On some video streams, the resolution can be empty and the format be unknown,
|
||||
// especially on livestreams (like streams with HLS master playlists)
|
||||
if (streamType != StreamType.LIVE_STREAM
|
||||
&& streamType != StreamType.AUDIO_LIVE_STREAM) {
|
||||
assertFalse(stream.getResolution().isEmpty());
|
||||
final int formatId = stream.getFormatId();
|
||||
// see MediaFormat: video stream formats range from 0 to 0x100
|
||||
assertTrue(0 <= formatId && formatId < 0x100,
|
||||
"Format id does not fit a video stream: " + formatId);
|
||||
}
|
||||
for (final VideoStream stream : videoOnlyStreams) {
|
||||
assertNotNull(stream.mediaFormat());
|
||||
assertNotNull(stream.videoQualityData());
|
||||
checkDeliveryData(stream.deliveryData());
|
||||
}
|
||||
} else {
|
||||
assertTrue(videoStreams.isEmpty());
|
||||
assertTrue(videoOnlyStreams.isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
@Override
|
||||
public void testVideoAudioStreams() throws Exception {
|
||||
final List<VideoAudioStream> videoAudioStreams = extractor().getVideoStreams();
|
||||
assertNotNull(videoAudioStreams);
|
||||
|
||||
if (expectedHasVideoAndAudioStreams()) {
|
||||
assertFalse(videoAudioStreams.isEmpty());
|
||||
|
||||
for (final VideoAudioStream stream : videoAudioStreams) {
|
||||
assertNotNull(stream.mediaFormat());
|
||||
assertNotNull(stream.videoQualityData());
|
||||
checkDeliveryData(stream.deliveryData());
|
||||
}
|
||||
} else {
|
||||
assertTrue(videoAudioStreams.isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -295,17 +307,8 @@ public abstract class DefaultStreamExtractorTest extends DefaultExtractorTest<St
|
|||
assertFalse(audioStreams.isEmpty());
|
||||
|
||||
for (final AudioStream stream : audioStreams) {
|
||||
if (stream.isUrl()) {
|
||||
assertIsSecureUrl(stream.getContent());
|
||||
}
|
||||
|
||||
// The media format can be unknown on some audio streams
|
||||
if (stream.getFormat() != null) {
|
||||
final int formatId = stream.getFormat().id;
|
||||
// see MediaFormat: audio stream formats range from 0x100 to 0x1000
|
||||
assertTrue(0x100 <= formatId && formatId < 0x1000,
|
||||
"Format id does not fit an audio stream: " + formatId);
|
||||
}
|
||||
assertNotNull(stream.mediaFormat());
|
||||
checkDeliveryData(stream.deliveryData());
|
||||
}
|
||||
} else {
|
||||
assertTrue(audioStreams.isEmpty());
|
||||
|
@ -315,32 +318,29 @@ public abstract class DefaultStreamExtractorTest extends DefaultExtractorTest<St
|
|||
@Test
|
||||
@Override
|
||||
public void testSubtitles() throws Exception {
|
||||
final List<SubtitlesStream> subtitles = extractor().getSubtitlesDefault();
|
||||
final List<SubtitleStream> subtitles = extractor().getSubtitles();
|
||||
assertNotNull(subtitles);
|
||||
|
||||
if (expectedHasSubtitles()) {
|
||||
assertFalse(subtitles.isEmpty());
|
||||
|
||||
for (final SubtitlesStream stream : subtitles) {
|
||||
if (stream.isUrl()) {
|
||||
assertIsSecureUrl(stream.getContent());
|
||||
}
|
||||
|
||||
final int formatId = stream.getFormatId();
|
||||
// see MediaFormat: video stream formats range from 0x1000 to 0x10000
|
||||
assertTrue(0x1000 <= formatId && formatId < 0x10000,
|
||||
"Format id does not fit a subtitles stream: " + formatId);
|
||||
for (final SubtitleStream stream : subtitles) {
|
||||
assertNotNull(stream.languageCode());
|
||||
assertNotNull(stream.mediaFormat());
|
||||
checkDeliveryData(stream.deliveryData());
|
||||
}
|
||||
} else {
|
||||
assertTrue(subtitles.isEmpty());
|
||||
}
|
||||
}
|
||||
|
||||
final MediaFormat[] formats = {MediaFormat.VTT, MediaFormat.TTML, MediaFormat.SRT,
|
||||
MediaFormat.TRANSCRIPT1, MediaFormat.TRANSCRIPT2, MediaFormat.TRANSCRIPT3};
|
||||
for (final MediaFormat format : formats) {
|
||||
final List<SubtitlesStream> formatSubtitles = extractor().getSubtitles(format);
|
||||
assertNotNull(formatSubtitles);
|
||||
assertTrue(formatSubtitles.isEmpty());
|
||||
}
|
||||
private void checkDeliveryData(final DeliveryData deliveryData) {
|
||||
if (deliveryData instanceof UrlBasedDeliveryData) {
|
||||
assertIsSecureUrl(((UrlBasedDeliveryData) deliveryData).url());
|
||||
} else if (deliveryData instanceof DASHManifestDeliveryData) {
|
||||
final DASHManifestDeliveryData dashManifestDD =
|
||||
(DASHManifestDeliveryData) deliveryData;
|
||||
assertNotNull(dashManifestDD.getDashManifestCreator());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -455,6 +455,15 @@ public abstract class DefaultStreamExtractorTest extends DefaultExtractorTest<St
|
|||
assertTrue(urls.contains(expectedUrl));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsLive() throws Exception {
|
||||
assertEquals(expectedIsLive(), extractor().isLive());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testIsAudioOnly() throws Exception {
|
||||
assertEquals(expectedIsAudioOnly(), extractor().isAudioOnly());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
package org.schabi.newpipe.extractor.services.bandcamp;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertFalse;
|
||||
import static org.junit.jupiter.api.Assertions.assertThrows;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
|
||||
|
||||
import org.junit.jupiter.api.BeforeAll;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.schabi.newpipe.downloader.DownloaderTestImpl;
|
||||
|
@ -11,7 +17,6 @@ import org.schabi.newpipe.extractor.exceptions.ParsingException;
|
|||
import org.schabi.newpipe.extractor.services.DefaultStreamExtractorTest;
|
||||
import org.schabi.newpipe.extractor.services.bandcamp.extractors.BandcampRadioStreamExtractor;
|
||||
import org.schabi.newpipe.extractor.stream.StreamExtractor;
|
||||
import org.schabi.newpipe.extractor.stream.StreamType;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Calendar;
|
||||
|
@ -19,9 +24,6 @@ import java.util.Collections;
|
|||
import java.util.List;
|
||||
import java.util.TimeZone;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;
|
||||
|
||||
public class BandcampRadioStreamExtractorTest extends DefaultStreamExtractorTest {
|
||||
|
||||
private static StreamExtractor extractor;
|
||||
|
@ -47,11 +49,11 @@ public class BandcampRadioStreamExtractorTest extends DefaultStreamExtractorTest
|
|||
@Override public String expectedId() throws Exception { return "230"; }
|
||||
@Override public String expectedUrlContains() throws Exception { return URL; }
|
||||
@Override public String expectedOriginalUrlContains() throws Exception { return URL; }
|
||||
@Override public boolean expectedHasVideoStreams() { return false; }
|
||||
@Override public boolean expectedHasVideoAndAudioStreams() { return false; }
|
||||
@Override public boolean expectedHasSubtitles() { return false; }
|
||||
@Override public boolean expectedHasFrames() { return false; }
|
||||
@Override public boolean expectedHasRelatedItems() { return false; }
|
||||
@Override public StreamType expectedStreamType() { return StreamType.AUDIO_STREAM; }
|
||||
@Override public boolean expectedIsAudioOnly() { return true; }
|
||||
@Override public StreamingService expectedService() { return Bandcamp; }
|
||||
@Override public String expectedUploaderName() { return "Andrew Jervis"; }
|
||||
@Override public int expectedStreamSegmentsCount() { return 30; }
|
||||
|
@ -80,6 +82,7 @@ public class BandcampRadioStreamExtractorTest extends DefaultStreamExtractorTest
|
|||
|
||||
@Override public String expectedUploadDate() { return "16 May 2017 00:00:00 GMT"; }
|
||||
@Override public String expectedTextualUploadDate() { return "16 May 2017 00:00:00 GMT"; }
|
||||
@Override
|
||||
@Test
|
||||
public void testUploadDate() throws ParsingException {
|
||||
final Calendar expectedCalendar = Calendar.getInstance();
|
||||
|
|
|
@ -70,8 +70,8 @@ public class BandcampStreamExtractorTest extends DefaultStreamExtractorTest {
|
|||
}
|
||||
|
||||
@Override
|
||||
public StreamType expectedStreamType() {
|
||||
return StreamType.AUDIO_STREAM;
|
||||
public boolean expectedIsAudioOnly() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -120,7 +120,7 @@ public class BandcampStreamExtractorTest extends DefaultStreamExtractorTest {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean expectedHasVideoStreams() {
|
||||
public boolean expectedHasVideoAndAudioStreams() {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,6 @@ public class MediaCCCStreamExtractorTest {
|
|||
@Override public String expectedId() { return ID; }
|
||||
@Override public String expectedUrlContains() { return URL; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "gpn18"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://media.ccc.de/c/gpn18"; }
|
||||
@Override public List<String> expectedDescriptionContains() { return Arrays.asList("SSH-Sessions", "\"Terminal Multiplexer\""); }
|
||||
|
@ -76,8 +75,8 @@ public class MediaCCCStreamExtractorTest {
|
|||
|
||||
@Override
|
||||
@Test
|
||||
public void testVideoStreams() throws Exception {
|
||||
super.testVideoStreams();
|
||||
public void testVideoOnlyStreams() throws Exception {
|
||||
super.testVideoOnlyStreams();
|
||||
assertEquals(4, extractor.getVideoStreams().size());
|
||||
}
|
||||
|
||||
|
@ -115,7 +114,6 @@ public class MediaCCCStreamExtractorTest {
|
|||
}
|
||||
@Override public String expectedUrlContains() { return URL; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "36c3"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://media.ccc.de/c/36c3"; }
|
||||
@Override public List<String> expectedDescriptionContains() { return Arrays.asList("WhatsApp", "Signal"); }
|
||||
|
@ -146,8 +144,8 @@ public class MediaCCCStreamExtractorTest {
|
|||
|
||||
@Override
|
||||
@Test
|
||||
public void testVideoStreams() throws Exception {
|
||||
super.testVideoStreams();
|
||||
public void testVideoOnlyStreams() throws Exception {
|
||||
super.testVideoOnlyStreams();
|
||||
assertEquals(8, extractor.getVideoStreams().size());
|
||||
}
|
||||
|
||||
|
|
|
@ -57,7 +57,6 @@ public abstract class PeertubeStreamExtractorTest extends DefaultStreamExtractor
|
|||
@Override public String expectedUrlContains() { return INSTANCE + BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "Framasoft"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://framatube.org/accounts/framasoft@framatube.org"; }
|
||||
@Override public String expectedSubChannelName() { return "A propos de PeerTube"; }
|
||||
|
@ -118,7 +117,6 @@ public abstract class PeertubeStreamExtractorTest extends DefaultStreamExtractor
|
|||
@Override public String expectedUrlContains() { return INSTANCE + BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "Marinauts"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://tilvids.com/accounts/marinauts@tilvids.com"; }
|
||||
@Override public String expectedSubChannelName() { return "Main marinauts channel"; }
|
||||
|
@ -163,7 +161,6 @@ public abstract class PeertubeStreamExtractorTest extends DefaultStreamExtractor
|
|||
@Override public String expectedUrlContains() { return INSTANCE + BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "Résilience humaine"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://nocensoring.net/accounts/gmt@nocensoring.net"; }
|
||||
@Override public String expectedSubChannelName() { return "SYSTEM FAILURE Quel à-venir ?"; }
|
||||
|
|
|
@ -53,7 +53,7 @@ public class SoundcloudStreamExtractorTest {
|
|||
@Override public String expectedUrlContains() { return UPLOADER + "/" + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.AUDIO_STREAM; }
|
||||
@Override public boolean expectedIsAudioOnly() { return true; }
|
||||
@Override public String expectedUploaderName() { return "Jess Glynne"; }
|
||||
@Override public String expectedUploaderUrl() { return UPLOADER; }
|
||||
@Override public boolean expectedUploaderVerified() { return true; }
|
||||
|
@ -67,7 +67,7 @@ public class SoundcloudStreamExtractorTest {
|
|||
@Override public long expectedLikeCountAtLeast() { return -1; }
|
||||
@Override public long expectedDislikeCountAtLeast() { return -1; }
|
||||
@Override public boolean expectedHasAudioStreams() { return false; }
|
||||
@Override public boolean expectedHasVideoStreams() { return false; }
|
||||
@Override public boolean expectedHasVideoAndAudioStreams() { return false; }
|
||||
@Override public boolean expectedHasSubtitles() { return false; }
|
||||
@Override public boolean expectedHasFrames() { return false; }
|
||||
@Override public int expectedStreamSegmentsCount() { return 0; }
|
||||
|
@ -116,7 +116,7 @@ public class SoundcloudStreamExtractorTest {
|
|||
@Override public String expectedUrlContains() { return UPLOADER + "/" + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.AUDIO_STREAM; }
|
||||
@Override public boolean expectedIsAudioOnly() { return true; }
|
||||
@Override public String expectedUploaderName() { return "martinsolveig"; }
|
||||
@Override public String expectedUploaderUrl() { return UPLOADER; }
|
||||
@Override public boolean expectedUploaderVerified() { return true; }
|
||||
|
@ -130,7 +130,7 @@ public class SoundcloudStreamExtractorTest {
|
|||
@Override public long expectedLikeCountAtLeast() { return -1; }
|
||||
@Override public long expectedDislikeCountAtLeast() { return -1; }
|
||||
@Override public boolean expectedHasAudioStreams() { return false; }
|
||||
@Override public boolean expectedHasVideoStreams() { return false; }
|
||||
@Override public boolean expectedHasVideoAndAudioStreams() { return false; }
|
||||
@Override public boolean expectedHasRelatedItems() { return true; }
|
||||
@Override public boolean expectedHasSubtitles() { return false; }
|
||||
@Override public boolean expectedHasFrames() { return false; }
|
||||
|
@ -160,7 +160,7 @@ public class SoundcloudStreamExtractorTest {
|
|||
@Override public String expectedUrlContains() { return UPLOADER + "/" + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.AUDIO_STREAM; }
|
||||
@Override public boolean expectedIsAudioOnly() { return true; }
|
||||
@Override public String expectedUploaderName() { return "Creative Commons"; }
|
||||
@Override public String expectedUploaderUrl() { return UPLOADER; }
|
||||
@Override public List<String> expectedDescriptionContains() { return Arrays.asList("Stigmergy is a mechanism of indirect coordination",
|
||||
|
@ -172,7 +172,7 @@ public class SoundcloudStreamExtractorTest {
|
|||
@Nullable @Override public String expectedTextualUploadDate() { return "2019-03-28 13:36:18"; }
|
||||
@Override public long expectedLikeCountAtLeast() { return -1; }
|
||||
@Override public long expectedDislikeCountAtLeast() { return -1; }
|
||||
@Override public boolean expectedHasVideoStreams() { return false; }
|
||||
@Override public boolean expectedHasVideoAndAudioStreams() { return false; }
|
||||
@Override public boolean expectedHasSubtitles() { return false; }
|
||||
@Override public boolean expectedHasFrames() { return false; }
|
||||
@Override public int expectedStreamSegmentsCount() { return 0; }
|
||||
|
|
|
@ -38,7 +38,6 @@ public class YoutubeStreamExtractorAgeRestrictedTest extends DefaultStreamExtrac
|
|||
@Override public String expectedUrlContains() { return YoutubeStreamExtractorDefaultTest.BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "DAN TV"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UCcQHIVL83g5BEQe2IJFb-6w"; }
|
||||
@Override public long expectedUploaderSubscriberCountAtLeast() { return 50; }
|
||||
|
|
|
@ -42,7 +42,6 @@ public class YoutubeStreamExtractorControversialTest extends DefaultStreamExtrac
|
|||
@Override public String expectedUrlContains() { return URL; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "Amazing Atheist"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UCjNxszyFPasDdRoD9J6X-sw"; }
|
||||
@Override public long expectedUploaderSubscriberCountAtLeast() { return 900_000; }
|
||||
|
|
|
@ -134,7 +134,6 @@ public class YoutubeStreamExtractorDefaultTest {
|
|||
@Override public String expectedUrlContains() { return BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "PewDiePie"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UC-lHJZR3Gqxm24_Vd_AJ5Yw"; }
|
||||
@Override public long expectedUploaderSubscriberCountAtLeast() { return 110_000_000; }
|
||||
|
@ -177,7 +176,6 @@ public class YoutubeStreamExtractorDefaultTest {
|
|||
@Override public String expectedUrlContains() { return URL; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "Unbox Therapy"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UCsTcErHg8oDvUnTzoqsYeNw"; }
|
||||
@Override public long expectedUploaderSubscriberCountAtLeast() { return 18_000_000; }
|
||||
|
@ -230,7 +228,6 @@ public class YoutubeStreamExtractorDefaultTest {
|
|||
@Override public String expectedUrlContains() { return BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "YouTuber PrinceOfFALLEN"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UCQT2yul0lr6Ie9qNQNmw-sg"; }
|
||||
@Override public List<String> expectedDescriptionContains() { return Arrays.asList("dislikes", "Alpha", "wrong"); }
|
||||
|
@ -266,7 +263,6 @@ public class YoutubeStreamExtractorDefaultTest {
|
|||
@Override public String expectedUrlContains() { return BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "tagesschau"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UC5NOEUbkLheQcaaRldYW5GA"; }
|
||||
@Override public long expectedUploaderSubscriberCountAtLeast() { return 1_000_000; }
|
||||
|
@ -327,7 +323,6 @@ public class YoutubeStreamExtractorDefaultTest {
|
|||
@Override public String expectedUrlContains() { return BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "maiLab"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UCyHDQ5C6z1NDmJ4g6SerW8g"; }
|
||||
@Override public long expectedUploaderSubscriberCountAtLeast() { return 1_400_000; }
|
||||
|
@ -395,7 +390,6 @@ public class YoutubeStreamExtractorDefaultTest {
|
|||
@Override public String expectedUrlContains() { return BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "Dinge Erklärt – Kurzgesagt"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UCwRH985XgMYXQ6NxXDo8npw"; }
|
||||
@Override public long expectedUploaderSubscriberCountAtLeast() { return 1_500_000; }
|
||||
|
|
|
@ -45,7 +45,7 @@ public class YoutubeStreamExtractorLivestreamTest extends DefaultStreamExtractor
|
|||
@Override public String expectedUrlContains() { return YoutubeStreamExtractorDefaultTest.BASE_URL + ID; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.LIVE_STREAM; }
|
||||
@Override public boolean expectedIsLive() { return true; }
|
||||
@Override public String expectedUploaderName() { return "Lofi Girl"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UCSJ4gkVC6NrvII8umztf0Ow"; }
|
||||
@Override public long expectedUploaderSubscriberCountAtLeast() { return 9_800_000; }
|
||||
|
|
|
@ -52,7 +52,6 @@ public class YoutubeStreamExtractorRelatedMixTest extends DefaultStreamExtractor
|
|||
@Override public String expectedUrlContains() { return URL; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "NoCopyrightSounds"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UC_aEa8K-EOJ3D6gOs7HcyNg"; }
|
||||
@Override public List<String> expectedDescriptionContains() {
|
||||
|
|
|
@ -39,7 +39,6 @@ public class YoutubeStreamExtractorUnlistedTest extends DefaultStreamExtractorTe
|
|||
@Override public String expectedUrlContains() { return URL; }
|
||||
@Override public String expectedOriginalUrlContains() { return URL; }
|
||||
|
||||
@Override public StreamType expectedStreamType() { return StreamType.VIDEO_STREAM; }
|
||||
@Override public String expectedUploaderName() { return "Hooked"; }
|
||||
@Override public String expectedUploaderUrl() { return "https://www.youtube.com/channel/UCPysfiuOv4VKBeXFFPhKXyw"; }
|
||||
@Override public long expectedUploaderSubscriberCountAtLeast() { return 24_300; }
|
||||
|
|
Loading…
Reference in New Issue