45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | #!/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() |