1515import org .junit .jupiter .api .BeforeAll ;
1616import org .junit .jupiter .api .Test ;
1717import org .schabi .newpipe .downloader .DownloaderFactory ;
18- import org .schabi .newpipe .downloader .MockOnly ;
1918import org .schabi .newpipe .extractor .InfoItem ;
2019import org .schabi .newpipe .extractor .ListExtractor ;
2120import org .schabi .newpipe .extractor .MetaInfo ;
2827import org .schabi .newpipe .extractor .services .youtube .YoutubeTestsUtils ;
2928import org .schabi .newpipe .extractor .stream .Description ;
3029import org .schabi .newpipe .extractor .stream .StreamInfoItem ;
30+ import org .schabi .newpipe .extractor .utils .Utils ;
3131
3232import java .io .IOException ;
33- import java .io .UnsupportedEncodingException ;
3433import java .net .MalformedURLException ;
3534import java .net .URL ;
36- import java .net .URLEncoder ;
3735import java .util .Collections ;
3836import java .util .List ;
3937
@@ -139,15 +137,15 @@ public static void setUp() throws Exception {
139137
140138 /**
141139 * Test for YT's "Did you mean...".
140+ *
142141 * <p>
143142 * Hint: YT mostly shows "did you mean..." when you are searching in another language.
144143 * </p>
145144 */
146- @ MockOnly ("Currently constantly switching between \" Did you mean\" and \" Showing results for ...\" occurs" )
147145 public static class Suggestion extends DefaultSearchExtractorTest {
148146 private static SearchExtractor extractor ;
149- private static final String QUERY = "algorythm " ;
150- private static final String EXPECTED_SUGGESTION = "algorithm " ;
147+ private static final String QUERY = "on board ing " ;
148+ private static final String EXPECTED_SUGGESTION = "on boarding " ;
151149
152150 @ BeforeAll
153151 public static void setUp () throws Exception {
@@ -161,8 +159,8 @@ public static void setUp() throws Exception {
161159 @ Override public StreamingService expectedService () { return YouTube ; }
162160 @ Override public String expectedName () { return QUERY ; }
163161 @ Override public String expectedId () { return QUERY ; }
164- @ Override public String expectedUrlContains () { return "youtube.com/results?search_query=" + QUERY ; }
165- @ Override public String expectedOriginalUrlContains () { return "youtube.com/results?search_query=" + QUERY ; }
162+ @ Override public String expectedUrlContains () throws Exception { return "youtube.com/results?search_query=" + Utils . encodeUrlUtf8 ( QUERY ) ; }
163+ @ Override public String expectedOriginalUrlContains () throws Exception { return "youtube.com/results?search_query=" + Utils . encodeUrlUtf8 ( QUERY ) ; }
166164 @ Override public String expectedSearchString () { return QUERY ; }
167165 @ Nullable @ Override public String expectedSearchSuggestion () { return EXPECTED_SUGGESTION ; }
168166 @ Override public InfoItem .InfoType expectedInfoItemType () { return InfoItem .InfoType .STREAM ; }
@@ -396,20 +394,12 @@ public static void setUp() throws Exception {
396394 extractor .fetchPage ();
397395 }
398396
399- private String getUrlEncodedQuery () {
400- try {
401- return URLEncoder .encode (QUERY , "UTF-8" );
402- } catch (UnsupportedEncodingException e ) {
403- throw new RuntimeException (e );
404- }
405- }
406-
407397 @ Override public SearchExtractor extractor () { return extractor ; }
408398 @ Override public StreamingService expectedService () { return YouTube ; }
409399 @ Override public String expectedName () { return QUERY ; }
410400 @ Override public String expectedId () { return QUERY ; }
411- @ Override public String expectedUrlContains () { return "youtube.com/results?search_query=" + getUrlEncodedQuery ( ); }
412- @ Override public String expectedOriginalUrlContains () { return "youtube.com/results?search_query=" + getUrlEncodedQuery ( ); }
401+ @ Override public String expectedUrlContains () throws Exception { return "youtube.com/results?search_query=" + Utils . encodeUrlUtf8 ( QUERY ); }
402+ @ Override public String expectedOriginalUrlContains () throws Exception { return "youtube.com/results?search_query=" + Utils . encodeUrlUtf8 ( QUERY ); }
413403 @ Override public String expectedSearchString () { return QUERY ; }
414404 @ Nullable @ Override public String expectedSearchSuggestion () { return null ; }
415405 @ Override public InfoItem .InfoType expectedInfoItemType () { return InfoItem .InfoType .STREAM ; }
0 commit comments