inkscape: add unit test for ps2pdf plugin

to prevent future regressen add a smal test,
to check if ps2pdf plugin is working
by createing a .ps / .eps file and converting it back to svg

(cherry picked from commit fae8ec30ea)
This commit is contained in:
tuxcoder 2024-04-13 09:13:54 +02:00 committed by github-actions[bot]
parent 7aa6d17bb4
commit b0de9ee22c
2 changed files with 30 additions and 0 deletions

View File

@ -3,6 +3,7 @@
, boehmgc
, boost
, cairo
, callPackage
, cmake
, desktopToDarwinBundle
, fetchurl
@ -172,6 +173,8 @@ stdenv.mkDerivation rec {
done
'';
passthru.tests.ps2pdf-plugin = callPackage ./test-ps2pdf-plugin.nix { };
meta = with lib; {
description = "Vector graphics editor";
homepage = "https://www.inkscape.org";

View File

@ -0,0 +1,27 @@
{ inkscape, runCommand, writeTextFile }:
let
svg_file = writeTextFile {
name = "test.svg";
text = ''
<?xml version="1.0" encoding="UTF-8"?>
<svg width="50" height="50" version="1.1">
<ellipse cx="1" cy="1" rx="1" ry="1" />
</svg>'';
};
in
runCommand "inkscape-test-eps"
{
nativeBuildInputs = [ inkscape ];
} ''
echo ps test
inkscape ${svg_file} --export-type=ps -o test.ps
inkscape test.ps -o test.ps.svg
echo eps test
inkscape ${svg_file} --export-type=eps -o test.eps
inkscape test.eps -o test.eps.svg
# inkscape does not return an error code, only does not create files
[[ -f test.ps.svg && -f test.eps.svg ]] && touch $out
''