about summary refs log tree commit diff
path: root/test/pbmtext-bdf.test
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2018-09-25 02:09:44 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2018-09-25 02:09:44 +0000
commitca00385342fb1122965d02e55fff15288138ee40 (patch)
treecaa34dba6739b33a01f905096c2546aa4161ec74 /test/pbmtext-bdf.test
parent9bd08f60e4fd68a4527411ed49ac0ae46e166e7f (diff)
downloadnetpbm-mirror-ca00385342fb1122965d02e55fff15288138ee40.tar.gz
netpbm-mirror-ca00385342fb1122965d02e55fff15288138ee40.tar.xz
netpbm-mirror-ca00385342fb1122965d02e55fff15288138ee40.zip
New tests for 'pamaltsat', 'pamgetcolor', 'pamlevels', 'pamtris'; Various test fixes
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3338 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'test/pbmtext-bdf.test')
-rwxr-xr-xtest/pbmtext-bdf.test78
1 files changed, 74 insertions, 4 deletions
diff --git a/test/pbmtext-bdf.test b/test/pbmtext-bdf.test
index 1bd7c52c..50df7b75 100755
--- a/test/pbmtext-bdf.test
+++ b/test/pbmtext-bdf.test
@@ -5,7 +5,7 @@
 tmpdir=${tmpdir:-/tmp}
 
 font_bdf=${tmpdir}/font.bdf
-font_corrupt_bdf=${tmpdir}/fontcorrupt.bdf
+font_corrupt=${tmpdir}/fontcorrupt
 
 # Though this BDF font file defines only three letters, it is valid.
 
@@ -69,31 +69,101 @@ pbmtext -font ${font_bdf} ABC | cksum
 
 
 # Test 2
-# The rest should all fail.  Writes 1 seven times.
+# These should all fail.  Writes 1 eightteen times.
 
 echo "Test whether corrupted BDF font files are properly handled." 1>&2
-echo "Error messages will appear." 1>&2
-echo 1>&2
+echo "Error messages should appear below the line." 1>&2
+echo "-----------------------------------------------------------" 1>&2
 
 pbmtext -font ${font_bdf} BCD
 echo $?
 
+for token in "STARTPROPERTIES" "CHARS" "STARTCHAR" "ENCODING" "DWIDTH"
+do
+  font_corrupt_bdf=${font_corrupt}.naked_${token}.bdf
+  sed 's/^'${token}' .*$/'${token}'/' \
+    ${font_bdf} >  ${font_corrupt_bdf}
+  pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
+  echo $?
+  rm ${font_corrupt_bdf}
+done
+
+font_corrupt_bdf=${font_corrupt}.fbbx_narrow.bdf
 sed 's/FONTBOUNDINGBOX 4 5 0 0/FONTBOUNDINGBOX 4 4 0 0/' \
+  ${font_bdf} > ${font_corrupt_bdf}
+pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
+echo $?
+rm ${font_corrupt_bdf}
+
+font_corrupt_bdf=${font_corrupt}.fbbx_low.bdf
+sed 's/FONTBOUNDINGBOX 4 5 0 0/FONTBOUNDINGBOX 3 5 0 0/' \
+  ${font_bdf} >  ${font_corrupt_bdf}
+pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
+echo $?
+rm ${font_corrupt_bdf}
+
+font_corrupt_bdf=${font_corrupt}.bbx_only3fields.bdf
+sed 's/BBX 4 5 0 0/BBX 4 5 0/' \
+  ${font_bdf} >  ${font_corrupt_bdf}
+pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
+echo $?
+rm ${font_corrupt_bdf}
+
+font_corrupt_bdf=${font_corrupt}.bbx_wide.bdf
+sed 's/BBX 4 5 0 0/BBX 9 5 0 0/' \
+  ${font_bdf} >  ${font_corrupt_bdf}
+pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
+echo $?
+rm ${font_corrupt_bdf}
+
+font_corrupt_bdf=${font_corrupt}.bbx_zerowidth.bdf
+sed 's/BBX 4 5 0 0/BBX 0 5 0 0/' \
   ${font_bdf} >  ${font_corrupt_bdf}
 pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
 echo $?
 rm ${font_corrupt_bdf}
 
+font_corrupt_bdf=${font_corrupt}.bbx_tall.bdf
 sed 's/BBX 4 5 0 0/BBX 4 6 0 0/' \
   ${font_bdf} >  ${font_corrupt_bdf}
 pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
 echo $?
 rm ${font_corrupt_bdf}
 
+font_corrupt_bdf=${font_corrupt}.bbx_low.bdf
+sed 's/BBX 4 5 0 0/BBX 4 1 0 0/' \
+  ${font_bdf} >  ${font_corrupt_bdf}
+pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
+echo $?
+rm ${font_corrupt_bdf}
+
+font_corrupt_bdf=${font_corrupt}.bbx_zeroheight.bdf
+sed 's/BBX 4 5 0 0/BBX 4 0 0 0/' \
+  ${font_bdf} >  ${font_corrupt_bdf}
+pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
+echo $?
+rm ${font_corrupt_bdf}
+
 for delete_line in 14 16 18 20
   do
+  font_corrupt_bdf=${font_corrupt}.del${delete_line}.pdf
   sed "${delete_line}"d ${font_bdf} >  ${font_corrupt_bdf}
   pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
   echo $?
   rm ${font_corrupt_bdf}
   done
+
+
+# Test 2
+# These should succeed.  Warning messages will be displayed.
+# Writes 1 two times.
+
+for token in "CHARSET_ENCODING" "CHARSET_REGISTRY"
+do
+  font_corrupt_bdf=${font_corrupt}.naked_${token}.bdf
+  sed 's/^'${token}' .*$/'${token}'/' \
+    ${font_bdf} >  ${font_corrupt_bdf}
+  pbmtext -font ${font_corrupt_bdf} ABC > /dev/null
+  echo $?
+  rm ${font_corrupt_bdf}
+done