]>
Commit | Line | Data |
---|---|---|
88cf6fb3 JMF |
1 | #!/usr/bin/env python |
2 | ||
3 | from __future__ import unicode_literals | |
4 | ||
5 | # Allow direct execution | |
6 | import os | |
7 | import sys | |
8 | import unittest | |
9 | sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) | |
10 | ||
337e0c62 | 11 | from yt_dlp.postprocessor import ( |
12 | FFmpegThumbnailsConvertorPP, | |
13 | MetadataFromFieldPP, | |
14 | MetadataFromTitlePP, | |
15 | ) | |
5bfa4862 | 16 | |
17 | ||
18 | class TestMetadataFromField(unittest.TestCase): | |
19 | def test_format_to_regex(self): | |
20 | pp = MetadataFromFieldPP(None, ['title:%(title)s - %(artist)s']) | |
84601bb7 | 21 | self.assertEqual(pp._data[0]['regex'], r'(?P<title>.+)\ \-\ (?P<artist>.+)') |
88cf6fb3 | 22 | |
a3faeb7d | 23 | def test_field_to_outtmpl(self): |
24 | pp = MetadataFromFieldPP(None, ['title:%(title)s : %(artist)s']) | |
25 | self.assertEqual(pp._data[0]['tmpl'], '%(title)s') | |
26 | ||
27 | def test_in_out_seperation(self): | |
28 | pp = MetadataFromFieldPP(None, ['%(title)s \\: %(artist)s:%(title)s : %(artist)s']) | |
29 | self.assertEqual(pp._data[0]['in'], '%(title)s : %(artist)s') | |
30 | self.assertEqual(pp._data[0]['out'], '%(title)s : %(artist)s') | |
31 | ||
88cf6fb3 JMF |
32 | |
33 | class TestMetadataFromTitle(unittest.TestCase): | |
34 | def test_format_to_regex(self): | |
35 | pp = MetadataFromTitlePP(None, '%(title)s - %(artist)s') | |
84601bb7 | 36 | self.assertEqual(pp._titleregex, r'(?P<title>.+)\ \-\ (?P<artist>.+)') |
337e0c62 | 37 | |
38 | ||
39 | class TestConvertThumbnail(unittest.TestCase): | |
40 | def test_escaping(self): | |
41 | pp = FFmpegThumbnailsConvertorPP() | |
42 | if not pp.available: | |
43 | print('Skipping: ffmpeg not found') | |
44 | return | |
45 | ||
46 | file = 'test/testdata/thumbnails/foo %d bar/foo_%d.{}' | |
47 | tests = (('webp', 'png'), ('png', 'jpg')) | |
48 | ||
49 | for inp, out in tests: | |
50 | out_file = file.format(out) | |
51 | if os.path.exists(out_file): | |
52 | os.remove(out_file) | |
53 | pp.convert_thumbnail(file.format(inp), out) | |
54 | assert os.path.exists(out_file) | |
55 | ||
56 | for _, out in tests: | |
57 | os.remove(file.format(out)) |