diff --git a/media/subtitles-unicode.srt b/media/subtitles-unicode.srt new file mode 100644 index 000000000..430315850 --- /dev/null +++ b/media/subtitles-unicode.srt @@ -0,0 +1,4 @@ +0 +00:00:00,000 --> 00:00:05,000 +ÁÉíöÙ + diff --git a/media/subtitles1.srt b/media/subtitles.srt similarity index 100% rename from media/subtitles1.srt rename to media/subtitles.srt diff --git a/tests/test_PR.py b/tests/test_PR.py index d7c0603f5..96e4fb1e8 100644 --- a/tests/test_PR.py +++ b/tests/test_PR.py @@ -141,7 +141,7 @@ def make_textclip(txt): stroke_width=0.5, ) - SubtitlesClip(Path("media/subtitles1.srt"), make_textclip=make_textclip).close() + SubtitlesClip(Path("media/subtitles.srt"), make_textclip=make_textclip).close() if __name__ == "__main__": diff --git a/tests/test_misc.py b/tests/test_misc.py index 2b81e1cc0..4648dad55 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -13,6 +13,20 @@ from tests.test_helper import FONT, TMP_DIR +MEDIA_SUBTITLES_DATA = [ + ([0.0, 4.0], "Red!"), + ([5.0, 9.0], "More Red!"), + ([10.0, 14.0], "Green!"), + ([15.0, 19.0], "More Green!"), + ([20.0, 24.0], "Blue"), + ([25.0, 29.0], "More Blue!"), +] + +MEDIA_SUBTITLES_UNICODE_DATA = [ + ([0, 5.0], "ÁÉíöÙ"), +] + + def test_cuts1(): clip = VideoFileClip("media/big_buck_bunny_432_433.webm").resize(0.2) cuts.find_video_period(clip) == pytest.approx(0.966666666667, 0.0001) @@ -36,37 +50,25 @@ def test_subtitles(): color="white", ) - subtitles = SubtitlesClip("media/subtitles1.srt", generator) + subtitles = SubtitlesClip("media/subtitles.srt", generator) final = CompositeVideoClip([myvideo, subtitles]) - final.write_videofile(os.path.join(TMP_DIR, "subtitles1.mp4"), fps=30) - - data = [ - ([0.0, 4.0], "Red!"), - ([5.0, 9.0], "More Red!"), - ([10.0, 14.0], "Green!"), - ([15.0, 19.0], "More Green!"), - ([20.0, 24.0], "Blue"), - ([25.0, 29.0], "More Blue!"), - ] + final.write_videofile(os.path.join(TMP_DIR, "subtitles.mp4"), fps=30) - assert subtitles.subtitles == data + assert subtitles.subtitles == MEDIA_SUBTITLES_DATA - subtitles = SubtitlesClip(data, generator) - assert subtitles.subtitles == data + subtitles = SubtitlesClip(MEDIA_SUBTITLES_DATA, generator) + assert subtitles.subtitles == MEDIA_SUBTITLES_DATA close_all_clips(locals()) def test_file_to_subtitles(): - data = [ - ([0.0, 4.0], "Red!"), - ([5.0, 9.0], "More Red!"), - ([10.0, 14.0], "Green!"), - ([15.0, 19.0], "More Green!"), - ([20.0, 24.0], "Blue"), - ([25.0, 29.0], "More Blue!"), - ] - - assert data == file_to_subtitles("media/subtitles1.srt") + assert MEDIA_SUBTITLES_DATA == file_to_subtitles("media/subtitles.srt") + + +def test_file_to_subtitles_unicode(): + assert MEDIA_SUBTITLES_UNICODE_DATA == file_to_subtitles( + "media/subtitles-unicode.srt", encoding="utf-8" + ) if __name__ == "__main__":