mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	Add a basic test suite for the InfoExtractor class
This commit is contained in:
		
							
								
								
									
										44
									
								
								test/test_InfoExtractor.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								test/test_InfoExtractor.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | ||||
| #!/usr/bin/env python | ||||
|  | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| # Allow direct execution | ||||
| import os | ||||
| import sys | ||||
| import unittest | ||||
| sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | ||||
|  | ||||
| from test.helper import FakeYDL | ||||
| from youtube_dl.extractor.common import InfoExtractor | ||||
| from youtube_dl.extractor import YoutubeIE, get_info_extractor | ||||
|  | ||||
|  | ||||
| class TestIE(InfoExtractor): | ||||
|     pass | ||||
|  | ||||
|  | ||||
| class TestInfoExtractor(unittest.TestCase): | ||||
|     def setUp(self): | ||||
|         self.ie = TestIE(FakeYDL()) | ||||
|  | ||||
|     def test_ie_key(self): | ||||
|         self.assertEqual(get_info_extractor(YoutubeIE.ie_key()), YoutubeIE) | ||||
|  | ||||
|     def test_html_search_regex(self): | ||||
|         html = '<p id="foo">Watch this <a href="http://www.youtube.com/watch?v=BaW_jenozKc">video</a></p>' | ||||
|         search = lambda re, *args: self.ie._html_search_regex(re, html, *args) | ||||
|         self.assertEqual(search(r'<p id="foo">(.+?)</p>', 'foo'), 'Watch this video') | ||||
|  | ||||
|     def test_opengraph(self): | ||||
|         ie = self.ie | ||||
|         html = ''' | ||||
|             <meta name="og:title" content='Foo'/> | ||||
|             <meta content="Some video's description " name="og:description"/> | ||||
|             <meta property='og:image' content='http://domain.com/pic.jpg?key1=val1&key2=val2'/> | ||||
|             ''' | ||||
|         self.assertEqual(ie._og_search_title(html), 'Foo') | ||||
|         self.assertEqual(ie._og_search_description(html), 'Some video\'s description ') | ||||
|         self.assertEqual(ie._og_search_thumbnail(html), 'http://domain.com/pic.jpg?key1=val1&key2=val2') | ||||
|  | ||||
| if __name__ == '__main__': | ||||
|     unittest.main() | ||||
		Reference in New Issue
	
	Block a user