|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T f
Length: 7832 (0x1e98)
Types: TextFile
Names: »ff.test«
└─⟦db229ac7e⟧ Bits:30007240 EUUGD20: SSBA 1.2 / AFW Benchmarks
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21E/musbus/ff.test«
└─⟦this⟧ »EUUGD20/AFUU-ssba1.21/ssba1.21F/musbus/ff.test«
#! /bin/sh
# test script for ffssba fast text formatter
PATH=$PATH:.:/tmp
export PATH
delim="-------------- "
trap "rm -f /tmp/linelength fourcol ff.in; exit 1" 2
# Define utility functions
runcom()
{
echo "$delim($1):" "$2"
shift
echo $* | sh
}
newtest()
{
echo
echo $1
echo ===============================================
}
# create utility files
cat << \EOF > fourcol
a b c d
w x y z
EOF
cat << \EOF > ff.in
The rain in Spain falls mainly in the plains.
She sells sea shells on the sea shore.
Peter piper picked a peck of pickled peppers.
The quick red fox jumped over the lazy brown dog.
A stitch in time saves nine.
Now is the time for all good men to come to the aid of the party.
And now a word from our sponsor...
The rain in Spain falls mainly in the plains. She sells sea
shells on the sea shore. Peter piper picked a peck of
pickled peppers. The quick red fox jumped over the lazy
brown dog. A stitch in time saves nine. Now is the time
for all good men to come to the aid of the party. And now a
word from our sponsor...
EOF
newtest "WIDTH WIDTH WIDTH WIDTH WIDTH WIDTH WIDTH WIDTH"
runcom "width of 1" "ffssba -w 1 ff.in "
runcom "width of 20" "ffssba -w 20 ff.in "
runcom "width of 60" "ffssba -w 60 ff.in "
newtest "JUSTIFY JUSTIFY JUSTIFY JUSTIFY JUSTIFY JUSTIFY JUSTIFY"
runcom "justify text" "ffssba -j ff.in"
runcom "justify with width = 30" "ffssba -w 30 -j ff.in "
runcom "justify with indent and temp indent" "ffssba -j -i 20 -I 5 ff.in "
newtest "ALLTABS ALLTABS ALLTABS ALLTABS ALLTABS ALLTABS"
runcom "tabs set at 1" "ffssba -T 1 -b fourcol"
runcom "tabs set at 10" "ffssba -T 10 -b fourcol"
runcom "tabs set at 100" "ffssba -T 100 -b fourcol"
newtest "TABS TABS TABS TABS TABS TABS TABS TABS TABS TABS"
runcom "decreasing values" "ffssba -t 10 -t 11 -t 10"
runcom "non increasing values" "ffssba -t 10 -t 11 -t 11"
runcom "1 too many values" "ffssba -t 1 -t 2 -t 3 -t 4 -t 5 -t 6 -t 7 -t 8 -t 9 -t 10 -t 11 -t 12 -t 13 -t 14 -t 15 -t 16 -t 17 -t 18 -t 19 -t 20 -t 21"
runcom "max number of values - exits from unknown option" "ffssba -t 1 -t 2 -t 3 -t 4 -t 5 -t 6 -t 7 -t 8 -t 9 -t 10 -t 11 -t 12 -t 13 -t 14 -t 15 -t 16 -t 17 -t 18 -t 19 -t 20 -z"
runcom "huge tab value" "ffssba -t 300"
runcom "tab value at extreme" "ffssba -t 255 fourcol"
runcom "indented ff -U table" "ffssba -U | ffssba -t 20"
runcom "all plussed values" "ffssba -t +55 -t +15 fourcol"
runcom "more tabs than tabstops" "ffssba -t 10 -t +15 fourcol"
newtest "UPPER CASE TITLE UPPER CASE TITLE UPPER CASE TITLE"
runcom "all titles" "ffssba -u ff.in"
runcom "centered titles" "ffssba -cu ff.in"
newtest "SPACING SPACING SPACING SPACING SPACING SPACING SPACING"
runcom "24 lines spacing of 10 lines - 217 lines" "ffssba -bs 24 | wc"
newtest "NUMWIDTH NUMWIDTH NUMWIDTH NUMWIDTH NUMWIDTH NUMWIDTH"
runcom "1 value" "ffssba -N 1 ff.in"
runcom "numwidth = 10" "ffssba -N 10 ff.in"
runcom "numwidth 20 centered" "ffssba -N 20 -c ff.in"
runcom "numwidth=10 indent=10 width=50 tindent=-5 justified" "ffssba -N 10 -i 10 -w 50 -I -5 -j ff.in"
newtest "NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER NUMBER"
runcom "number zero lines" "ffssba -n /dev/null"
runcom "number centered lines" "ffssba -n -c ff.in"
runcom "number 4 spaced broken lines" "ffssba -s 4 -n ff.in"
runcom "number 3 spaced lines on 23 line pages" "ffssba -n -s 3 -b -P 23 | wc"
newtest "TINDENT TINDENT TINDENT TINDENT TINDENT TINDENT TINDENT"
runcom "temp indent 5" "ffssba -I 5 ff.in"
runcom "negative temp indent will automatically bump -i option" "ffssba -I -5 ff.in"
runcom "negative temp indent less than -i option" "ffssba -I -5 -i 10 ff.in"
newtest "INDENT INDENT INDENT INDENT INDENT INDENT INDENT INDENT"
runcom "indent 10" "ffssba -i 10 ff.in"
runcom "indent 50" "ffssba -i 50 ff.in"
#runcom "indent 300 - does not crash but is really tedious" "ffssba -i 300 ff.in"
newtest "HEADSIZE HEADSIZE HEADSIZE HEADSIZE HEADSIZE HEADSIZE"
runcom "1 header size" "ffssba -H 1 ff.in | wc"
runcom "100 header size" "ffssba -h 'Huge header!!' -H 100 ff.in | wc"
newtest "tricky part can come with even and odd sizes"
runcom "20 header w/out -p option" "ffssba -H 20 ff.in | wc"
runcom "odd header size = 19" "ffssba -H 19 ff.in | wc"
newtest "HEADER HEADER HEADER HEADER HEADER HEADER HEADER"
runcom "nice header" 'ffssba -h "@$NAME on $TERM@@`date`" ff.in'
newtest "FOOTSIZE FOOTSIZE FOOTSIZE FOOTSIZE FOOTSIZE FOOTSIZE"
runcom "1 foot size" 'ffssba -F 0 -f "Howdy $NAME" ff.in | wc'
runcom "zero foot size without -p" "ffssba -F 0 ff.in"
runcom "20 foot size" 'ffssba -F 20 -f "Howdy $NAME" ff.in | wc'
runcom "19 foot size" 'ffssba -F 19 -f "Howdy $NAME" ff.in | wc'
newtest "FOOTER FOOTER FOOTER FOOTER FOOTER FOOTER FOOTER"
runcom "nice threepart" 'ffssba -f "@`date`@$NAME@File \* Page %@" ff.in'
newtest "DELETE DELETE DELETE DELETE DELETE DELETE DELETE"
runcom "delete blank lines - not really blank" "ffssba -D ff.in"
runcom "delete blank chars - breaking all lines" "ffssba -bd ff.in | diff ff.in -"
runcom "delete chars then lines" "ffssba -Dd ff.in"
newtest "BREAKCHARS BREAKCHARS BREAKCHARS BREAKCHARS"
runcom "null break chars" 'ffssba -B "" ff.in'
runcom "break on T" "ffssba -B T ff.in"
newtest "PAGELENGTH PAGELENGTH PAGELENGTH PAGELENGTH PAGELENGTH"
runcom "0dd page length of 19 should imply -p option" "ffssba -P 19 ff.in | wc"
runcom "ridiculously small page length" "ffssba -P 1 ff.in | wc"
newtest "PAGINATE PAGINATE PAGINATE PAGINATE PAGINATE PAGINATE"
runcom "paginate" "ffssba -p ff.in | wc"
newtest "BREAK BREAK BREAK BREAK BREAK BREAK BREAK BREAK"
runcom "break lines + check with diff" "ffssba -b ff.in | diff - ff.in"
newtest "CENTER CENTER CENTER CENTER CENTER CENTER CENTER "
runcom "center all lines" "ffssba -c ff.in"
runcom "center on lines 50 wide" "ffssba -c -w 50 ff.in"
runcom "center on lines 1 wide" "ffssba -c -w 1 ff.in"
newtest "BASIC BASIC BASIC BASIC BASIC BASIC BASIC BASIC "
runcom "no options from stdin" "ffssba < ff.in"
runcom "no options from stdin -" "ffssba - < ff.in"
runcom "no options from ff.in" "ffssba ff.in"
runcom "three times: ff.in - ff.in" "ffssba ff.in - ff.in < ff.in"
runcom "usage menu" "ffssba -U"
newtest "BAD OPTIONS BAD OPTIONS BAD OPTIONS BAD OPTIONS"
runcom "bad option" "ffssba -z"
runcom "bad file" "ffssba howdy pal"
runcom "too many calls to stdin" "ffssba - - - < ff.in"
newtest "PARSER PARSER PARSER PARSER PARSER PARSER PARSER PARSER"
newtest "CHECK OPTIONS CHECK OPTIONS CHECK OPTIONS CHECK OPTIONS"
runcom "center iff no justify" "ffssba -cj ff.in"
runcom "break lines iff no justify" "ffssba -bj ff.in"
runcom "justify iff not center" "ffssba -cj"
runcom "justify iff not breaklines" "ffssba -bj"
runcom "justify iff not tabs" "ffssba -t 5 -j"
newtest "NUMBER OPTIONS NUMBER OPTIONS NUMBER OPTIONS NUMBER OPTIONS"
for numopt in P w T t s N i I H F P
do
runcom "Missing Value" "ffssba -$numopt < ff.in"
runcom "Bad Type Value" "ffssba -$numopt foo < ff.in"
runcom "Zero Integer" "ffssba -$numopt 0 < ff.in"
runcom "Negative Integer" "ffssba -$numopt -1 < ff.in"
done
newtest "MISSING ARGS MISSING ARGS MISSING ARGS MISSING ARGS"
for argopt in h f B
do
runcom "Missing Value" "ffssba -$argopt < ff.in"
done
rm -f ff.in fourcol /tmp/linelength