diff options
Diffstat (limited to 'test/lps-roundtrip.test')
-rwxr-xr-x | test/lps-roundtrip.test | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/test/lps-roundtrip.test b/test/lps-roundtrip.test new file mode 100755 index 00000000..24076ef1 --- /dev/null +++ b/test/lps-roundtrip.test @@ -0,0 +1,33 @@ +#! /bin/sh +# This script tests: pbmtolps pstopnm +# Also requires: gs pamdepth pamscale pnmcrop pnmpsnr pamfile + +# The ordinary round-trip does not work because of the way ghostscript +# renders: a line is considered wider than a single pixel and all pixels +# it touches are set to black if the output is PBM. To work around this, +# we tell pstopnm to output PGM at a high resolution (=large dpi value). + +tmpdir=${tmpdir:-/tmp} +test_pgm=${tmpdir}/test.pgm +test_ps=${tmpdir}/test.ps + +echo "Test 1. Should print match" + +xysize=$(pamfile -size testgrid.pbm | awk '{print "-xsize="$1,"-ysize="$2}') +pamdepth 255 testgrid.pbm > ${test_pgm} + +pbmtolps -dpi 72 testgrid.pbm | tee ${test_ps} | \ + pstopnm -dpi $((72*12)) -stdout -pgm | \ + pnmcrop -white | pamscale ${xysize} | \ + pnmpsnr -target=30 - ${test_pgm} + + # ghostscript version 8.71: pnmpsnr lumina 33.14dB + + +echo "Test 2. Should print 0" + +pbmtolps -dpi 72 < testgrid.pbm | sed 's/noname/testgrid.pbm/' | \ + cmp -s ${test_ps} - + echo $? + +rm ${test_pgm} ${test_ps} |