def test_saveImage_multipage(tmpdir, script, imageType, expectedFilenames): glob_pattern = f"*.{imageType}" tmpdir = pathlib.Path(tmpdir) db = Drawing() namespace = makeDrawbotNamespace(db) runScriptSource(script, "<string>", namespace) assert [] == sorted(tmpdir.glob(glob_pattern)) outputPath = tmpdir / f"test.{imageType}" db.saveImage(outputPath) assert expectedFilenames == [p.name for p in sorted(tmpdir.glob(glob_pattern))]
def test_saveImage_multipage(tmpdir): tmpdir = pathlib.Path(tmpdir) db = Drawing() namespace = makeDrawbotNamespace(db) runScriptSource(multipageSource, "<string>", namespace) assert [] == sorted(tmpdir.glob("*.png")) outputPath = tmpdir / "test.png" db.saveImage(outputPath) expected_filenames = ['test_0.png', 'test_1.png', 'test_2.png'] assert expected_filenames == [p.name for p in sorted(tmpdir.glob("*.png"))]
def test_saveImage_mp4_codec(tmpdir): from drawbot_skia import ffmpeg ffmpeg.FFMPEG_PATH = ffmpeg.getPyFFmpegPath() # Force ffmpeg from pyffmpeg tmpdir = pathlib.Path(tmpdir) db = Drawing() namespace = makeDrawbotNamespace(db) runScriptSource(multipageSource, "<string>", namespace) assert [] == sorted(tmpdir.glob("*.png")) db.saveImage(tmpdir / "test.mp4") db.saveImage(tmpdir / "test2.mp4", codec="mpeg4") expectedFilenames = ['test.mp4', 'test2.mp4'] paths = sorted(tmpdir.glob("*.mp4")) assert paths[0].stat().st_size < paths[1].stat().st_size assert expectedFilenames == [p.name for p in paths]