diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index e28db2b5a..10d7baef6 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -1020,6 +1020,13 @@ class YoutubePlaylistIE(YoutubeBaseInfoExtractor): _MORE_PAGES_INDICATOR = r'data-link-type="next"' _VIDEO_RE = r'href="\s*/watch\?v=(?P[0-9A-Za-z_-]{11})&[^"]*?index=(?P\d+)' IE_NAME = u'youtube:playlist' + _TESTS = [{ + 'url': 'https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re', + 'info_dict': { + 'title': 'ytdl test PL', + }, + 'playlist_count': 3, + }] def _real_initialize(self): self._login() @@ -1118,6 +1125,7 @@ class YoutubeTopListIE(YoutubePlaylistIE): IE_DESC = (u'YouTube.com top lists, "yttoplist:{channel}:{list title}"' u' (Example: "yttoplist:music:Top Tracks")') _VALID_URL = r'yttoplist:(?P.*?):(?P.*?)$' + _TESTS = [] def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) @@ -1447,6 +1455,7 @@ class YoutubeSubscriptionsIE(YoutubePlaylistIE): IE_NAME = u'youtube:subscriptions' IE_DESC = u'YouTube.com subscriptions feed, "ytsubs" keyword (requires authentication)' _VALID_URL = r'https?://www\.youtube\.com/feed/subscriptions|:ytsubs(?:criptions)?' + _TESTS = [] def _real_extract(self, url): title = u'Youtube Subscriptions'