[YouTube] Add comment reply count support (#936)

Add comment reply count support for YouTube and introduce `CommentsInfoItem.UNKNOWN_REPLY_COUNT` constant

Co-authored-by: AudricV <74829229+AudricV@users.noreply.github.com>
Co-authored-by: Tobi <TobiGr@users.noreply.github.com>
This commit is contained in:
xz-dev
2022-10-15 18:40:06 +08:00
committed by GitHub
parent a822e91909
commit 0ffcb32d9c
5 changed files with 58 additions and 3 deletions

View File

@@ -2,9 +2,12 @@ package org.schabi.newpipe.extractor.services.youtube;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.schabi.newpipe.extractor.ExtractorAsserts.assertGreater;
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
import static org.schabi.newpipe.extractor.comments.CommentsInfoItem.UNKNOWN_REPLY_COUNT;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
@@ -328,5 +331,17 @@ public class YoutubeCommentsExtractorTest {
assertEquals("First", replies.getItems().get(0).getCommentText(),
"First reply comment did not match");
}
@Test
public void testGetCommentsReplyCount() throws IOException, ExtractionException {
final InfoItemsPage<CommentsInfoItem> comments = extractor.getInitialPage();
DefaultTests.defaultTestListOfItems(YouTube, comments.getItems(), comments.getErrors());
final CommentsInfoItem firstComment = comments.getItems().get(0);
assertNotEquals(UNKNOWN_REPLY_COUNT, firstComment.getReplyCount(), "Could not get the reply count of the first comment");
assertGreater(300, firstComment.getReplyCount());
}
}
}