|
|
|
|
@ -5,8 +5,8 @@ from __future__ import division
|
|
|
|
|
import os |
|
|
|
|
import pytest |
|
|
|
|
|
|
|
|
|
from sigal.video import video_size, generate_video |
|
|
|
|
from sigal.settings import create_settings |
|
|
|
|
from sigal.video import video_size, generate_video, process_video |
|
|
|
|
from sigal.settings import create_settings, Status |
|
|
|
|
|
|
|
|
|
CURRENT_DIR = os.path.dirname(__file__) |
|
|
|
|
TEST_VIDEO = 'stallman software-freedom-day-low.ogv' |
|
|
|
|
@ -20,6 +20,22 @@ def test_video_size():
|
|
|
|
|
assert size_src == (0, 0) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def test_process_video(tmpdir): |
|
|
|
|
base, ext = os.path.splitext(TEST_VIDEO) |
|
|
|
|
|
|
|
|
|
settings = create_settings(video_format='ogv', use_orig=True, |
|
|
|
|
orig_link=True) |
|
|
|
|
process_video(SRCFILE, str(tmpdir), settings) |
|
|
|
|
dstfile = str(tmpdir.join(base + '.ogv')) |
|
|
|
|
assert os.path.realpath(dstfile) == SRCFILE |
|
|
|
|
|
|
|
|
|
settings = create_settings(video_format='mjpg') |
|
|
|
|
assert process_video(SRCFILE, str(tmpdir), settings) == Status.FAILURE |
|
|
|
|
|
|
|
|
|
settings = create_settings(thumb_video_delay=-1) |
|
|
|
|
assert process_video(SRCFILE, str(tmpdir), settings) == Status.FAILURE |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize("fmt", ['webm', 'mp4']) |
|
|
|
|
def test_generate_video_fit_height(tmpdir, fmt): |
|
|
|
|
"""largest fitting dimension is height""" |
|
|
|
|
@ -56,7 +72,7 @@ def test_generate_video_fit_width(tmpdir, fmt):
|
|
|
|
|
assert abs(size_dst[0]/size_dst[1] - size_src[0]/size_src[1]) < 2e-2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.mark.parametrize("fmt", ['webm', 'mp4']) |
|
|
|
|
@pytest.mark.parametrize("fmt", ['webm', 'mp4', 'ogv']) |
|
|
|
|
def test_generate_video_dont_enlarge(tmpdir, fmt): |
|
|
|
|
"""video dimensions should not be enlarged""" |
|
|
|
|
|
|
|
|
|
@ -64,7 +80,7 @@ def test_generate_video_dont_enlarge(tmpdir, fmt):
|
|
|
|
|
dstfile = str(tmpdir.join(base + '.' + fmt)) |
|
|
|
|
settings = create_settings(video_size=(1000, 1000), video_format=fmt) |
|
|
|
|
generate_video(SRCFILE, dstfile, settings, |
|
|
|
|
options=settings[fmt + '_options']) |
|
|
|
|
options=settings.get(fmt + '_options')) |
|
|
|
|
size_src = video_size(SRCFILE) |
|
|
|
|
size_dst = video_size(dstfile) |
|
|
|
|
|
|
|
|
|
|