diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:24:48 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 18:24:48 +0000 |
commit | cca66b9ec4e494c1d919bff0f71a820d8afab1fa (patch) | |
tree | 146f39ded1c938019e1ed42d30923c2ac9e86789 /share/extensions/tests/test_inkex_command.py | |
parent | Initial commit. (diff) | |
download | inkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.tar.xz inkscape-cca66b9ec4e494c1d919bff0f71a820d8afab1fa.zip |
Adding upstream version 1.2.2.upstream/1.2.2upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'share/extensions/tests/test_inkex_command.py')
-rw-r--r-- | share/extensions/tests/test_inkex_command.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/share/extensions/tests/test_inkex_command.py b/share/extensions/tests/test_inkex_command.py new file mode 100644 index 0000000..f6b7b67 --- /dev/null +++ b/share/extensions/tests/test_inkex_command.py @@ -0,0 +1,45 @@ +# coding=utf-8 +""" +Test Inkex command launching functionality. +""" +import pytest +import sys +from inkex.tester import BaseCase +from inkex.command import ( + ProgramRunError, + which, + write_svg, + to_arg, + to_args, + call, + inkscape, + inkscape_command, + take_snapshot, +) + + +class CommandTest(BaseCase): + """Test command API""" + + @pytest.mark.skipif( + sys.platform == "win32", reason="gunzip doesn't exist on windows" + ) + def test_binary_call(self): + """Calls should allow binary stdin""" + # https://gitlab.com/inkscape/extensions/-/commit/2e504f2a3f6bb627f17b267c5623a71005d7234d#note_164780678 + binary = ( + b"\x1f\x8b\x08\x00eh\xc3\\\x02\xffK\xcb\xcf\x07\x00!es\x8c\x03\x00\x00\x00" + ) + stdout = call("gunzip", stdin=binary) + + def test_command_error(self): + """Call to test ProgramRunError""" + + with self.assertRaises(ProgramRunError) as cm: + call("python", "nonexistent_file") + exc = cm.exception + self.assertIsInstance(exc, ProgramRunError) + self.assertEqual(exc.returncode, 2) + self.assertIn("can't open file", exc.stderr.decode("utf8")) + self.assertEqual("", exc.stdout.decode("utf8")) + self.assertIn("can't open file", str(exc)) |