Skip to content

Commit 29dc762

Browse files
committed
[YouTube] Fix YoutubeSearchExtractorTest.Suggestion
YouTube doesn't return anymore a suggestion for the query "algorythm", but does for the query "on board ing" ("on boarding"). This search query is now used and had to be URL-encoded. URL encoding in the complete YoutubeSearchExtractorTest test class uses now extractor's Util class instead of Java's URLDecoder class directly.
1 parent 56ab354 commit 29dc762

1 file changed

Lines changed: 8 additions & 18 deletions

File tree

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

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
import org.junit.jupiter.api.BeforeAll;
1616
import org.junit.jupiter.api.Test;
1717
import org.schabi.newpipe.downloader.DownloaderFactory;
18-
import org.schabi.newpipe.downloader.MockOnly;
1918
import org.schabi.newpipe.extractor.InfoItem;
2019
import org.schabi.newpipe.extractor.ListExtractor;
2120
import org.schabi.newpipe.extractor.MetaInfo;
@@ -28,12 +27,11 @@
2827
import org.schabi.newpipe.extractor.services.youtube.YoutubeTestsUtils;
2928
import org.schabi.newpipe.extractor.stream.Description;
3029
import org.schabi.newpipe.extractor.stream.StreamInfoItem;
30+
import org.schabi.newpipe.extractor.utils.Utils;
3131

3232
import java.io.IOException;
33-
import java.io.UnsupportedEncodingException;
3433
import java.net.MalformedURLException;
3534
import java.net.URL;
36-
import java.net.URLEncoder;
3735
import java.util.Collections;
3836
import 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

Comments
 (0)