| 
									
										
										
										
											2013-07-29 12:07:38 +02:00
										 |  |  | #!/usr/bin/env python | 
					
						
							| 
									
										
										
										
											2013-09-21 12:45:53 +02:00
										 |  |  | # encoding: utf-8 | 
					
						
							| 
									
										
										
										
											2013-07-29 12:07:38 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | import sys | 
					
						
							|  |  |  | import unittest | 
					
						
							|  |  |  | import json | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Allow direct execution | 
					
						
							|  |  |  | import os | 
					
						
							|  |  |  | sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-21 12:45:53 +02:00
										 |  |  | from youtube_dl.extractor import ( | 
					
						
							|  |  |  |     DailymotionPlaylistIE, | 
					
						
							|  |  |  |     DailymotionUserIE, | 
					
						
							|  |  |  |     VimeoChannelIE, | 
					
						
							|  |  |  |     UstreamChannelIE, | 
					
						
							|  |  |  |     SoundcloudUserIE, | 
					
						
							| 
									
										
										
										
											2013-09-21 13:50:52 +02:00
										 |  |  |     LivestreamIE, | 
					
						
							| 
									
										
										
										
											2013-09-21 12:45:53 +02:00
										 |  |  | ) | 
					
						
							| 
									
										
										
										
											2013-07-29 12:07:38 +02:00
										 |  |  | from youtube_dl.utils import * | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | from helper import FakeYDL | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class TestPlaylists(unittest.TestCase): | 
					
						
							|  |  |  |     def assertIsPlaylist(self, info): | 
					
						
							|  |  |  |         """Make sure the info has '_type' set to 'playlist'""" | 
					
						
							|  |  |  |         self.assertEqual(info['_type'], 'playlist') | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def test_dailymotion_playlist(self): | 
					
						
							|  |  |  |         dl = FakeYDL() | 
					
						
							|  |  |  |         ie = DailymotionPlaylistIE(dl) | 
					
						
							|  |  |  |         result = ie.extract('http://www.dailymotion.com/playlist/xv4bw_nqtv_sport/1#video=xl8v3q') | 
					
						
							|  |  |  |         self.assertIsPlaylist(result) | 
					
						
							|  |  |  |         self.assertEqual(result['title'], u'SPORT') | 
					
						
							|  |  |  |         self.assertTrue(len(result['entries']) > 20) | 
					
						
							| 
									
										
										
										
											2013-09-21 13:50:52 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-21 12:45:53 +02:00
										 |  |  |     def test_dailymotion_user(self): | 
					
						
							|  |  |  |         dl = FakeYDL() | 
					
						
							|  |  |  |         ie = DailymotionUserIE(dl) | 
					
						
							|  |  |  |         result = ie.extract('http://www.dailymotion.com/user/generation-quoi/') | 
					
						
							|  |  |  |         self.assertIsPlaylist(result) | 
					
						
							|  |  |  |         self.assertEqual(result['title'], u'Génération Quoi') | 
					
						
							|  |  |  |         self.assertTrue(len(result['entries']) >= 26) | 
					
						
							| 
									
										
										
										
											2013-07-29 12:07:38 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-29 13:12:09 +02:00
										 |  |  |     def test_vimeo_channel(self): | 
					
						
							|  |  |  |         dl = FakeYDL() | 
					
						
							|  |  |  |         ie = VimeoChannelIE(dl) | 
					
						
							|  |  |  |         result = ie.extract('http://vimeo.com/channels/tributes') | 
					
						
							|  |  |  |         self.assertIsPlaylist(result) | 
					
						
							|  |  |  |         self.assertEqual(result['title'], u'Vimeo Tributes') | 
					
						
							|  |  |  |         self.assertTrue(len(result['entries']) > 24) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-13 19:55:49 +02:00
										 |  |  |     def test_ustream_channel(self): | 
					
						
							|  |  |  |         dl = FakeYDL() | 
					
						
							|  |  |  |         ie = UstreamChannelIE(dl) | 
					
						
							|  |  |  |         result = ie.extract('http://www.ustream.tv/channel/young-americans-for-liberty') | 
					
						
							|  |  |  |         self.assertIsPlaylist(result) | 
					
						
							|  |  |  |         self.assertEqual(result['id'], u'5124905') | 
					
						
							|  |  |  |         self.assertTrue(len(result['entries']) >= 11) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-14 21:41:49 +02:00
										 |  |  |     def test_soundcloud_user(self): | 
					
						
							|  |  |  |         dl = FakeYDL() | 
					
						
							|  |  |  |         ie = SoundcloudUserIE(dl) | 
					
						
							|  |  |  |         result = ie.extract('https://soundcloud.com/the-concept-band') | 
					
						
							|  |  |  |         self.assertIsPlaylist(result) | 
					
						
							|  |  |  |         self.assertEqual(result['id'], u'9615865') | 
					
						
							|  |  |  |         self.assertTrue(len(result['entries']) >= 12) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-09-21 13:50:52 +02:00
										 |  |  |     def test_livestream_event(self): | 
					
						
							|  |  |  |         dl = FakeYDL() | 
					
						
							|  |  |  |         ie = LivestreamIE(dl) | 
					
						
							|  |  |  |         result = ie.extract('http://new.livestream.com/tedx/cityenglish') | 
					
						
							|  |  |  |         self.assertIsPlaylist(result) | 
					
						
							|  |  |  |         self.assertEqual(result['title'], u'TEDCity2.0 (English)') | 
					
						
							|  |  |  |         self.assertTrue(len(result['entries']) >= 4) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-07-29 12:07:38 +02:00
										 |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     unittest.main() |