on 11
newalias notext off 13	; 'newalias'-Test
newalias text on 13		;		"
newalias tree find -t	;		"
notext
cls
echo %n%n%n%n%9%9%1Testbatchdatei fr COMMAND.PRG
echo %9%9%7von Joachim Wolf
echo %n%n%3Diese Datei dient der šberprfung der meisten(!) Befehle des Kommando-
echo %3interpreters. Man kann sich aus dieser Datei aužerdem Inspirationen
echo %3fr eigene Anwendungen holen.
echo %n%3Um ein korrektes Funktionieren zu gew„hrleisten, muž das
echo %3'errorbreak'-Flag gesetzt sein. Sollte dies nicht der Fall sein, haben
echo %3Sie nun die M”glichkeit, den Test anzuhalten und mit Hilfe von
echo %3"on 2" dies nachzuholen.%n%n
?stop
clear
cls
echo nach Drcken einer Taste muž 5 mal BELL ert”nen%n
wait
text
let bell 5
lbl glocke
bell
wait 1
-- bell
print bell
if bell <> 0 then goto glocke
off 13
echo %nBis jetzt vorhandene Variablen:
text
vardump
wait
cls
off 13
echo es wird jetzt die Variable zaehler bis 100 hochgezaehlt
wait
cls
text
lbl hundert
print zaehler
++ zaehler
if zaehler < 101 then goto hundert
off 13
echo
?stop
cls
echo zaehler wird jetzt bis auf Null runtergeteilt%n
wait
cls
text
lbl teilung
print zaehler
2/ zaehler
if zaehler > 0 then goto teilung
off 13
echo
?stop
cls
echo zaehler wird auf eins gesetzt und solange verdoppelt
echo bis zaehler > 1000 ist
wait
cls
text
++ zaehler
lbl tausend
print zaehler
2* zaehler
if zaehler < 1001 then goto tausend
echo
vardump
off 13
echo
?stop
cls
echo es werden jetzt alle Variablen auf Null gesetzt
wait
text
clear
vardump
off 13
?stop
cls
echo es wird der freie RAM-Speicher und die freie Kapazit„t des aktuellen
echo Speichermediums angezeigt
text
df
free
echo %nTest von 'if ='
if bell = 0 then goto weiter
echo if = funktioniert nicht
stop
lbl weiter
echo 'if =' ok
off 13
?stop
cls
echo es wurden bis jetzt folgende Befehle getestet:%n
echo off 13, cls, lbl, clear, echo, wait, ?stop, bell
echo -- , ++ , 2*, 2/
echo if < > <> =
echo df , free
echo print , vardump , let, free, df, goto, flags
text
flags
?stop
off 13
cls
echo es werden jetzt die Cursor- und Mausbefehle getestet%n
echo Mausein
mouseon
wait
echo Mausaus
mouseoff
wait
echo Cursor aus
crsoff
wait
echo Cursor ein
crson
?stop
cls
echo es werden jetzt weitere Variablenbefehle berprft
echo bell muž am Ende auf 1000 und zaehler auf 0 stehen%n
wait
cls
text
vardump
+= bell 10
+= zaehler bell
*= bell 20
*= bell zaehler
/= bell 2
-= zaehler zaehler
off 13
echo Endbelegung der Variablen:
vardump
?stop
cls
echo es wurden jetzt alle Variablenbefehle getestet
echo %nTest von dir und ls
echo 1. alle Files
echo 2. nur '.prg'-Files
wait
text
dir
dir *.prg
ls
ls *.prg
off 13
?stop
cls
echo ALIAS-Test
alias
echo neues ALIAS 'juhu'
newalias juhu @test
alias
echo l”schen des neuen ALIAS
delalias juhu
alias
?stop
cls
echo inverse + head-Test
echo der ausgegeben Text darf nicht beachtet werden!
wait
inverse
head test.com
wait
inverse
?stop
cls
echo 'more' und 'od' werden berprft (an TEST-file)
wait
more test.com
od test.com
?stop
cls
echo 'cp', 'cmp' und 'rm' werden getestet
wait
echo
text
cp test.com t.t
cmp test.com t.t
ls t*.*
rm t.t
ls t*.*
off 13
?stop
cls
echo Test von 'mv'
wait
text
echo "Dies ist ein Test" >test.dat
mv test.dat t.dat
ls t*.*
mv t.dat test.dat
ls t*.*
rm test.dat
off 13
?stop
cls
echo šberprfung von 'device', 'version', 'pwd', 'help', 'time' und 'date'%n
wait
help
time
date
pwd
device
version
echo
?stop
cls
echo Test 'find' und 'string'
echo bei 'find' mssen alle '.prg'-Files auf dem Laufwerk ausgegeben werden
echo bei 'string' mssen alle Files im Directory ausgegeben werden, die
echo das Wort 'device' enthalten.
wait
cls
find *.prg
string device *.*
?stop
cls
echo Test von 'exist' und 'size0'
exist test.com goto testok
echo 'exist' fehlerhaft!
stop
lbl testok
echo 'exist' korrekt!
size0 t.t goto test2ok
echo 'size0' fehlerhaft!
stop
lbl test2ok
echo 'size0' korrekt!
?stop
cls
echo Teste 'settab', 'keys', 'setlp', 'defkey', 'h' und 'lock'%n
wait
text
echo teste 'keys'
wait
keys
echo teste 'flags'
wait
flags
echo teste 'setlp'
setlp
flags
wait
echo teste 'resetlp'
resetlp
flags
wait
echo teste 'setlp 1 2 3' und 'resetlp 1 2 3'
setlp 1 2 3
resetlp 1 2 3
flags
wait
echo teste 'defkey 1 @test'
defkey 1 @test
keys
wait
echo teste 'h'
h
wait
cls
echo teste 'lock'%n
lock
wait
echo teste 'settab 5'
settab 5
flags
wait
echo teste 'settab 8'
settab 8
flags
off 13
?stop
cls
echo Test 'wc' mit File 'TEST'
wc test.com
wait
cls
echo Test des tree-Befehls
wait
find -t
wait
cls
echo Test von 'cat'
wait
cls
cat test.com
wait
cls
echo Test von 'cleararg', 'inquire', '?arg', 'shiftarg' und 'setarg'
echo %n1.inquire-šberprfung
cleararg
inquire Argumente eingeben:
lbl inquire
echo $0
shiftarg
?arg 0 goto inquire
wait
echo %n2.setarg-šberprfung
echo es muž "Argument1 Argument2" erscheinen%n
text
setarg Argument1 Argument2
echo $0 $1
wait
off 13
cls
echo %n šberprfung von 'while' und 'gosub'
echo Der Prameter i wird bis 20 hochgez„hlt%n
erase
let i 0
while i < 21
  gosub test_gosub
wend
wait
echo %n šberprfung von 'findfirst' und 'findnext' %n
findfirst datei$ *.*
while status <> -1
	echo Ýdatei$
	findnext datei$
wend
echo %n%n******** Testende erreicht ********%n
echo soll nicht abgebrochen werden wird der Befehl 'restart' ausgefhrt
echo und der Testdurchlauf neu gestartet%n
?stop
restart
;
lbl test_gosub
  vardump
  ++ i
return
