mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[test/YoutubeDL] Add tests for 'playliststart', 'playlistend' and 'playlist_items'
This commit is contained in:
		| @@ -12,6 +12,7 @@ import copy | ||||
|  | ||||
| from test.helper import FakeYDL, assertRegexpMatches | ||||
| from youtube_dl import YoutubeDL | ||||
| from youtube_dl.compat import compat_str | ||||
| from youtube_dl.extractor import YoutubeIE | ||||
| from youtube_dl.postprocessor.common import PostProcessor | ||||
| from youtube_dl.utils import match_filter_func | ||||
| @@ -507,6 +508,51 @@ class TestYoutubeDL(unittest.TestCase): | ||||
|         res = get_videos(f) | ||||
|         self.assertEqual(res, ['1']) | ||||
|  | ||||
|     def test_playlist_items_selection(self): | ||||
|         entries = [{ | ||||
|             'id': compat_str(i), | ||||
|             'title': compat_str(i), | ||||
|             'url': TEST_URL, | ||||
|         } for i in range(1, 5)] | ||||
|         playlist = { | ||||
|             '_type': 'playlist', | ||||
|             'id': 'test', | ||||
|             'entries': entries, | ||||
|             'extractor': 'test:playlist', | ||||
|             'extractor_key': 'test:playlist', | ||||
|             'webpage_url': 'http://example.com', | ||||
|         } | ||||
|  | ||||
|         def get_ids(params): | ||||
|             ydl = YDL(params) | ||||
|             # make a copy because the dictionary can be modified | ||||
|             ydl.process_ie_result(playlist.copy()) | ||||
|             return [int(v['id']) for v in ydl.downloaded_info_dicts] | ||||
|  | ||||
|         result = get_ids({}) | ||||
|         self.assertEqual(result, [1, 2, 3, 4]) | ||||
|  | ||||
|         result = get_ids({'playlistend': 10}) | ||||
|         self.assertEqual(result, [1, 2, 3, 4]) | ||||
|  | ||||
|         result = get_ids({'playlistend': 2}) | ||||
|         self.assertEqual(result, [1, 2]) | ||||
|  | ||||
|         result = get_ids({'playliststart': 10}) | ||||
|         self.assertEqual(result, []) | ||||
|  | ||||
|         result = get_ids({'playliststart': 2}) | ||||
|         self.assertEqual(result, [2, 3, 4]) | ||||
|  | ||||
|         result = get_ids({'playlist_items': '2-4'}) | ||||
|         self.assertEqual(result, [2, 3, 4]) | ||||
|  | ||||
|         result = get_ids({'playlist_items': '2,4'}) | ||||
|         self.assertEqual(result, [2, 4]) | ||||
|  | ||||
|         result = get_ids({'playlist_items': '10'}) | ||||
|         self.assertEqual(result, []) | ||||
|  | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user