diff options
Diffstat (limited to 'test/pnmcrop3.test')
-rwxr-xr-x | test/pnmcrop3.test | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/test/pnmcrop3.test b/test/pnmcrop3.test new file mode 100755 index 00000000..1e8da345 --- /dev/null +++ b/test/pnmcrop3.test @@ -0,0 +1,80 @@ +#! /bin/sh +# This script tests: pnmcrop +# Also requires: pnmpad pamfile pgmmake + +tmpdir=${tmpdir:-/tmp} + +test_pbm=${tmpdir}/test.pbm +test_ppm=${tmpdir}/test.ppm +border_pbm=${tmpdir}/border.pbm +border_ppm=${tmpdir}/border.ppm +gray_pgm=${tmpdir}/gray.pgm + +pnmpad -top=3 -bottom=5 -left=11 -right=2 testgrid.pbm > ${test_pbm} +pnmpad -top=11 -bottom=1 -left=21 -right=9 testimg.ppm > ${test_ppm} + +pnmpad -top=4 -bottom=4 -left=8 -right=5 testgrid.pbm > ${border_pbm} +pnmpad -top=7 -bottom=5 -left=30 -right=0 testimg.ppm > ${border_ppm} + +pgmmake 0.5 $(pamfile -size ${test_pbm}) > ${gray_pgm} + +# Test 1 +echo Test 1 + +for input_file in ${test_pbm} ${test_ppm} + do + echo `basename ${input_file}` + for option in "-left" "-right" "-top" "-bottom" \ + "-left -right" "-left -bottom" "-right -bottom" + do + echo ${option} + pnmcrop -reportsize ${option} ${input_file} || echo fail1 + done + done + +# Test 2 +echo Test 2 + +for input_file in ${test_pbm} ${test_ppm} + do + echo `basename ${input_file}` + for margin in 0 1 2 3 4 5 # for margin in `seq 0 5` + do + pnmcrop -reportsize -margin=${margin} ${input_file} || echo fail2 + done + done + +# Test 3 +echo Test 3 + +pnmcrop -borderfile=${border_pbm} ${gray_pgm} | pamfile -size +pnmcrop -borderfile=${border_pbm} ${gray_pgm} -plain + +pnmcrop -borderfile=${test_pbm} ${test_pbm} | pamfile -size +pnmcrop -borderfile=${test_pbm} ${test_pbm} | pnmcrop -black -reportsize + +pnmcrop -borderfile=${border_pbm} ${test_pbm} | pamfile -size +pnmcrop -borderfile=${border_pbm} ${test_pbm} -plain +pnmcrop -borderfile=${border_pbm} ${test_pbm} | pnmcrop -black -reportsize + +pnmcrop -borderfile=${border_ppm} ${test_ppm} | cksum + +test_out=${tmpdir}/test_out + +# The following two cases are expected to fail + +echo "Border file size mismatch" 1>&2 +echo "Error messages should appear below the line." 1>&2 +echo "--------------------------------------------" 1>&2 + +pnmcrop -borderfile=${border_ppm} ${test_pbm} > ${test_out} || \ + printf "Expected failure 1"; + test -s ${test_out}; echo " "$? + rm ${test_out} + +pnmcrop -borderfile=${border_pbm} ${test_ppm} > ${test_out} || \ + printf "Expected failure 2"; + test -s ${test_out}; echo " "$? + rm ${test_out} + +rm ${test_pbm} ${test_ppm} ${border_pbm} ${border_ppm} ${gray_pgm} |