diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/ExtractorAsserts.java b/extractor/src/test/java/org/schabi/newpipe/extractor/ExtractorAsserts.java index d66e433ec..e5bed1d69 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/ExtractorAsserts.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/ExtractorAsserts.java @@ -171,8 +171,17 @@ public class ExtractorAsserts { public static void assertTabsContain(@Nonnull final List tabs, @Nonnull final String... expectedTabs) { final Set tabSet = tabs.stream() - .map(linkHandler -> linkHandler.getContentFilters().get(0)) + .map(linkHandler -> { + assertEquals(1, linkHandler.getContentFilters().size(), + "Unexpected content filters for channel tab: " + + linkHandler.getContentFilters()); + return linkHandler.getContentFilters().get(0); + }) .collect(Collectors.toUnmodifiableSet()); + + assertEquals(expectedTabs.length, tabSet.size(), + "Different amount of tabs returned:\nExpected: " + + Arrays.toString(expectedTabs) + "\nActual: " + tabSet); Arrays.stream(expectedTabs) .forEach(expectedTab -> assertTrue(tabSet.contains(expectedTab), "Missing " + expectedTab + " tab (got " + tabSet + ")")); diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java index 24c88f3fc..5795b0f22 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java @@ -541,7 +541,8 @@ public class YoutubeChannelExtractorTest { @Test @Override public void testTabs() throws Exception { - assertTabsContain(extractor.getTabs(), ChannelTabs.VIDEOS, ChannelTabs.PLAYLISTS); + assertTabsContain(extractor.getTabs(), + ChannelTabs.VIDEOS, ChannelTabs.PLAYLISTS, ChannelTabs.SHORTS); assertTrue(extractor.getTabs().stream() .filter(it -> ChannelTabs.VIDEOS.equals(it.getContentFilters().get(0))) .allMatch(ReadyChannelTabListLinkHandler.class::isInstance)); @@ -920,11 +921,7 @@ public class YoutubeChannelExtractorTest { // Gaming topic channels tabs are not yet supported // However, a Shorts tab like on other channel types is returned, so it is supported // Check that it is returned - final List channelTabs = extractor.getTabs(); - assertEquals(1, channelTabs.size()); - final List contentFilters = channelTabs.get(0).getContentFilters(); - assertEquals(1, contentFilters.size()); - assertEquals(ChannelTabs.SHORTS, contentFilters.get(0)); + assertTabsContain(extractor.getTabs(), ChannelTabs.SHORTS); } @Test