diff --git a/app/src/androidTest/java/org/schabi/newpipe/extractor/youtube/YoutubeChannelExtractorTest.java b/app/src/androidTest/java/org/schabi/newpipe/extractor/youtube/YoutubeChannelExtractorTest.java new file mode 100644 index 000000000..70dbe3c15 --- /dev/null +++ b/app/src/androidTest/java/org/schabi/newpipe/extractor/youtube/YoutubeChannelExtractorTest.java @@ -0,0 +1,80 @@ +package org.schabi.newpipe.extractor.youtube; + +import android.test.AndroidTestCase; + +import org.schabi.newpipe.Downloader; +import org.schabi.newpipe.extractor.ChannelExtractor; +import org.schabi.newpipe.extractor.SearchEngine; +import org.schabi.newpipe.extractor.ServiceList; + +/** + * Created by Christian Schabesberger on 12.09.16. + * + * Copyright (C) Christian Schabesberger 2015 + * YoutubeSearchEngineTest.java is part of NewPipe. + * + * NewPipe is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * NewPipe is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with NewPipe. If not, see . + */ + +public class YoutubeChannelExtractorTest extends AndroidTestCase { + + ChannelExtractor extractor; + @Override + public void setUp() throws Exception { + super.setUp(); + extractor = ServiceList.getService("Youtube") + .getChannelExtractorInstance("https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw", 0, new Downloader()); + } + + public void testGetChannelName() throws Exception { + assertEquals(extractor.getChannelName(), "Gronkh"); + } + + public void testGetAvatarUrl() throws Exception { + assertTrue(extractor.getAvatarUrl(), extractor.getAvatarUrl().contains("yt3")); + } + + public void testGetBannerurl() throws Exception { + assertTrue(extractor.getBannerUrl(), extractor.getBannerUrl().contains("yt3")); + } + + public void testGetFeedUrl() throws Exception { + assertTrue(extractor.getFeedUrl(), extractor.getFeedUrl().contains("feed")); + } + + public void testGetStreams() throws Exception { + assertTrue("no streams are received", !extractor.getStreams().getItemList().isEmpty()); + } + + public void testGetStreamsErrors() throws Exception { + assertTrue("errors during stream list extraction", extractor.getStreams().getErrors().isEmpty()); + } + + public void testHasNextPage() throws Exception { + // this particular example (link) has a next page !!! + assertTrue("no next page link found", extractor.hasNextPage()); + } + + public void testGetNextPage() throws Exception { + extractor = ServiceList.getService("Youtube") + .getChannelExtractorInstance("https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw", 1, new Downloader()); + assertTrue("next page didn't have content", !extractor.getStreams().getItemList().isEmpty()); + } + + public void testGetNextNextPageUrl() throws Exception { + extractor = ServiceList.getService("Youtube") + .getChannelExtractorInstance("https://www.youtube.com/channel/UCYJ61XIK64sp6ZFFS8sctxw", 2, new Downloader()); + assertTrue("next page didn't have content", extractor.hasNextPage()); + } +} diff --git a/app/src/androidTest/java/org/schabi/newpipe/extractor/youtube/YoutubestreamExtractorLiveStreamTest.java b/app/src/androidTest/java/org/schabi/newpipe/extractor/youtube/YoutubeStreamExtractorLiveStreamTest.java similarity index 93% rename from app/src/androidTest/java/org/schabi/newpipe/extractor/youtube/YoutubestreamExtractorLiveStreamTest.java rename to app/src/androidTest/java/org/schabi/newpipe/extractor/youtube/YoutubeStreamExtractorLiveStreamTest.java index 0394bbb27..c8d0d20ba 100644 --- a/app/src/androidTest/java/org/schabi/newpipe/extractor/youtube/YoutubestreamExtractorLiveStreamTest.java +++ b/app/src/androidTest/java/org/schabi/newpipe/extractor/youtube/YoutubeStreamExtractorLiveStreamTest.java @@ -15,7 +15,7 @@ import java.io.IOException; * Created by Christian Schabesberger on 11.03.16. * * Copyright (C) Christian Schabesberger 2016 - * YoutubestreamExtractorLiveStreamTest.java is part of NewPipe. + * YoutubeStreamExtractorLiveStreamTest.java is part of NewPipe. * * NewPipe is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,7 +32,7 @@ import java.io.IOException; */ -public class YoutubestreamExtractorLiveStreamTest extends AndroidTestCase { +public class YoutubeStreamExtractorLiveStreamTest extends AndroidTestCase { private StreamExtractor extractor; diff --git a/app/src/main/java/org/schabi/newpipe/extractor/ChannelExtractor.java b/app/src/main/java/org/schabi/newpipe/extractor/ChannelExtractor.java index d8c931d08..0f41d442e 100644 --- a/app/src/main/java/org/schabi/newpipe/extractor/ChannelExtractor.java +++ b/app/src/main/java/org/schabi/newpipe/extractor/ChannelExtractor.java @@ -28,9 +28,13 @@ public abstract class ChannelExtractor { private UrlIdHandler urlIdHandler; private Downloader downloader; private StreamPreviewInfoCollector previewInfoCollector; + private int page = -1; public ChannelExtractor(UrlIdHandler urlIdHandler, String url, int page, Downloader dl, int serviceId) throws ExtractionException, IOException { + this.url = url; + this.page = page; + this.downloader = dl; this.serviceId = serviceId; this.urlIdHandler = urlIdHandler; previewInfoCollector = new StreamPreviewInfoCollector(urlIdHandler, serviceId);