DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T f

⟦fd649146b⟧ TextFile

    Length: 7832 (0x1e98)
    Types: TextFile
    Names: »ff.test«

Derivation

└─⟦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« 

TextFile

#! /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