NewPipeExtractor/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/search/YoutubeSearchQHTest.java

77 lines
4.9 KiB
Java
Raw Normal View History

2018-08-05 14:14:36 +02:00
package org.schabi.newpipe.extractor.services.youtube.search;
2021-12-27 21:08:08 +01:00
import org.junit.jupiter.api.Test;
2018-08-05 14:14:36 +02:00
import static java.util.Arrays.asList;
2021-12-27 21:08:08 +01:00
import static org.junit.jupiter.api.Assertions.assertEquals;
2018-08-05 14:14:36 +02:00
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.CHANNELS;
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.MUSIC_SONGS;
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.PLAYLISTS;
import static org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory.VIDEOS;
2021-02-07 22:42:21 +01:00
import static org.schabi.newpipe.extractor.utils.Utils.EMPTY_STRING;
2018-08-05 14:14:36 +02:00
public class YoutubeSearchQHTest {
@Test
public void testRegularValues() throws Exception {
assertEquals("https://www.youtube.com/results?search_query=asdf", YouTube.getSearchQHFactory().fromQuery("asdf").getUrl());
assertEquals("https://www.youtube.com/results?search_query=hans", YouTube.getSearchQHFactory().fromQuery("hans").getUrl());
assertEquals("https://www.youtube.com/results?search_query=Poifj%26jaijf", YouTube.getSearchQHFactory().fromQuery("Poifj&jaijf").getUrl());
assertEquals("https://www.youtube.com/results?search_query=G%C3%BCl%C3%BCm", YouTube.getSearchQHFactory().fromQuery("Gülüm").getUrl());
assertEquals("https://www.youtube.com/results?search_query=%3Fj%24%29H%C2%A7B", YouTube.getSearchQHFactory().fromQuery("?j$)H§B").getUrl());
2020-03-20 12:23:58 +01:00
2021-02-07 22:42:21 +01:00
assertEquals("https://music.youtube.com/search?q=asdf", YouTube.getSearchQHFactory().fromQuery("asdf", asList(new String[]{MUSIC_SONGS}), EMPTY_STRING).getUrl());
assertEquals("https://music.youtube.com/search?q=hans", YouTube.getSearchQHFactory().fromQuery("hans", asList(new String[]{MUSIC_SONGS}), EMPTY_STRING).getUrl());
assertEquals("https://music.youtube.com/search?q=Poifj%26jaijf", YouTube.getSearchQHFactory().fromQuery("Poifj&jaijf", asList(new String[]{MUSIC_SONGS}), EMPTY_STRING).getUrl());
assertEquals("https://music.youtube.com/search?q=G%C3%BCl%C3%BCm", YouTube.getSearchQHFactory().fromQuery("Gülüm", asList(new String[]{MUSIC_SONGS}), EMPTY_STRING).getUrl());
assertEquals("https://music.youtube.com/search?q=%3Fj%24%29H%C2%A7B", YouTube.getSearchQHFactory().fromQuery("?j$)H§B", asList(new String[]{MUSIC_SONGS}), EMPTY_STRING).getUrl());
2018-08-05 14:14:36 +02:00
}
@Test
public void testGetContentFilter() throws Exception {
assertEquals(VIDEOS, YouTube.getSearchQHFactory()
2021-02-07 22:42:21 +01:00
.fromQuery(EMPTY_STRING, asList(new String[]{VIDEOS}), EMPTY_STRING).getContentFilters().get(0));
2018-08-05 14:14:36 +02:00
assertEquals(CHANNELS, YouTube.getSearchQHFactory()
2021-02-07 22:42:21 +01:00
.fromQuery("asdf", asList(new String[]{CHANNELS}), EMPTY_STRING).getContentFilters().get(0));
2020-03-20 12:23:58 +01:00
assertEquals(MUSIC_SONGS, YouTube.getSearchQHFactory()
2021-02-07 22:42:21 +01:00
.fromQuery("asdf", asList(new String[]{MUSIC_SONGS}), EMPTY_STRING).getContentFilters().get(0));
2018-08-05 14:14:36 +02:00
}
@Test
public void testWithContentfilter() throws Exception {
2020-02-25 10:40:06 +01:00
assertEquals("https://www.youtube.com/results?search_query=asdf&sp=EgIQAQ%253D%253D", YouTube.getSearchQHFactory()
2021-02-07 22:42:21 +01:00
.fromQuery("asdf", asList(new String[]{VIDEOS}), EMPTY_STRING).getUrl());
2020-02-25 10:40:06 +01:00
assertEquals("https://www.youtube.com/results?search_query=asdf&sp=EgIQAg%253D%253D", YouTube.getSearchQHFactory()
2021-02-07 22:42:21 +01:00
.fromQuery("asdf", asList(new String[]{CHANNELS}), EMPTY_STRING).getUrl());
2020-02-25 10:40:06 +01:00
assertEquals("https://www.youtube.com/results?search_query=asdf&sp=EgIQAw%253D%253D", YouTube.getSearchQHFactory()
2021-02-07 22:42:21 +01:00
.fromQuery("asdf", asList(new String[]{PLAYLISTS}), EMPTY_STRING).getUrl());
2020-02-25 10:40:06 +01:00
assertEquals("https://www.youtube.com/results?search_query=asdf", YouTube.getSearchQHFactory()
2021-02-07 22:42:21 +01:00
.fromQuery("asdf", asList(new String[]{"fjiijie"}), EMPTY_STRING).getUrl());
2020-03-20 12:23:58 +01:00
assertEquals("https://music.youtube.com/search?q=asdf", YouTube.getSearchQHFactory()
2021-02-07 22:42:21 +01:00
.fromQuery("asdf", asList(new String[]{MUSIC_SONGS}), EMPTY_STRING).getUrl());
2018-08-05 14:14:36 +02:00
}
@Test
public void testGetAvailableContentFilter() {
final String[] contentFilter = YouTube.getSearchQHFactory().getAvailableContentFilter();
2020-03-20 12:23:58 +01:00
assertEquals(8, contentFilter.length);
2018-08-05 14:14:36 +02:00
assertEquals("all", contentFilter[0]);
assertEquals("videos", contentFilter[1]);
assertEquals("channels", contentFilter[2]);
assertEquals("playlists", contentFilter[3]);
2020-03-20 12:23:58 +01:00
assertEquals("music_songs", contentFilter[4]);
assertEquals("music_videos", contentFilter[5]);
assertEquals("music_albums", contentFilter[6]);
assertEquals("music_playlists", contentFilter[7]);
2018-08-05 14:14:36 +02:00
}
@Test
public void testGetAvailableSortFilter() {
final String[] contentFilter = YouTube.getSearchQHFactory().getAvailableSortFilter();
assertEquals(0, contentFilter.length);
}
}