diff options
author | Philipp Hagemeister <phihag@phihag.de> | 2013-10-18 00:17:03 +0200 |
---|---|---|
committer | Philipp Hagemeister <phihag@phihag.de> | 2013-10-18 00:17:03 +0200 |
commit | 1c1218fefcbabb49a0d06fc45d64a299920460ec (patch) | |
tree | 54d8fa603f8fdd5a406dcbbd22bb311020d647f9 /test | |
parent | d21ab292008b114ea9e99edc2e9f2adde49415ef (diff) | |
parent | 8016c9229718080f5211b9f9da176992622b30e6 (diff) |
Merge remote-tracking branch 'jaimeMF/format_selection'
Diffstat (limited to 'test')
-rw-r--r-- | test/test_YoutubeDL.py | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py new file mode 100644 index 000000000..2b9fb92ee --- /dev/null +++ b/test/test_YoutubeDL.py @@ -0,0 +1,49 @@ +#!/usr/bin/env python + +import sys +import unittest + +# Allow direct execution +import os +sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) + +from helper import FakeYDL, parameters + +class YDL(FakeYDL): + def __init__(self): + super(YDL, self).__init__() + self.downloaded_info_dicts = [] + def process_info(self, info_dict): + self.downloaded_info_dicts.append(info_dict) + +class TestFormatSelection(unittest.TestCase): + def test_prefer_free_formats(self): + # Same resolution => download webm + ydl = YDL() + ydl.params['prefer_free_formats'] = True + formats = [{u'ext': u'webm', u'height': 460},{u'ext': u'mp4', u'height': 460}] + info_dict = {u'formats': formats, u'extractor': u'test'} + ydl.process_ie_result(info_dict) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded[u'ext'], u'webm') + + # Different resolution => download best quality (mp4) + ydl = YDL() + ydl.params['prefer_free_formats'] = True + formats = [{u'ext': u'webm', u'height': 720},{u'ext': u'mp4',u'height': 1080}] + info_dict[u'formats'] = formats + ydl.process_ie_result(info_dict) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded[u'ext'], u'mp4') + + # No prefer_free_formats => keep original formats order + ydl = YDL() + ydl.params['prefer_free_formats'] = False + formats = [{u'ext': u'webm', u'height': 720},{u'ext': u'flv',u'height': 720}] + info_dict[u'formats'] = formats + ydl.process_ie_result(info_dict) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded[u'ext'], u'flv') + +if __name__ == '__main__': + unittest.main() |