diff options
| author | Philipp Hagemeister <phihag@phihag.de> | 2015-01-23 00:04:05 +0100 | 
|---|---|---|
| committer | Philipp Hagemeister <phihag@phihag.de> | 2015-01-23 00:04:05 +0100 | 
| commit | 083c9df93b08a24e967b68fbdd2f4a71ae74c8c8 (patch) | |
| tree | 8b92a6762709d80c3f3c2d78f42bd181789cac32 /test | |
| parent | 50789175edbe3aaad77f45e6fe883ba09580cc6f (diff) | |
[YoutubeDL] Allow filtering by properties (Fixes #4584)
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_YoutubeDL.py | 55 | 
1 files changed, 55 insertions, 0 deletions
| diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py index 85d87f2c3..678b9f7d1 100644 --- a/test/test_YoutubeDL.py +++ b/test/test_YoutubeDL.py @@ -281,6 +281,61 @@ class TestFormatSelection(unittest.TestCase):              downloaded = ydl.downloaded_info_dicts[0]              self.assertEqual(downloaded['format_id'], f1id) +    def test_format_filtering(self): +        formats = [ +            {'format_id': 'A', 'filesize': 500, 'width': 1000}, +            {'format_id': 'B', 'filesize': 1000, 'width': 500}, +            {'format_id': 'C', 'filesize': 1000, 'width': 400}, +            {'format_id': 'D', 'filesize': 2000, 'width': 600}, +            {'format_id': 'E', 'filesize': 3000}, +            {'format_id': 'F'}, +            {'format_id': 'G', 'filesize': 1000000}, +        ] +        for f in formats: +            f['url'] = 'http://_/' +            f['ext'] = 'unknown' +        info_dict = _make_result(formats) + +        ydl = YDL({'format': 'best[filesize<3000]'}) +        ydl.process_ie_result(info_dict) +        downloaded = ydl.downloaded_info_dicts[0] +        self.assertEqual(downloaded['format_id'], 'D') + +        ydl = YDL({'format': 'best[filesize<=3000]'}) +        ydl.process_ie_result(info_dict) +        downloaded = ydl.downloaded_info_dicts[0] +        self.assertEqual(downloaded['format_id'], 'E') + +        ydl = YDL({'format': 'best[filesize <= ? 3000]'}) +        ydl.process_ie_result(info_dict) +        downloaded = ydl.downloaded_info_dicts[0] +        self.assertEqual(downloaded['format_id'], 'F') + +        ydl = YDL({'format': 'best [filesize = 1000] [width>450]'}) +        ydl.process_ie_result(info_dict) +        downloaded = ydl.downloaded_info_dicts[0] +        self.assertEqual(downloaded['format_id'], 'B') + +        ydl = YDL({'format': 'best [filesize = 1000] [width!=450]'}) +        ydl.process_ie_result(info_dict) +        downloaded = ydl.downloaded_info_dicts[0] +        self.assertEqual(downloaded['format_id'], 'C') + +        ydl = YDL({'format': '[filesize>?1]'}) +        ydl.process_ie_result(info_dict) +        downloaded = ydl.downloaded_info_dicts[0] +        self.assertEqual(downloaded['format_id'], 'G') + +        ydl = YDL({'format': '[filesize<1M]'}) +        ydl.process_ie_result(info_dict) +        downloaded = ydl.downloaded_info_dicts[0] +        self.assertEqual(downloaded['format_id'], 'E') + +        ydl = YDL({'format': '[filesize<1MiB]'}) +        ydl.process_ie_result(info_dict) +        downloaded = ydl.downloaded_info_dicts[0] +        self.assertEqual(downloaded['format_id'], 'G') +      def test_add_extra_info(self):          test_dict = {              'extractor': 'Foo', | 
