22
33import org .junit .jupiter .api .BeforeAll ;
44import org .junit .jupiter .api .Test ;
5+ import org .junit .jupiter .params .ParameterizedTest ;
6+ import org .junit .jupiter .params .provider .CsvSource ;
7+ import org .junit .jupiter .params .provider .ValueSource ;
58import org .schabi .newpipe .downloader .DownloaderTestImpl ;
69import org .schabi .newpipe .extractor .NewPipe ;
710import org .schabi .newpipe .extractor .exceptions .ParsingException ;
@@ -26,84 +29,102 @@ void getIdWithNullAsUrl() {
2629 assertThrows (NullPointerException .class , () -> linkHandler .fromId (null ));
2730 }
2831
29- @ Test
30- void getIdfromYt () throws Exception {
31- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
32- assertEquals ("PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" , linkHandler .fromUrl ("https://www.youtube.com/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ).getId ());
33- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ).getId ());
34- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://WWW.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ).getId ());
35- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("HTTPS://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ).getId ());
36- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://www.youtube.com/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
37- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("http://www.youtube.com/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
38- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://m.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
39- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
40- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
41- assertEquals ("PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" , linkHandler .fromUrl ("www.youtube.com/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ).getId ());
42- assertEquals ("OLAK5uy_lEBUW9iTwqf0IlYPxZ8LrzpgqjAHZgZpM" , linkHandler .fromUrl ("https://music.youtube.com/playlist?list=OLAK5uy_lEBUW9iTwqf0IlYPxZ8LrzpgqjAHZgZpM" ).getId ());
32+ @ ParameterizedTest
33+ @ CsvSource ({
34+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
35+ "PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV,https://www.youtube.com/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
36+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ,
37+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://WWW.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ,
38+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,HTTPS://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ,
39+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://www.youtube.com/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
40+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,http://www.youtube.com/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
41+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://m.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
42+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
43+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
44+ "PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV,www.youtube.com/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
45+ "OLAK5uy_lEBUW9iTwqf0IlYPxZ8LrzpgqjAHZgZpM,https://music.youtube.com/playlist?list=OLAK5uy_lEBUW9iTwqf0IlYPxZ8LrzpgqjAHZgZpM"
46+ })
47+ void getIdfromYt (final String expectedId , final String url ) throws ParsingException {
48+ assertEquals (expectedId , linkHandler .fromUrl (url ).getId ());
4349 }
4450
45- @ Test
46- void testAcceptYtUrl () throws ParsingException {
47- assertTrue (linkHandler .acceptUrl ("https://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
48- assertTrue (linkHandler .acceptUrl ("https://www.youtube.com/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
49- assertTrue (linkHandler .acceptUrl ("https://WWW.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dCI" ));
50- assertTrue (linkHandler .acceptUrl ("HTTPS://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
51- assertTrue (linkHandler .acceptUrl ("https://www.youtube.com/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
52- assertTrue (linkHandler .acceptUrl ("http://www.youtube.com/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
53- assertTrue (linkHandler .acceptUrl ("https://m.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
54- assertTrue (linkHandler .acceptUrl ("https://youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
55- assertTrue (linkHandler .acceptUrl ("www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
56- assertTrue (linkHandler .acceptUrl ("www.youtube.com/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
57- assertTrue (linkHandler .acceptUrl ("https://music.youtube.com/playlist?list=OLAK5uy_lEBUW9iTwqf0IlYPxZ8LrzpgqjAHZgZpM" ));
58- assertTrue (linkHandler .acceptUrl ("https://www.youtube.com/playlist?list=RDCLAK5uy_ly6s4irLuZAcjEDwJmqcA_UtSipMyGgbQ" )); // YouTube Music playlist
59- assertTrue (linkHandler .acceptUrl ("https://www.youtube.com/watch?v=2kZVEUGLgy4&list=RDdoEcQv1wlsI&index=2, " )); // YouTube Mix
51+ @ ParameterizedTest
52+ @ ValueSource (strings = {
53+ "https://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
54+ "https://www.youtube.com/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
55+ "https://WWW.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dCI" ,
56+ "HTTPS://www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
57+ "https://www.youtube.com/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
58+ "http://www.youtube.com/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
59+ "https://m.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
60+ "https://youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
61+ "www.youtube.com/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
62+ "www.youtube.com/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
63+ "https://music.youtube.com/playlist?list=OLAK5uy_lEBUW9iTwqf0IlYPxZ8LrzpgqjAHZgZpM" ,
64+ "https://www.youtube.com/playlist?list=RDCLAK5uy_ly6s4irLuZAcjEDwJmqcA_UtSipMyGgbQ" , // YouTube Music playlist
65+ "https://www.youtube.com/watch?v=2kZVEUGLgy4&list=RDdoEcQv1wlsI&index=2, " // YouTube Mix
66+ })
67+ void acceptYtUrl (final String url ) throws ParsingException {
68+ assertTrue (linkHandler .acceptUrl (url ));
6069 }
6170
62- @ Test
63- void testDeniesInvalidYtUrl () throws ParsingException {
64- assertFalse (linkHandler .acceptUrl ("https://www.youtube.com/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
65- assertFalse (linkHandler .acceptUrl ("https://www.youtube.com/feed/subscriptions?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
66- assertFalse (linkHandler .acceptUrl ("ftp://www.youtube.com/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
67- assertFalse (linkHandler .acceptUrl ("www.youtube.com:22/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
68- assertFalse (linkHandler .acceptUrl ("youtube . com/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
69- assertFalse (linkHandler .acceptUrl ("?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
71+ @ ParameterizedTest
72+ @ ValueSource (strings = {
73+ "https://www.youtube.com/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
74+ "https://www.youtube.com/feed/subscriptions?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
75+ "ftp://www.youtube.com/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
76+ "www.youtube.com:22/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
77+ "youtube . com/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
78+ "?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV"
79+ })
80+ void deniesInvalidYtUrl (final String url ) throws ParsingException {
81+ assertFalse (linkHandler .acceptUrl (url ));
7082 }
7183
72- @ Test
73- void testAcceptInvidioUrl () throws ParsingException {
74- assertTrue (linkHandler .acceptUrl ("https://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
75- assertTrue (linkHandler .acceptUrl ("https://www.invidio.us/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
76- assertTrue (linkHandler .acceptUrl ("https://WWW.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dCI" ));
77- assertTrue (linkHandler .acceptUrl ("HTTPS://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
78- assertTrue (linkHandler .acceptUrl ("https://www.invidio.us/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
79- assertTrue (linkHandler .acceptUrl ("http://www.invidio.us/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
80- assertTrue (linkHandler .acceptUrl ("https://invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
81- assertTrue (linkHandler .acceptUrl ("www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ));
82- assertTrue (linkHandler .acceptUrl ("www.invidio.us/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
84+ @ ParameterizedTest
85+ @ ValueSource (strings = {
86+ "https://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
87+ "https://www.invidio.us/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
88+ "https://WWW.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dCI" ,
89+ "HTTPS://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
90+ "https://www.invidio.us/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
91+ "http://www.invidio.us/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
92+ "https://invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
93+ "www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
94+ "www.invidio.us/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV"
95+ })
96+ void acceptInvidioUrl (final String url ) throws ParsingException {
97+ assertTrue (linkHandler .acceptUrl (url ));
8398 }
8499
85- @ Test
86- void testDeniesInvalidInvidioUrl () throws ParsingException {
87- assertFalse (linkHandler .acceptUrl ("https://invidio.us/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
88- assertFalse (linkHandler .acceptUrl ("https://invidio.us/feed/subscriptions?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
89- assertFalse (linkHandler .acceptUrl ("ftp:/invidio.us/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
90- assertFalse (linkHandler .acceptUrl ("invidio.us:22/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
91- assertFalse (linkHandler .acceptUrl ("invidio . us/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
92- assertFalse (linkHandler .acceptUrl ("?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ));
100+ @ ParameterizedTest
101+ @ ValueSource (strings = {
102+ "https://invidio.us/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
103+ "https://invidio.us/feed/subscriptions?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
104+ "ftp:/invidio.us/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
105+ "invidio.us:22/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
106+ "invidio . us/feed/trending?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
107+ "?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV"
108+ })
109+ void deniesInvalidInvidioUrl (final String url ) throws ParsingException {
110+ assertFalse (linkHandler .acceptUrl (url ));
93111 }
94112
95- @ Test
96- void testGetInvidioIdfromUrl () throws ParsingException {
97- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
98- assertEquals ("PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" , linkHandler .fromUrl ("https://www.invidio.us/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ).getId ());
99- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ).getId ());
100- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://WWW.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ).getId ());
101- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("HTTPS://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ).getId ());
102- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://www.invidio.us/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
103- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("http://www.invidio.us/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
104- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("https://invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
105- assertEquals ("PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" , linkHandler .fromUrl ("www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ).getId ());
106- assertEquals ("PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" , linkHandler .fromUrl ("www.invidio.us/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ).getId ());
113+ @ ParameterizedTest
114+ @ CsvSource ({
115+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
116+ "PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV,https://www.invidio.us/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV" ,
117+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ,
118+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://WWW.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ,
119+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,HTTPS://www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC&t=100" ,
120+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://www.invidio.us/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
121+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,http://www.invidio.us/watch?v=0JFM3PRZH-k&index=8&list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
122+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,https://invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
123+ "PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC,www.invidio.us/playlist?list=PLW5y1tjAOzI3orQNF1yGGVL5x-pR2K1dC" ,
124+ "PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV,www.invidio.us/playlist?list=PLz8YL4HVC87WJQDzVoY943URKQCsHS9XV"
125+ })
126+ void getInvidioIdfromUrl (final String expectedId , final String url ) throws ParsingException {
127+ assertEquals (expectedId , linkHandler .fromUrl (url ).getId ());
107128 }
108129
109130 @ Test
0 commit comments