19991022-15:16 GMT+1

This commit is contained in:
Viktor Szakats
1999-10-22 13:31:02 +00:00
parent 27e3321d16
commit 40c22f436e
10 changed files with 177 additions and 188 deletions

View File

@@ -1,3 +1,25 @@
19991022-15:16 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/rtl_test.prg
- tests/filexist.prg (removed)
- tests/val.prg (removed)
- tests/strcmp.prg (removed)
- tests/instr.prg (removed)
- tests/syserror.prg (removed)
- tests/operat.prg (removed)
tests/Makefile
+ Rest of File() tests moved to RTL_TEST, so FILEXITS.PRG could be removed
+ One ValType() test moved to RTL_TEST, so VAL.PRG could be removed
+ STRCMP.PRG tests moved to RTL_TEST
+ INSTR.PRG tests moved to RTL_TEST
+ SYSERROR.PRG tests moved to RTL_TEST
+ OPERAT.PRG tests moved to RTL_TEST
+ Some new operator precedence and inline inc/dec op. tests added.
* Small cleanup in RTL_TEST.
; All newly added tests passes.
* tests/tstcolor.prg
+ Some tests added for the SetColor() bug fixed yesterday.
! RETURN added to suppress warning.
19991022-13:56 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/rtl_test.prg
- tests/fileio.prg

View File

@@ -66,7 +66,6 @@ PRG_SOURCES=\
dynsym.prg \
exittest.prg \
fib.prg \
filexist.prg \
fornext.prg \
fortest.prg \
funcarr.prg \
@@ -79,7 +78,6 @@ PRG_SOURCES=\
initexit.prg \
inkeytst.prg \
inline.prg \
instr.prg \
iotest.prg \
iotest2.prg \
longdev.prg \
@@ -96,7 +94,6 @@ PRG_SOURCES=\
objarr.prg \
objasign.prg \
objects.prg \
operat.prg \
os.prg \
output.prg \
overload.prg \
@@ -120,13 +117,11 @@ PRG_SOURCES=\
statinit.prg \
statfun.prg \
statics.prg \
strcmp.prg \
strdelim.prg \
strings.prg \
strings2.prg \
strings3.prg \
strip.prg \
syserror.prg \
t1.prg \
test.prg \
test_all.prg \
@@ -150,7 +145,6 @@ PRG_SOURCES=\
testwarn.prg \
tstalias.prg \
tstcolor.prg \
val.prg \
version.prg \
while.prg \

View File

@@ -1,20 +0,0 @@
//
// $Id$
//
// test of file function
function main
if file("filexist.prg") == .t.
qout("file exist test works")
else
qout("file exist test fails")
endif
if file("filxxist.prg") == .f.
qout("file exist test works")
else
qout("file exist test fails")
endif
return nil

View File

@@ -1,22 +0,0 @@
//
// $Id$
//
/* test of instring $ operator */
function main
qout( "test of instring $ operator ")
qout('"d" $ "bcde" ', "d" $ "bcde",.t.)
qout('"D" $ "BCDE" ', "D" $ "BCDE",.t.)
qout('"a" $ "bcde" ', "a" $ "bcde",.f.)
qout('"d" $ "BCDE" ', "d" $ "BCDE",.f.)
qout('"D" $ "bcde" ', "D" $ "bcde",.f.)
qout('"de" $ "bcde"', "de" $ "bcde",.t.)
qout('"bd" $ "bcde"', "bd" $ "bcde",.f.)
qout('"BD" $ "bcde"', "BD" $ "bcde",.f.)
return nil

View File

@@ -1,45 +0,0 @@
//
// $Id$
//
// Testing Harbour operators management
#define CRLF Chr( 13 ) + Chr( 10 )
function Main()
local a := 1
local b := 2
local c := 3
QOut( "testing Harbour operators management" )
QQOut( "a = ", a, CRLF )
QQOut( "b = ", b, CRLF )
QQOut( "c = ", c, CRLF )
QQOut( "a + b = ", a + b, CRLF ) // 3
QQOut( "b - a = ", b - a, CRLF ) // 1
QQOut( "b * c = ", b * c, CRLF ) // 6
QQOut( "b * c / 2 = ", b * c / 2, CRLF ) // 3
QQOut( "a += b = ", a += b, CRLF ) // 3
QQOut( "a = ", a, CRLF ) // 3
QQOut( "a -= b = ", a -= b, CRLF ) // 1
QQOut( "a = ", a, CRLF ) // 1
QQOut( "a < b ", a < b, CRLF ) // TRUE
QQOut( "a > b ", a > b, CRLF ) // FALSE
QQOut( "a + b <= c ", a + b <= c, CRLF) // TRUE
QQOut( "a + b >= c ", a + b >= c, CRLF) // TRUE
QQOut( "a *= b = ", a *= b, CRLF ) // 2
QQOut( "a /= b = ", a /= b, CRLF ) // 1
QQOut( "a = ", a, CRLF ) // 1
QQOut( "b ** 3 = ", b ** 3, CRLF ) // 8
QQOut( "b ^ 3 = ", b ^ 3, CRLF ) // 8
QQOut( "8 % 3 = ", 8 % 3, CRLF ) // 2
return nil

View File

@@ -164,6 +164,7 @@ FUNCTION Main( cPar1, cPar2 )
RETURN NIL
STATIC FUNCTION Main_HVM()
LOCAL nA, nB, nC
/* NOTE: CA-Cl*pper PP fails on these
TEST_LINE( "1" .AND. "2" , "E BASE 1066 Argument error conditional " )
@@ -192,6 +193,7 @@ STATIC FUNCTION Main_HVM()
TEST_LINE( ValType( suNIL ) , "U" )
TEST_LINE( ValType( sbBlock ) , "B" )
TEST_LINE( ValType( saArray ) , "A" )
TEST_LINE( ValType( { 1, 2, 3 } ) , "A" )
#ifdef __HARBOUR__
TEST_LINE( ValType( @scString ) , "C" ) /* Bug in CA-Cl*pper, it will return "U" */
TEST_LINE( ValType( @scStringE ) , "C" ) /* Bug in CA-Cl*pper, it will return "U" */
@@ -324,6 +326,14 @@ STATIC FUNCTION Main_HVM()
TEST_LINE( "A" <= "Z" , .T. )
TEST_LINE( "Z" <= " " , .F. )
TEST_LINE( Chr(0) <= " " , .T. )
TEST_LINE( "Hallo" <= "Hello" , .T. )
TEST_LINE( "Hello" <= "Hello" , .T. )
TEST_LINE( "Hell" <= "Hello" , .T. )
TEST_LINE( "Hellow" <= "Hello" , .T. )
TEST_LINE( "J" <= "Hello" , .F. )
TEST_LINE( "" <= "Hello" , .T. )
TEST_LINE( "J" <= "" , .T. )
TEST_LINE( "" <= "" , .T. )
/* < */
@@ -348,6 +358,14 @@ STATIC FUNCTION Main_HVM()
TEST_LINE( "A" < "Z" , .T. )
TEST_LINE( "Z" < "A" , .F. )
TEST_LINE( Chr(0) < " " , .T. )
TEST_LINE( "Hallo" < "Hello" , .T. )
TEST_LINE( "Hello" < "Hello" , .F. )
TEST_LINE( "Hell" < "Hello" , .T. )
TEST_LINE( "Hellow" < "Hello" , .F. )
TEST_LINE( "J" < "Hello" , .F. )
TEST_LINE( "" < "Hello" , .T. )
TEST_LINE( "J" < "" , .F. )
TEST_LINE( "" < "" , .F. )
/* >= */
@@ -372,6 +390,14 @@ STATIC FUNCTION Main_HVM()
TEST_LINE( "A" >= "Z" , .F. )
TEST_LINE( "Z" >= "A" , .T. )
TEST_LINE( Chr(0) >= " " , .F. )
TEST_LINE( "Hallo" >= "Hello" , .F. )
TEST_LINE( "Hello" >= "Hello" , .T. )
TEST_LINE( "Hell" >= "Hello" , .F. )
TEST_LINE( "Hellow" >= "Hello" , .T. )
TEST_LINE( "J" >= "Hello" , .T. )
TEST_LINE( "" >= "Hello" , .F. )
TEST_LINE( "J" >= "" , .T. )
TEST_LINE( "" >= "" , .T. )
/* > */
@@ -396,6 +422,14 @@ STATIC FUNCTION Main_HVM()
TEST_LINE( "A" > "Z" , .F. )
TEST_LINE( "Z" > "A" , .T. )
TEST_LINE( Chr(0) > " " , .F. )
TEST_LINE( "Hallo" > "Hello" , .F. )
TEST_LINE( "Hello" > "Hello" , .F. )
TEST_LINE( "Hell" > "Hello" , .F. )
TEST_LINE( "Hellow" > "Hello" , .F. )
TEST_LINE( "J" > "Hello" , .T. )
TEST_LINE( "" > "Hello" , .F. )
TEST_LINE( "J" > "" , .F. )
TEST_LINE( "" > "" , .F. )
/* =, == */
@@ -421,6 +455,14 @@ STATIC FUNCTION Main_HVM()
TEST_LINE( "Z" == "A" , .F. )
TEST_LINE( "A" == "A " , .F. )
TEST_LINE( "AA" == "A" , .F. )
TEST_LINE( "Hallo" == "Hello" , .F. )
TEST_LINE( "Hello" == "Hello" , .T. )
TEST_LINE( "Hell" == "Hello" , .F. )
TEST_LINE( "Hellow" == "Hello" , .F. )
TEST_LINE( "J" == "Hello" , .F. )
TEST_LINE( "" == "Hello" , .F. )
TEST_LINE( "J" == "" , .F. )
TEST_LINE( "" == "" , .T. )
TEST_LINE( scString = scString , .T. )
TEST_LINE( scString = scStringE , .T. )
@@ -456,6 +498,14 @@ STATIC FUNCTION Main_HVM()
TEST_LINE( "Z" != "A" , .T. )
TEST_LINE( "A" != "A " , .T. )
TEST_LINE( "AA" != "A" , .F. )
TEST_LINE( "Hallo" != "Hello" , .T. )
TEST_LINE( "Hello" != "Hello" , .F. )
TEST_LINE( "Hell" != "Hello" , .T. )
TEST_LINE( "Hellow" != "Hello" , .F. )
TEST_LINE( "J" != "Hello" , .T. )
TEST_LINE( "" != "Hello" , .T. )
TEST_LINE( "J" != "" , .F. )
TEST_LINE( "" != "" , .F. )
TEST_LINE( scString != scString , .F. )
TEST_LINE( scString != scStringE , .F. )
@@ -591,6 +641,50 @@ STATIC FUNCTION Main_HVM()
TEST_LINE( 1 ^ NIL , "E BASE 1088 Argument error ^ F:S" )
TEST_LINE( 1 % NIL , "E BASE 1085 Argument error % F:S" )
/* The order of these tests is relevant, don't change it */
nA := 1
nB := 2
nC := 3
TEST_LINE( nA , 1 )
TEST_LINE( nB , 2 )
TEST_LINE( nC , 3 )
TEST_LINE( nA + nB , 3 )
TEST_LINE( nB - nA , 1 )
TEST_LINE( nB * nC , 6 )
TEST_LINE( nB * nC / 2 , 3 )
TEST_LINE( nA += nB , 3 )
TEST_LINE( nA , 3 )
TEST_LINE( nA -= nB , 1 )
TEST_LINE( nA , 1 )
TEST_LINE( nA < nB , .T. )
TEST_LINE( nA > nB , .F. )
TEST_LINE( nA + nB <= nC , .T. )
TEST_LINE( nA + nB >= nC , .T. )
TEST_LINE( nA *= nB , 2 )
TEST_LINE( nA /= nB , 1 )
TEST_LINE( nA , 1 )
TEST_LINE( nB ** 3 , 8 )
TEST_LINE( nB ^ 3 , 8 )
TEST_LINE( 8 % 3 , 2 )
TEST_LINE( nA++ , 1 )
TEST_LINE( nA , 2 )
TEST_LINE( ++nA , 3 )
TEST_LINE( nA , 3 )
TEST_LINE( nA-- , 3 )
TEST_LINE( nA , 2 )
TEST_LINE( --nA , 1 )
TEST_LINE( nA , 1 )
/* Operator precedence */
TEST_LINE( 1 + 2 * 3 / 4 - 2 ** 2 ^ 3 , -61.50 )
TEST_LINE( 1 + 2 * 3 / 4 - 2 ** 2 ^ 3 == 2 , .F. )
/* */
TEST_LINE( -Month(sdDate) , -1 )
TEST_LINE( Str(-(Month(sdDate))) , " -1" )
TEST_LINE( Str(-(Val("10"))) , " -10" )
@@ -607,6 +701,15 @@ STATIC FUNCTION Main_HVM()
TEST_LINE( scString $ 1 , "E BASE 1109 Argument error $ F:S" )
TEST_LINE( 1 $ "AA" , "E BASE 1109 Argument error $ F:S" )
TEST_LINE( "d" $ "bcde" , .T. )
TEST_LINE( "D" $ "BCDE" , .T. )
TEST_LINE( "a" $ "bcde" , .F. )
TEST_LINE( "d" $ "BCDE" , .F. )
TEST_LINE( "D" $ "bcde" , .F. )
TEST_LINE( "de" $ "bcde" , .T. )
TEST_LINE( "bd" $ "bcde" , .F. )
TEST_LINE( "BD" $ "bcde" , .F. )
IF TEST_OPT_Z()
/* With the shortcut optimalization *ON* */
@@ -1679,6 +1782,9 @@ STATIC FUNCTION Long_STRINGS()
#endif
/* NOTE: The order of the tests is relevant here, so don't
rearrange them. */
STATIC FUNCTION Main_FILE()
LOCAL cFileName := "$$FILEIO.TMP"
LOCAL nFlags
@@ -1744,10 +1850,10 @@ STATIC FUNCTION Main_FILE()
TEST_LINE( TESTFIER( FClose() ) , 'E: 0 R: .F.' )
TEST_LINE( TESTFIER( FClose( fhnd ) ) , 'E: 0 R: .T.' )
TEST_LINE( TESTFIER( FClose( fhnd ) ) , 'E: 6 R: .F.' )
TEST_LINE( TESTFIER( FErase( 'NOT_HERE.$$$' ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FErase( "NOT_HERE.$$$" ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FErase( 1 ) ) , 'E: 3 R: -1' )
TEST_LINE( TESTFIER( FErase( 'NOT_HERE.$$$' ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FRename( 'NOT_HERE.$$$', 'A' ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FErase( "NOT_HERE.$$$" ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FRename( "NOT_HERE.$$$", 'A' ) ) , 'E: 2 R: -1' )
nFlags := FO_READWRITE
fhnd := FOpen( cFileName, nFlags )
@@ -1805,12 +1911,13 @@ STATIC FUNCTION Main_FILE()
TEST_LINE( TESTFIER( FClose() ) , 'E: 0 R: .F.' )
TEST_LINE( TESTFIER( FClose( fhnd ) ) , 'E: 0 R: .T.' )
TEST_LINE( TESTFIER( FClose( fhnd ) ) , 'E: 6 R: .F.' )
TEST_LINE( TESTFIER( FErase( 'NOT_HERE.$$$' ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FErase( "NOT_HERE.$$$" ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FErase( 1 ) ) , 'E: 3 R: -1' )
TEST_LINE( TESTFIER( FErase( 'NOT_HERE.$$$' ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FRename( 'NOT_HERE.$$$', 'A' ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FErase( "NOT_HERE.$$$" ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( FRename( "NOT_HERE.$$$", 'A' ) ) , 'E: 2 R: -1' )
TEST_LINE( TESTFIER( File( cFileName ) ) , "E: 2 R: .T." )
TEST_LINE( TESTFIER( File( "NOT_HERE.$$$" ) ) , "E: 2 R: .F." )
FErase("$$FILEIO.TMP")
@@ -1820,6 +1927,20 @@ STATIC FUNCTION TESTFIER( xRetVal )
RETURN PadR( "E: " + LTrim( Str( FError() ) ), 9 ) + " R: " + XToStr( xRetVal )
STATIC FUNCTION Main_MISC()
LOCAL oError
/* Some random error object tests taken from the separate test source */
oError := ErrorNew()
TEST_LINE( oError:ClassName() , "ERROR" )
oError:Description = "Its description"
TEST_LINE( oError:Description , "Its description" )
#ifdef __CLIPPER__
TEST_LINE( Len( oError ) , 7 )
#endif
#ifdef __HARBOUR__
TEST_LINE( Len( oError ) , 14 )
#endif
/* "Samples" function tests (AMPM(), DAYS(), ELAPTIME(), ... ) */
@@ -2215,7 +2336,7 @@ STATIC FUNCTION Main_MISC()
TEST_LINE( __CopyFile("$$COPYFR.TMP") , "E BASE 2010 Argument error __COPYFILE " )
TEST_LINE( __CopyFile("$$COPYFR.TMP", "$$COPYTO.TMP") , NIL )
TEST_LINE( __CopyFile("_NOTHERE.$$$", "$$COPYTO.TMP") , "E BASE 2012 Open error _NOTHERE.$$$ F:DR" )
TEST_LINE( __CopyFile("NOT_HERE.$$$", "$$COPYTO.TMP") , "E BASE 2012 Open error NOT_HERE.$$$ F:DR" )
TEST_LINE( __CopyFile("$$COPYFR.TMP", "*INVALID*.") , "E BASE 2012 Create error *INVALID*. F:DR" )
FErase("$$COPYFR.TMP")
@@ -2749,6 +2870,8 @@ STATIC FUNCTION TEST_BEGIN( cParam )
SET CENTURY ON
SET EXACT OFF
FErase( "NOT_HERE.$$$" )
/* Feedback */
/* NOTE: The 0 parameter of Version() will force Harbour to include the

View File

@@ -1,52 +0,0 @@
//
// $Id$
//
//
// OurStrCmp() tests
//
// Date : 24/4/99 Time : 17:50
//
// Written by Eddie Runia <eddie@runia.com>
// www - http://www.harbour-project.org
//
// Placed in the public domain
//
procedure main()
local CRLF := chr(13)+chr(10)
QQOut( "Testing <first> <comparison> <second>. <Second>='Hello'", CRLF )
QQOut( "<First>:", CRLF )
QQOut( " Hallo Hello Hell Hellow J 1'' 2'' all'' ", CRLF)
QQOut( "==", "Hallo" == "Hello", " ", "Hello" == "Hello", " ", ;
"Hell" == "Hello", " ", "Hellow"== "Hello", " ", ;
"J" == "Hello", " ", "" == "Hello", " ", ;
"J" == "" , " ", "" == "" , CRLF )
QQOut( "!=", "Hallo" != "Hello", " ", "Hello" != "Hello", " ", ;
"Hell" != "Hello", " ", "Hellow"!= "Hello", " ", ;
"J" != "Hello", " ", "" != "Hello", " ", ;
"J" != "" , " ", "" != "" , CRLF )
QQOut( "> ", "Hallo" > "Hello", " ", "Hello" > "Hello", " ", ;
"Hell" > "Hello", " ", "Hellow"> "Hello", " ", ;
"J" > "Hello", " ", "" > "Hello", " ", ;
"J" > "" , " ", "" > "" , CRLF )
QQOut( ">=", "Hallo" >= "Hello", " ", "Hello" >= "Hello", " ", ;
"Hell" >= "Hello", " ", "Hellow">= "Hello", " ", ;
"J" >= "Hello", " ", "" >= "Hello", " ", ;
"J" >= "" , " ", "" >= "" , CRLF )
QQOut( "<=", "Hallo" <= "Hello", " ", "Hello" <= "Hello", " ", ;
"Hell" <= "Hello", " ", "Hellow"<= "Hello", " ", ;
"J" <= "Hello", " ", "" <= "Hello", " ", ;
"J" <= "" , " ", "" <= "" , CRLF )
QQOut( "< ", "Hallo" < "Hello", " ", "Hello" < "Hello", " ", ;
"Hell" < "Hello", " ", "Hellow"< "Hello", " ", ;
"J" < "Hello", " ", "" < "Hello", " ", ;
"J" < "" , " ", "" < "" , CRLF )
return

View File

@@ -1,18 +0,0 @@
//
// $Id$
//
// Testing the Harbour related error system functions
function Main()
local oError := ErrorNew()
QOut( oError:ClassName() ) // Be aware this will print ERROR
oError:Description = "Its description"
QOut( oError:Description )
QOut( Len( oError ) )
return nil

View File

@@ -22,10 +22,28 @@
proc main
Local cColor := "r+/bg*,rg*/ng+,w/n,b+/w,rg/b,w+/n*"
? "original set ", set(_SET_COLOR )
? "should match ", setColor( cColor )
? "input 1 ", cColor
? "return ", setColor("1/7,9/15")
? "input 2 ", "1/7,9/15"
? "return ", setColor()
? "final set ", set(_SET_COLOR )
? "original set ", set(_SET_COLOR )
? "should match ", setColor( cColor )
? "input 1 ", cColor
? "return ", setColor("1/7,9/15")
? "input 2 ", "1/7,9/15"
? "return ", setColor()
? "final set ", set(_SET_COLOR )
SetColor("BG/N, N/BG")
? "Hello1"
ColorSelect( CLR_ENHANCED )
? "Hello2"
ColorSelect( CLR_STANDARD )
? "Hello3"
ColorSelect( CLR_ENHANCED )
SetColor("GR/N, N/GR")
? "Hello4"
ColorSelect( CLR_ENHANCED )
? "Hello5"
ColorSelect( CLR_STANDARD )
? "Hello6"
SetColor("B/N, N/B")
? "Hello7"
RETURN

View File

@@ -1,11 +0,0 @@
//
// $Id$
//
// Testing ValType
function Main()
QOut( ValType( { 1, 2, 3 } ) )
return nil