From 579ca710c2a01a669c37b80fc0d927ff77321394 Mon Sep 17 00:00:00 2001 From: giraffedata Date: Sat, 16 Dec 2023 20:38:12 +0000 Subject: new tests for pnmindex, pnmpad git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@4807 9d0c8265-081b-0410-96cb-a4ca84ce46f8 --- test/pnmpad-color.test | 446 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 446 insertions(+) create mode 100755 test/pnmpad-color.test (limited to 'test/pnmpad-color.test') diff --git a/test/pnmpad-color.test b/test/pnmpad-color.test new file mode 100755 index 00000000..05e8acca --- /dev/null +++ b/test/pnmpad-color.test @@ -0,0 +1,446 @@ +#! /bin/sh +# This script tests: pnmpad +# Also requires: pbmmake pgmmake ppmmake pamcut ppmtopgm + +tmpdir=${tmpdir:-/tmp} + +white_pbm=${tmpdir}/white.pbm +black_pbm=${tmpdir}/black.pbm +test127_pgm=${tmpdir}/testimg1.pgm +test255_pgm=${tmpdir}/testimg2.pgm +test511_pgm=${tmpdir}/testimg3.pgm +test127_ppm=${tmpdir}/testimg1.ppm +test255_ppm=${tmpdir}/testimg2.ppm +test511_ppm=${tmpdir}/testimg3.ppm +target_pnm=${tmpdir}/target.pnm + +BLACK="rgbi:0.0/0.0/0.0" +WHITE="rgbi:1.0/1.0/1.0" +LIGHTGRAY="rgbi:0.6/0.6/0.6" +LIGHTGRAYv=0.6 +DARKGRAY="rgbi:0.01/0.01/0.01" +DARKGRAYv=0.01 +PURPLE="rgb:A0/20/F0" +YELLOW="rgb:F0/F0/00" + +pbmmake -w 1 1 > ${white_pbm} +pbmmake -b 1 1 > ${black_pbm} +pgmmake 0.25 1 1 -maxval 127 > ${test127_pgm} +pgmmake 0.25 1 1 -maxval 255 > ${test255_pgm} +pgmmake 0.25 1 1 -maxval 511 > ${test511_pgm} +ppmmake ${YELLOW} 1 1 -maxval 127 > ${test127_ppm} +ppmmake ${YELLOW} 1 1 -maxval 255 > ${test255_ppm} +ppmmake ${YELLOW} 1 1 -maxval 511 > ${test511_ppm} + +ptop="-top 1" + +# define function +cmptarget () { pamcut -top 0 -left 0 -height 1 -width 1 $@ |\ + cmp -s ${target_ppm} - && echo "match" || echo "failure"; } + +echo "Test 1. PBM white infile" + +infile=${white_pbm} + +echo "Should print match seven times" + +pbmmake -w 1 1 > ${target_pnm} +pnmpad ${ptop} -white ${infile} | cmptarget +pnmpad ${ptop} -extend-edge ${infile} | cmptarget +pnmpad ${ptop} -detect-background ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote format ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote none ${infile} | cmptarget + +echo "Should print match seven times" + +pbmmake -b 1 1 > ${target_pnm} +pnmpad ${ptop} ${infile} | cmptarget +pnmpad ${ptop} -black ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote format ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote none ${infile} | cmptarget + +echo "Should print match once" + +pgmmake -maxval 1 ${LIGHTGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} -promote format ${infile} | cmptarget + +echo "Should print match once" + +pgmmake -maxval 1 ${DARKGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 255 ${LIGHTGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote all ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 255 ${DARKGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote all ${infile} | cmptarget + +echo "Should print match once" + +ppmmake -maxval 1 ${PURPLE} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 255 ${PURPLE} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote all ${infile} | cmptarget + +echo +echo "Test 2. PBM black infile" + +infile=${black_pbm} + +echo "Should print match nine times" + +pbmmake -b 1 1 > ${target_pnm} +pnmpad ${ptop} ${infile} | cmptarget +pnmpad ${ptop} -black ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote format ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote none ${infile} | cmptarget +pnmpad ${ptop} -extend-edge ${infile} | cmptarget +pnmpad ${ptop} -detect-background ${infile} | cmptarget + +echo "Should print match five times" + +pbmmake -w 1 1 > ${target_pnm} +pnmpad ${ptop} -white ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote format ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote none ${infile} | cmptarget + +echo +echo "Test 3. PGM maxval 127 infile" + +infile=${test127_pgm} + +echo "Should print match five times" + +pgmmake -maxval 127 0.0 1 1 > ${target_pnm} +pnmpad ${ptop} ${infile} | cmptarget +pnmpad ${ptop} -black ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote format ${infile} | cmptarget + +echo "Should print match four times" + +pgmmake -maxval 127 1.0 1 1 > ${target_pnm} +pnmpad ${ptop} -white ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +pamcut -t 0 -h 1 -w 1 ${infile} > ${target_pnm} +pnmpad ${ptop} -extend-edge ${infile} | cmptarget +pnmpad ${ptop} -detect-background ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 127 ${LIGHTGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 127 ${DARKGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote format ${infile} | cmptarget + +echo "Should print match once" + +ppmmake -maxval 127 ${PURPLE} 1 1 | ppmtopgm > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} -promote none ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 255 ${LIGHTGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote all ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 255 ${DARKGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote all ${infile} | cmptarget + +echo "Should print match once" + +ppmmake -maxval 127 ${PURPLE} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 255 ${PURPLE} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote all ${infile} | cmptarget + + +echo +echo "Test 4. PGM maxval 255 infile" + +infile=${test255_pgm} + +echo "Should print match five times" + +pgmmake -maxval 255 0.0 1 1 > ${target_pnm} +pnmpad ${ptop} ${infile} | cmptarget +pnmpad ${ptop} -black ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote format ${infile} | cmptarget + +echo "Should print match four times" + +pgmmake -maxval 255 1.0 1 1 > ${target_pnm} +pnmpad ${ptop} -white ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +pamcut -t 0 -h 1 -w 1 ${infile} > ${target_pnm} +pnmpad ${ptop} -extend-edge ${infile} | cmptarget +pnmpad ${ptop} -detect-background ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 255 ${LIGHTGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 255 ${DARKGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote format ${infile} | cmptarget + +echo "Should print match once" + +ppmmake -maxval 255 ${PURPLE} 1 1 | ppmtopgm > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} -promote none ${infile} | cmptarget + +echo "Should print match four times" + +pgmmake -maxval 255 ${LIGHTGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote format ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote all ${infile} | cmptarget + +echo "Should print match four times" + +pgmmake -maxval 255 ${DARKGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote format ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote all ${infile} | cmptarget + +echo "Should print match three times" + +ppmmake -maxval 255 ${PURPLE} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote format ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote all ${infile} | cmptarget + +echo +echo "Test 5. PGM maxval 511 infile" + +infile=${test511_pgm} + +echo "Should print match five times" + +pgmmake -maxval 511 0.0 1 1 > ${target_pnm} +pnmpad ${ptop} ${infile} | cmptarget +pnmpad ${ptop} -black ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote format ${infile} | cmptarget + +echo "Should print match four times" + +pgmmake -maxval 511 1.0 1 1 > ${target_pnm} +pnmpad ${ptop} -white ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +pamcut -t 0 -h 1 -w 1 ${infile} > ${target_pnm} +pnmpad ${ptop} -extend-edge ${infile} | cmptarget +pnmpad ${ptop} -detect-background ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 511 ${LIGHTGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 511 ${DARKGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote format ${infile} | cmptarget + +echo "Should print match once" + +ppmmake -maxval 511 ${PURPLE} 1 1 | ppmtopgm > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} -promote none ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 511 ${LIGHTGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote all ${infile} | cmptarget + +echo "Should print match twice" + +pgmmake -maxval 511 ${DARKGRAYv} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote all ${infile} | cmptarget + +echo "Should print match three times" + +ppmmake -maxval 511 ${PURPLE} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote format ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote all ${infile} | cmptarget + + +echo +echo "Test 6. PPM maxval 127 infile" + +infile=${test127_ppm} + +echo "Should print match five times" + +ppmmake -maxval 127 ${BLACK} 1 1 > ${target_pnm} +pnmpad ${ptop} ${infile} | cmptarget +pnmpad ${ptop} -black ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote format ${infile} | cmptarget + +echo "Should print match four times" + +ppmmake -maxval 127 ${WHITE} 1 1 > ${target_pnm} +pnmpad ${ptop} -white ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 127 ${PURPLE} 1 1 > ${target_pnm} +ppmmake -maxval 127 ${PURPLE} 1 2 | pnmpad ${ptop} -extend-edge | cmptarget +ppmmake -maxval 127 ${PURPLE} 1 2 | pnmpad ${ptop} -detect-background | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 127 ${LIGHTGRAY} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 127 ${DARKGRAY} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote format ${infile} | cmptarget + +echo "Should print match once" + +ppmmake -maxval 127 ${PURPLE} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} -promote none ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 255 ${LIGHTGRAY} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote all ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 255 ${DARKGRAY} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote all ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 255 ${PURPLE} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${PURPLE} ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote all ${infile} | cmptarget + +echo +echo "Test 7. PPM maxval 511 infile" + +infile=${test511_ppm} + +echo "Should print match five times" + +ppmmake -maxval 511 ${BLACK} 1 1 > ${target_pnm} +pnmpad ${ptop} ${infile} | cmptarget +pnmpad ${ptop} -black ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${BLACK} -promote format ${infile} | cmptarget + +echo "Should print match four times" + +ppmmake -maxval 511 ${WHITE} 1 1 > ${target_pnm} +pnmpad ${ptop} -white ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${WHITE} -promote format ${infile} | cmptarget + +echo "Should print match six times" + +ppmmake -maxval 511 ${PURPLE} 1 1 > ${target_pnm} +ppmmake -maxval 511 ${PURPLE} 1 5 | pnmpad ${ptop} -extend-edge | cmptarget +ppmmake -maxval 511 ${PURPLE} 1 5 | pnmpad ${ptop} -detect-background | cmptarget +pnmpad ${ptop} -color ${PURPLE} ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote format ${infile} | cmptarget +pnmpad ${ptop} -color ${PURPLE} -promote all ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 511 ${LIGHTGRAY} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 511 ${DARKGRAY} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} -promote none ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote format ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 511 ${LIGHTGRAY} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${LIGHTGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${LIGHTGRAY} -promote all ${infile} | cmptarget + +echo "Should print match twice" + +ppmmake -maxval 511 ${DARKGRAY} 1 1 > ${target_pnm} +pnmpad ${ptop} -color ${DARKGRAY} ${infile} | cmptarget +pnmpad ${ptop} -color ${DARKGRAY} -promote all ${infile} | cmptarget -- cgit 1.4.1