From 4b69d347b42036c5f7e347945c43b6f95affc694 Mon Sep 17 00:00:00 2001 From: Josef Friedrich Date: Fri, 2 Feb 2024 19:35:29 +0100 Subject: [PATCH] Add test --- .../by_version/4/Im-Fruehtau-zu-Berge.mscz | Bin 0 -> 31565 bytes tests/helper.py | 5 +++- tests/test_complex_tasks.py | 23 ++++++++++++++++++ 3 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 tests/files/by_version/4/Im-Fruehtau-zu-Berge.mscz create mode 100644 tests/test_complex_tasks.py diff --git a/tests/files/by_version/4/Im-Fruehtau-zu-Berge.mscz b/tests/files/by_version/4/Im-Fruehtau-zu-Berge.mscz new file mode 100644 index 0000000000000000000000000000000000000000..0264530febcbe9d8c9097f1229c3d8890c9df21d GIT binary patch literal 31565 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 >vyT|A%IWj@u_bJ<=;H+1M{&g`foGgz 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 SU-yCiJCgpftl0CvuKo|!6X}ou literal 0 HcmV?d00001 diff --git a/tests/helper.py b/tests/helper.py index 27c5408..2b91fe1 100644 --- a/tests/helper.py +++ b/tests/helper.py @@ -240,7 +240,10 @@ def sysexit(self, assert_none_zero: bool = False) -> str: raise Exception("No stdout or stderr") return self.__stderr + self.__stdout + def open_in_mscore(self) -> None: + open_in_gui(self.score().path) + def open_in_gui(file: str | Path) -> None: """Open a file wiht xdg-open in the background""" - subprocess.Popen(("/usr/local/bin/mscore", str(file))) + subprocess.Popen(("/usr/local/bin/mscore", str(file)), close_fds=True) diff --git a/tests/test_complex_tasks.py b/tests/test_complex_tasks.py new file mode 100644 index 0000000..ba43bcd --- /dev/null +++ b/tests/test_complex_tasks.py @@ -0,0 +1,23 @@ +"""Test the examples from the README.rst file.""" + +from __future__ import annotations + +from tests.helper import Cli + + +def test_din_a4_compress_rename() -> None: + score = ( + Cli( + "--save-in-mscore", + "--a4", + "--rename", + "_Piano_A4", + "--only-filename", + ) + .append_score("Im-Fruehtau-zu-Berge.mscz") + .score() + ) + + dest = score.path.parent / "_Piano_A4.mscz" + + assert dest.exists()