* tests/ac_test2.prg
* tests/adirtest.prg
* tests/ainstest.prg
* tests/altdtest.prg
* tests/and_or.prg
* tests/array16.prg
* tests/arrayidx.prg
* tests/arrays.prg
* tests/arreval.prg
* tests/arrindex.prg
* tests/atest.prg
* tests/box.prg
* tests/boxtst2.prg
* tests/byref.prg
* tests/calling.prg
* tests/clasinit.prg
* tests/clasname.prg
* tests/classch.prg
* tests/classes.prg
* tests/clsdata.prg
* tests/cmphello.prg
* tests/codebl.prg
* tests/codebloc.prg
* tests/comments.prg
* tests/curdirt.prg
* tests/db_brows.prg
* tests/dbevalts.prg
* tests/docase.prg
* tests/dosshell.prg
* tests/dupvars.prg
* tests/dynobj.prg
* tests/dynsym.prg
* tests/exittest.prg
* tests/extend1.prg
* tests/exthrb.prg
* tests/fib.prg
* tests/fornext.prg
* tests/fortest.prg
* tests/funcarr.prg
* tests/gfx.prg
* tests/gtchars.prg
* tests/gtcolors.prg
* tests/gtkeys.prg
* tests/hello.prg
* tests/ifelse.prg
* tests/inherit.prg
* tests/inhprob.prg
* tests/inifiles.prg
* tests/initexit.prg
* tests/inline.prg
* tests/iotest.prg
* tests/iotest2.prg
* tests/keywords.prg
* tests/langmsg.prg
* tests/linecont.prg
* tests/lnlenli1.prg
* tests/lnlenli2.prg
* tests/longdev.prg
* tests/longstr.prg
* tests/longstr2.prg
* tests/mathtest.prg
* tests/memfile.prg
* tests/memory.prg
* tests/readhrb.prg
* tests/rto_get.prg
* tests/rto_tb.prg
* tests/scroll.prg
* tests/seconds.prg
* tests/set_test.prg
* tests/speedold.prg
* tests/stripem.prg
* tests/t1.prg
* tests/test_all.prg
* tests/testbrw.prg
* tests/testhtml.prg
* tests/testid.prg
* tests/testpre.prg
* tests/testwarn.prg
* tests/ticktime.prg
* tests/tstchbx.prg
* tests/tstmacro.prg
* tests/tstprag.prg
* tests/vec1.prg
* tests/videotst.prg
* tests/vidtest.prg
* cleaning up tests (roughly complete)
84 lines
1.8 KiB
Plaintext
84 lines
1.8 KiB
Plaintext
/*
|
|
* $Id$
|
|
*/
|
|
|
|
REQUEST __PP_STDRULES
|
|
|
|
PROCEDURE Main()
|
|
|
|
LOCAL cString, l_pp
|
|
LOCAL i, j, aScript
|
|
|
|
CLS
|
|
|
|
l_pp := __pp_init()
|
|
|
|
QOut( "Testing Harbour run-time preprocessing" )
|
|
QOut( "======================================" )
|
|
QOut( "" )
|
|
|
|
cString := "@ 10, 10 SAY 'Hello!'"
|
|
QOut( cString )
|
|
QOut( __pp_process( l_pp, cString ) )
|
|
QOut( "" )
|
|
|
|
cString := "? 'Hello mom'"
|
|
QOut( cString )
|
|
QOut( __pp_process( l_pp, cString ) )
|
|
QOut( "" )
|
|
|
|
cString := 'SET RELATION TO Something INTO MySelf'
|
|
QOut( cString )
|
|
QOut( __pp_process( l_pp, cString ) )
|
|
QOut( "" )
|
|
|
|
cString := 'SET RELATION ADDITIVE TO Something INTO YourSelf'
|
|
QOut( cString )
|
|
QOut( __pp_process( l_pp, cString ) )
|
|
QOut( "" )
|
|
|
|
cString := "#xcommand DEFAULT <v1> := <x1> => IF <v1> == NIL ; <v1> := <x1> ; END"
|
|
QOut( cString )
|
|
IF __pp_addRule( l_pp, cString )
|
|
QOut( "Rule added successfully !" )
|
|
ELSE
|
|
QOut( "Rule addition failed ..." )
|
|
ENDIF
|
|
|
|
cString := 'DEFAULT x := 100'
|
|
QOut( cString )
|
|
QOut( __pp_process( l_pp, cString ) )
|
|
QOut( "" )
|
|
|
|
QOut( "Press <Enter>..." )
|
|
__Accept( "" )
|
|
|
|
CLS
|
|
|
|
aScript := { 'cMyDatabase := "dontknow.dbf"', ;
|
|
'USE (cMyDatabase)', ;
|
|
'GO TOP', ;
|
|
'', ;
|
|
'? MYFIELD, YOURFIELD', ;
|
|
'', ;
|
|
'WAIT "Press <Enter> key..."', ;
|
|
'', ;
|
|
'CLOSE ALL' }
|
|
|
|
FOR j := 1 TO 2
|
|
QOut( iif( j = 1, "Before", "After" ) + " __pp_process()" )
|
|
QOut( "===================" )
|
|
QOut( "" )
|
|
FOR i := 1 TO Len( aScript )
|
|
|
|
? iif( j = 1, aScript[ i ], __pp_process( l_pp, aScript[ i ] ) )
|
|
|
|
NEXT
|
|
QOut( "" )
|
|
QOut( "Press <Enter> key..." )
|
|
__Accept( "" )
|
|
CLS
|
|
NEXT
|
|
|
|
RETURN
|