diff options
Diffstat (limited to 'test/pnmcrop1.test')
-rwxr-xr-x | test/pnmcrop1.test | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/test/pnmcrop1.test b/test/pnmcrop1.test new file mode 100755 index 00000000..3c86efd7 --- /dev/null +++ b/test/pnmcrop1.test @@ -0,0 +1,84 @@ + #! /bin/sh +# This script tests: pnmcrop +# Also requires: pnmpad pnmmargin pamcut + +tmpdir=${tmpdir:-/tmp} + +test_pbm=${tmpdir}/maze.pbm +test_ppm=${tmpdir}/rose.ppm + +pnmmargin -white 7 maze.pbm | pnmpad -black -bottom=2 > ${test_pbm} +pnmmargin -white 6 testimg.ppm | pnmpad -black -right=11 > ${test_ppm} + +#Test 1 +echo Test 1 + +for input_file in ${test_pbm} ${test_ppm} + do + bfile=`basename ${input_file}` + for option in "" "-white" "-black" "-sides" \ + "-top" "-bottom" "-left" "-right" "-top -bottom" \ + "-bottom -bg-corner=bottomright" \ + "-right -bg-corner=bottomright" \ + "-bg-color=white" "-bg-color=black" "-bg-color=red" + do + echo "file: ${bfile} option: ${option}" + pnmcrop -reportfull ${option} ${input_file} || echo fail + done + done + +#Test 2 +echo "Test 2. Should print 0 six times" + +out_pnm=${tmpdir}/out.pnm + +for input_file in ${test_pbm} ${test_ppm} + do + bfile=`basename ${input_file}` + for option in "" "-white" "-top" + do + echo file: ${bfile} option: ${option} + # Normal crop operation + pnmcrop ${option} ${input_file} > ${out_pnm} + + # Compute edge extents with pnmcrop; let pamcut do the actual cropping + pamcut ${input_file} `pnmcrop -reportsize ${option} ${input_file} | \ + awk 'NF==6 && NR==1 && \ + $1<=0 && $2<=0 && $3<=0 && $4<=0 && $5>=0 && $6>=0 \ + { printf("-cropleft=%d -cropright=%d ", -$1, -$2); + printf("-croptop=%d -cropbottom=%d ", -$3, -$4) }' ` | \ + cmp -s - ${out_pnm} + echo $? + rm ${out_pnm} + done + done + +rm ${test_pbm} ${test_ppm} + +# Test 3 +echo "Test Invalid" + +test_out=${tmpdir}/test_out + +echo 1>&2 +echo "Invalid command-line argument combinations." 1>&2 +echo "Error messages should appear below the line." 1>&2 +echo "-----------------------------------------------------------" 1>&2 + +for option in "-reportfull -reportsize" \ + "-reportfull -borderfile=testgrid.pbm" \ + "-reportsize -borderfile=testgrid.pbm" \ + "-black -white" \ + "-black -sides" \ + "-white -bg-color=red" \ + "-white -bg-corner=topleft" \ + "-white -bg-corner=top" \ + "-blank-image=pasturize" \ + "-bg-color=black -closeness=-1" \ + "-bg-color=black -closeness=101" + do + pnmcrop -reportfull ${option} testgrid.pbm > ${test_out} || \ + printf "Expected failure: %s" "${option}" + test -s ${test_out}; echo " "$? + rm ${test_out} + done |