Skip to content

Commit 8dabda2

Browse files
committed
add test for YoutubeTrendingUrlIdHandler
1 parent b89f5a9 commit 8dabda2

4 files changed

Lines changed: 94 additions & 13 deletions

File tree

src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeTrendingUrlIdHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
*/
2222

2323
import org.schabi.newpipe.extractor.UrlIdHandler;
24+
import org.schabi.newpipe.extractor.utils.Parser;
2425

2526
public class YoutubeTrendingUrlIdHandler implements UrlIdHandler {
2627

@@ -40,6 +41,6 @@ public String cleanUrl(String url) {
4041

4142
@Override
4243
public boolean acceptUrl(String url) {
43-
return url.contains("feed/treinding");
44+
return Parser.isMatch("^(https://|http://|)(www.|m.|)youtube.com/feed/trending(|\\?.*)$", url);
4445
}
4546
}

src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeSuggestionExtractorTest.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,5 @@
11
package org.schabi.newpipe.extractor.services.youtube;
22

3-
import org.junit.Before;
4-
import org.junit.Test;
5-
import org.schabi.newpipe.Downloader;
6-
import org.schabi.newpipe.extractor.NewPipe;
7-
import org.schabi.newpipe.extractor.SuggestionExtractor;
8-
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
9-
10-
import java.io.IOException;
11-
12-
import static org.junit.Assert.assertFalse;
13-
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
14-
153
/*
164
* Created by Christian Schabesberger on 18.11.16.
175
*
@@ -32,6 +20,18 @@
3220
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
3321
*/
3422

23+
import org.junit.Before;
24+
import org.junit.Test;
25+
import org.schabi.newpipe.Downloader;
26+
import org.schabi.newpipe.extractor.NewPipe;
27+
import org.schabi.newpipe.extractor.SuggestionExtractor;
28+
import org.schabi.newpipe.extractor.exceptions.ExtractionException;
29+
30+
import java.io.IOException;
31+
32+
import static org.junit.Assert.assertFalse;
33+
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
34+
3535
/**
3636
* Test for {@link SuggestionExtractor}
3737
*/
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package org.schabi.newpipe.extractor.services.youtube;
2+
3+
public class YoutubeTrendingExtractorTest {
4+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package org.schabi.newpipe.extractor.services.youtube;
2+
3+
/*
4+
* Created by Christian Schabesberger on 12.08.17.
5+
*
6+
* Copyright (C) Christian Schabesberger 2017 <chris.schabesberger@mailbox.org>
7+
* YoutubeTrendingUrlIdHandlerTest.java is part of NewPipe.
8+
*
9+
* NewPipe is free software: you can redistribute it and/or modify
10+
* it under the terms of the GNU General Public License as published by
11+
* the Free Software Foundation, either version 3 of the License, or
12+
* (at your option) any later version.
13+
*
14+
* NewPipe is distributed in the hope that it will be useful,
15+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17+
* GNU General Public License for more details.
18+
*
19+
* You should have received a copy of the GNU General Public License
20+
* along with NewPipe. If not, see <http://www.gnu.org/licenses/>.
21+
*/
22+
23+
import org.junit.Before;
24+
import org.junit.Test;
25+
import org.schabi.newpipe.Downloader;
26+
import org.schabi.newpipe.extractor.NewPipe;
27+
28+
import static junit.framework.TestCase.assertFalse;
29+
import static org.junit.Assert.assertEquals;
30+
import static org.junit.Assert.assertTrue;
31+
32+
/**
33+
* Test for {@link YoutubeTrendingUrlIdHandler}
34+
*/
35+
public class YoutubeTrendingUrlIdHandlerTest {
36+
private YoutubeTrendingUrlIdHandler urlIdHandler;
37+
38+
@Before
39+
public void setUp() throws Exception {
40+
urlIdHandler = new YoutubeTrendingUrlIdHandler();
41+
NewPipe.init(Downloader.getInstance());
42+
}
43+
44+
@Test
45+
public void getUrl() {
46+
assertEquals(urlIdHandler.getUrl(""), "https://www.youtube.com/feed/trending");
47+
}
48+
49+
@Test
50+
public void getId() {
51+
assertEquals(urlIdHandler.getId(""), "Trending");
52+
}
53+
54+
@Test
55+
public void acceptUrl() {
56+
assertTrue(urlIdHandler.acceptUrl("https://www.youtube.com/feed/trending"));
57+
assertTrue(urlIdHandler.acceptUrl("https://www.youtube.com/feed/trending?adsf=fjaj#fhe"));
58+
assertTrue(urlIdHandler.acceptUrl("http://www.youtube.com/feed/trending"));
59+
assertTrue(urlIdHandler.acceptUrl("www.youtube.com/feed/trending"));
60+
assertTrue(urlIdHandler.acceptUrl("youtube.com/feed/trending"));
61+
assertTrue(urlIdHandler.acceptUrl("youtube.com/feed/trending?akdsakjf=dfije&kfj=dkjak"));
62+
assertTrue(urlIdHandler.acceptUrl("https://youtube.com/feed/trending"));
63+
assertTrue(urlIdHandler.acceptUrl("m.youtube.com/feed/trending"));
64+
65+
assertFalse(urlIdHandler.acceptUrl("https://youtu.be/feed/trending"));
66+
assertFalse(urlIdHandler.acceptUrl("kdskjfiiejfia"));
67+
assertFalse(urlIdHandler.acceptUrl("https://www.youtube.com/bullshit/feed/trending"));
68+
assertFalse(urlIdHandler.acceptUrl("https://www.youtube.com/feed/trending/bullshit"));
69+
assertFalse(urlIdHandler.acceptUrl("https://www.youtube.com/feed/bullshit/trending"));
70+
assertFalse(urlIdHandler.acceptUrl("peter klaut aepferl youtube.com/feed/trending"));
71+
assertFalse(urlIdHandler.acceptUrl("youtube.com/feed/trending askjkf"));
72+
assertFalse(urlIdHandler.acceptUrl("askdjfi youtube.com/feed/trending askjkf"));
73+
assertFalse(urlIdHandler.acceptUrl(" youtube.com/feed/trending"));
74+
assertFalse(urlIdHandler.acceptUrl(""));
75+
}
76+
}

0 commit comments

Comments
 (0)