mirror of
				https://github.com/ytdl-org/youtube-dl.git
				synced 2025-10-29 09:26:20 -07:00 
			
		
		
		
	[test/InfoExtractors] add test for _download_json
This commit is contained in:
		| @@ -11,6 +11,7 @@ sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |||||||
| from test.helper import FakeYDL | from test.helper import FakeYDL | ||||||
| from youtube_dl.extractor.common import InfoExtractor | from youtube_dl.extractor.common import InfoExtractor | ||||||
| from youtube_dl.extractor import YoutubeIE, get_info_extractor | from youtube_dl.extractor import YoutubeIE, get_info_extractor | ||||||
|  | from youtube_dl.utils import encode_data_uri, strip_jsonp, ExtractorError | ||||||
|  |  | ||||||
|  |  | ||||||
| class TestIE(InfoExtractor): | class TestIE(InfoExtractor): | ||||||
| @@ -66,5 +67,14 @@ class TestInfoExtractor(unittest.TestCase): | |||||||
|         self.assertEqual(ie._html_search_meta('e', html), '5') |         self.assertEqual(ie._html_search_meta('e', html), '5') | ||||||
|         self.assertEqual(ie._html_search_meta('f', html), '6') |         self.assertEqual(ie._html_search_meta('f', html), '6') | ||||||
|  |  | ||||||
|  |     def test_download_json(self): | ||||||
|  |         uri = encode_data_uri(b'{"foo": "blah"}', 'application/json') | ||||||
|  |         self.assertEqual(self.ie._download_json(uri, None), {'foo': 'blah'}) | ||||||
|  |         uri = encode_data_uri(b'callback({"foo": "blah"})', 'application/javascript') | ||||||
|  |         self.assertEqual(self.ie._download_json(uri, None, transform_source=strip_jsonp), {'foo': 'blah'}) | ||||||
|  |         uri = encode_data_uri(b'{"foo": invalid}', 'application/json') | ||||||
|  |         self.assertRaises(ExtractorError, self.ie._download_json, uri, None) | ||||||
|  |         self.assertEqual(self.ie._download_json(uri, None, fatal=False), None) | ||||||
|  |  | ||||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||||
|     unittest.main() |     unittest.main() | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user