20000405-02:03 GMT+1 Victor Szakats <info@szelvesz.hu>
This commit is contained in:
@@ -1,3 +1,39 @@
|
||||
20000405-02:03 GMT+1 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
* source/rtl/math.c
|
||||
! exception redefined as _exception for Borland C++ 5.5 and upper.
|
||||
! Disabled math exception handling for Borland C++ 5.3 C++ mode,
|
||||
since it won't work. Other Borland C++ version (4.x,5.x) should be
|
||||
also checked in this respect.
|
||||
|
||||
* source/rtl/gtwin/gtwin.c
|
||||
! max()/min() changed to HB_MAX()/HB_MIN()
|
||||
|
||||
* source/rtl/filesys.c
|
||||
! Explicit declaration of POSIX rename() moved to the Unix branch.
|
||||
|
||||
* source/compiler/harbour.c
|
||||
! isatty() declaration readded for (__BORLANDC__ && __cplusplus)
|
||||
|
||||
* makefile.bc
|
||||
! Fixed to create unistd.h in the local OBJ dir for macrol.c and
|
||||
harbourl.c.
|
||||
|
||||
* makefile.vc
|
||||
! Using a safer method for the unistd.h workaround. It's now created
|
||||
in the local OBJ dir instead of the common INCLUDE. This way it's
|
||||
impossible to accidently leave it there and break Cygnus and other
|
||||
GCC make processes.
|
||||
|
||||
+ utils/hbtest/rt_stra.prg
|
||||
* utils/hbtest/*
|
||||
* makefile.*
|
||||
! rt_str.prg split to make it compile with BCC31.
|
||||
|
||||
; All these fixes were needed to compile in C++ mode with Borland C++
|
||||
(3.1, 5.3, 5.5). Hmm, the Harbour .EXE sizes are actually 10% smaller
|
||||
than with 32 bit Borland Cs.
|
||||
|
||||
2000-04-04 20:00 GMT-4 David G. Holm <dholm@jsd-llc.com>
|
||||
|
||||
* source/rtl/dir.c
|
||||
@@ -21,6 +57,7 @@
|
||||
20000404-08:00 GMT-3 Luiz Rafael Culik <culik@sl.conex.net>
|
||||
*doc/en/dbstrux.txt
|
||||
*Small reformating
|
||||
|
||||
20000404-13:00 GMT+1 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
* source/rdd/dbstrux.prg
|
||||
@@ -371,7 +408,7 @@
|
||||
* source/rtl/gtapi.c
|
||||
* Cast
|
||||
|
||||
* source/common/hbver.h
|
||||
* source/common/hbver.c
|
||||
% #include <os2.h> is always included by hbdefs.h, so it's not needed
|
||||
to add it explicitly. Please test it anyway.
|
||||
|
||||
|
||||
@@ -512,6 +512,7 @@ HBTEST_EXE_OBJS = \
|
||||
$(OBJ_DIR)\rt_math.obj \
|
||||
$(OBJ_DIR)\rt_date.obj \
|
||||
$(OBJ_DIR)\rt_str.obj \
|
||||
$(OBJ_DIR)\rt_stra.obj \
|
||||
$(OBJ_DIR)\rt_trans.obj \
|
||||
$(OBJ_DIR)\rt_array.obj \
|
||||
$(OBJ_DIR)\rt_file.obj \
|
||||
@@ -676,7 +677,9 @@ $(OBJ_DIR)\harboury.obj : $(OBJ_DIR)\harboury.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
|
||||
$(OBJ_DIR)\harbourl.obj : $(OBJ_DIR)\harbourl.c
|
||||
-echo. > $(OBJ_DIR)\unistd.h
|
||||
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -o$@ $**
|
||||
-del $(OBJ_DIR)\unistd.h
|
||||
|
||||
$(OBJ_DIR)\cmdcheck.obj : $(COMPILER_DIR)\cmdcheck.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
@@ -1741,7 +1744,9 @@ $(OBJ_DIR)\macroy.obj : $(OBJ_DIR)\macroy.c
|
||||
tlib $(MACRO_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\macrol.obj : $(OBJ_DIR)\macrol.c
|
||||
-echo. > $(OBJ_DIR)\unistd.h
|
||||
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -o$@ $**
|
||||
-del $(OBJ_DIR)\unistd.h
|
||||
tlib $(MACRO_LIB) -+$@,,
|
||||
|
||||
$(OBJ_DIR)\macroa.obj : $(MACRO_DIR)\macroa.c
|
||||
@@ -1949,6 +1954,7 @@ $(HBTEST_EXE) : $(HBTEST_EXE_OBJS)
|
||||
echo. $(OBJ_DIR)\rt_math.obj >> make.tmp
|
||||
echo. $(OBJ_DIR)\rt_date.obj >> make.tmp
|
||||
echo. $(OBJ_DIR)\rt_str.obj >> make.tmp
|
||||
echo. $(OBJ_DIR)\rt_stra.obj >> make.tmp
|
||||
echo. $(OBJ_DIR)\rt_trans.obj >> make.tmp
|
||||
echo. $(OBJ_DIR)\rt_array.obj >> make.tmp
|
||||
echo. $(OBJ_DIR)\rt_file.obj >> make.tmp
|
||||
@@ -1995,6 +2001,12 @@ $(OBJ_DIR)\rt_str.c : $(HBTEST_DIR)\rt_str.prg
|
||||
$(OBJ_DIR)\rt_str.obj : $(OBJ_DIR)\rt_str.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
|
||||
$(OBJ_DIR)\rt_stra.c : $(HBTEST_DIR)\rt_stra.prg
|
||||
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
||||
|
||||
$(OBJ_DIR)\rt_stra.obj : $(OBJ_DIR)\rt_stra.c
|
||||
$(CC) $(CLIBFLAGS) -o$@ $**
|
||||
|
||||
$(OBJ_DIR)\rt_trans.c : $(HBTEST_DIR)\rt_trans.prg
|
||||
$(HARBOUR_EXE) $(HARBOURFLAGS) $** -o$@
|
||||
|
||||
|
||||
@@ -675,9 +675,10 @@ $(HBTEST_EXE) : \
|
||||
$(HBTEST_DIR)\rt_math.prg \
|
||||
$(HBTEST_DIR)\rt_misc.prg \
|
||||
$(HBTEST_DIR)\rt_str.prg \
|
||||
$(HBTEST_DIR)\rt_stra.prg \
|
||||
$(HBTEST_DIR)\rt_trans.prg
|
||||
$(HARBOUR_EXE) $(HARBOURFLAGS) -o$(OBJ_DIR)\ $**
|
||||
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbtest.c $(OBJ_DIR)\rt_array.c $(OBJ_DIR)\rt_date.c $(OBJ_DIR)\rt_file.c $(OBJ_DIR)\rt_hvm.c $(OBJ_DIR)\rt_math.c $(OBJ_DIR)\rt_misc.c $(OBJ_DIR)\rt_str.c $(OBJ_DIR)\rt_trans.c -o $(HBTEST_EXE) /link $(LIBS)
|
||||
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ $(OBJ_DIR)\hbtest.c $(OBJ_DIR)\rt_array.c $(OBJ_DIR)\rt_date.c $(OBJ_DIR)\rt_file.c $(OBJ_DIR)\rt_hvm.c $(OBJ_DIR)\rt_math.c $(OBJ_DIR)\rt_misc.c $(OBJ_DIR)\rt_str.c $(OBJ_DIR)\rt_stra.c $(OBJ_DIR)\rt_trans.c -o $(HBTEST_EXE) /link $(LIBS)
|
||||
|
||||
#
|
||||
# HBDOC.EXE rules
|
||||
@@ -725,9 +726,9 @@ $(HARBOUR_EXE) : \
|
||||
$(COMPILER_DIR)\expropta.c \
|
||||
$(COMPILER_DIR)\exproptb.c \
|
||||
$(COMPILER_DIR)\exproptc.c
|
||||
-echo. > $(INCLUDE_DIR)\unistd.h
|
||||
$(CC) $(CFLAGS) -Fo$(OBJ_DIR)\ -w $** -o $(HARBOUR_EXE) /link $(PP_LIB) $(COMMON_LIB)
|
||||
-del $(INCLUDE_DIR)\unistd.h
|
||||
-echo. > $(OBJ_DIR)\unistd.h
|
||||
$(CC) $(CFLAGS) -I$(OBJ_DIR) -Fo$(OBJ_DIR)\ -w $** -o $(HARBOUR_EXE) /link $(PP_LIB) $(COMMON_LIB)
|
||||
-del $(OBJ_DIR)\unistd.h
|
||||
|
||||
|
||||
#
|
||||
@@ -800,9 +801,9 @@ $(OBJ_DIR)\macroy.obj : $(OBJ_DIR)\macroy.c
|
||||
$(CC) $(CLIBFLAGS) -w -Fo$@ $**
|
||||
|
||||
$(OBJ_DIR)\macrol.obj : $(OBJ_DIR)\macrol.c
|
||||
-echo. > $(INCLUDE_DIR)\unistd.h
|
||||
$(CC) $(CLIBFLAGS) -w -Fo$@ $**
|
||||
-del $(INCLUDE_DIR)\unistd.h
|
||||
-echo. > $(OBJ_DIR)\unistd.h
|
||||
$(CC) $(CLIBFLAGS) -I$(OBJ_DIR) -w -Fo$@ $**
|
||||
-del $(OBJ_DIR)\unistd.h
|
||||
|
||||
|
||||
# dummy targets used for prg to c creation
|
||||
|
||||
@@ -299,7 +299,7 @@ int main( int argc, char * argv[] )
|
||||
return iStatus;
|
||||
}
|
||||
|
||||
#if ( defined(__IBMCPP__) || defined(_MSC_VER) ) && !defined(__BORLANDC__)
|
||||
#if defined(__IBMCPP__) || defined(_MSC_VER) || (defined(__BORLANDC__) && defined(__cplusplus))
|
||||
int isatty( int handle )
|
||||
{
|
||||
return ( handle < 4 ) ? 1 : 0;
|
||||
|
||||
@@ -87,6 +87,9 @@
|
||||
#if !defined(HAVE_POSIX_IO)
|
||||
#define HAVE_POSIX_IO
|
||||
#endif
|
||||
|
||||
extern int rename( const char *, const char * );
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(__WATCOMC__)
|
||||
@@ -203,8 +206,6 @@ static USHORT s_uiErrorLast = 0;
|
||||
#define LARGE_MAX ( UINT_MAX - 1L )
|
||||
#endif
|
||||
|
||||
extern int rename( const char *, const char * );
|
||||
|
||||
/* Convert HARBOUR flags to IO subsystem flags */
|
||||
|
||||
#if defined(HB_FS_FILE_IO)
|
||||
|
||||
@@ -191,11 +191,11 @@ void hb_gt_Init( int iFilenoStdin, int iFilenoStdout, int iFilenoStderr )
|
||||
/* save screen info to restore on exit */
|
||||
memcpy( &s_csbi, &csbi, sizeof( csbi ) );
|
||||
|
||||
csbi.dwSize.X = min( csbi.dwSize.X, 80 );
|
||||
csbi.dwSize.Y = min( csbi.dwSize.Y, 50 );
|
||||
csbi.dwSize.X = HB_MIN( csbi.dwSize.X, 80 );
|
||||
csbi.dwSize.Y = HB_MIN( csbi.dwSize.Y, 50 );
|
||||
|
||||
csbi.srWindow.Right = min( csbi.srWindow.Right, 79 );
|
||||
csbi.srWindow.Bottom = min( csbi.srWindow.Bottom, 49 );
|
||||
csbi.srWindow.Right = HB_MIN( csbi.srWindow.Right, 79 );
|
||||
csbi.srWindow.Bottom = HB_MIN( csbi.srWindow.Bottom, 49 );
|
||||
csbi.srWindow.Top = csbi.srWindow.Left = 0;
|
||||
|
||||
SetConsoleWindowInfo( s_HOriginal, TRUE, &csbi.srWindow );
|
||||
@@ -671,8 +671,8 @@ USHORT hb_gt_GetScreenWidth( void )
|
||||
|
||||
GetConsoleScreenBufferInfo( s_HOutput, &csbi );
|
||||
/* return csbi.dwMaximumWindowSize.X; */
|
||||
/* return max( csbi.srWindow.Right - csbi.srWindow.Left + 1, 40 ); */
|
||||
return max( csbi.dwSize.X, 40 );
|
||||
/* return HB_MAX( csbi.srWindow.Right - csbi.srWindow.Left + 1, 40 ); */
|
||||
return HB_MAX( csbi.dwSize.X, 40 );
|
||||
}
|
||||
|
||||
USHORT hb_gt_GetScreenHeight( void )
|
||||
@@ -683,8 +683,8 @@ USHORT hb_gt_GetScreenHeight( void )
|
||||
|
||||
GetConsoleScreenBufferInfo( s_HOutput, &csbi );
|
||||
/* return csbi.dwMaximumWindowSize.Y; */
|
||||
/* return max( csbi.srWindow.Bottom - csbi.srWindow.Top + 1, 25 ); */
|
||||
return max( csbi.dwSize.Y, 25 );
|
||||
/* return HB_MAX( csbi.srWindow.Bottom - csbi.srWindow.Top + 1, 25 ); */
|
||||
return HB_MAX( csbi.dwSize.Y, 25 );
|
||||
}
|
||||
|
||||
void hb_gt_SetPos( SHORT iRow, SHORT iCol )
|
||||
@@ -1047,8 +1047,8 @@ BOOL hb_gt_SetMode( USHORT uiRows, USHORT uiCols )
|
||||
|
||||
/* new console window size and scroll position */
|
||||
srWin.Top = srWin.Left = 0;
|
||||
srWin.Bottom = ( SHORT ) ( min( uiRows, coBuf.Y ) - 1 );
|
||||
srWin.Right = ( SHORT ) ( min( uiCols, coBuf.X ) - 1 );
|
||||
srWin.Bottom = ( SHORT ) ( HB_MIN( uiRows, coBuf.Y ) - 1 );
|
||||
srWin.Right = ( SHORT ) ( HB_MIN( uiCols, coBuf.X ) - 1 );
|
||||
|
||||
/* new console buffer size */
|
||||
coBuf.Y = uiRows;
|
||||
|
||||
@@ -42,8 +42,18 @@
|
||||
#if defined(__WATCOMC__)
|
||||
#define HB_MATH_HANDLER
|
||||
#elif defined(__BORLANDC__)
|
||||
#define HB_MATH_HANDLER
|
||||
#define matherr _matherr
|
||||
#if (__BORLANDC__ == 1328) && defined(__cplusplus)
|
||||
/* NOTE: There seem to be a bug in Borland C++ 5.3 C++ mode which prevents
|
||||
the redefinition of matherr, because nor "_exception" neither
|
||||
"exception" will work. [vszakats] */
|
||||
#else
|
||||
#define HB_MATH_HANDLER
|
||||
#define matherr _matherr
|
||||
/* NOTE: This is needed for Borland C++ 5.5 in C++/STDC mode. [vszakats] */
|
||||
#if (__BORLANDC__ >= 1360)
|
||||
#define exception _exception
|
||||
#endif
|
||||
#endif
|
||||
#elif defined(__MINGW32__)
|
||||
#define HB_MATH_HANDLER
|
||||
#define matherr _matherr
|
||||
|
||||
@@ -17,6 +17,7 @@ PRG_SOURCES=\
|
||||
rt_math.prg \
|
||||
rt_misc.prg \
|
||||
rt_str.prg \
|
||||
rt_stra.prg \
|
||||
rt_trans.prg \
|
||||
|
||||
PRG_MAIN=hbtest.prg
|
||||
|
||||
@@ -113,6 +113,7 @@ FUNCTION Main( cPar1, cPar2 )
|
||||
Main_MATH()
|
||||
Main_DATE()
|
||||
Main_STR()
|
||||
Main_STRA()
|
||||
Main_TRANS()
|
||||
Comp_Str()
|
||||
Exact_Str()
|
||||
|
||||
@@ -19,11 +19,12 @@ clipper rt_hvm.prg /w /n %hb_clipopt%
|
||||
clipper rt_math.prg /w /n %hb_clipopt%
|
||||
clipper rt_misc.prg /w /n %hb_clipopt%
|
||||
clipper rt_str.prg /w /n %hb_clipopt%
|
||||
clipper rt_stra.prg /w /n %hb_clipopt%
|
||||
clipper rt_trans.prg /w /n %hb_clipopt%
|
||||
|
||||
if "%1" == "" set hb_linker=rtlink
|
||||
if not "%1" == "" set hb_linker=exospace
|
||||
|
||||
%hb_linker% out hbtest5x fi hbtest,rt_array,rt_date,rt_file,rt_hvm,rt_math,rt_misc,rt_str,rt_trans %hb_linkopt%
|
||||
%hb_linker% out hbtest5x fi hbtest,rt_array,rt_date,rt_file,rt_hvm,rt_math,rt_misc,rt_str,rt_stra,rt_trans %hb_linkopt%
|
||||
|
||||
del *.obj
|
||||
|
||||
@@ -11,8 +11,9 @@ xpp rt_hvm.prg /w /n
|
||||
xpp rt_math.prg /w /n
|
||||
xpp rt_misc.prg /w /n
|
||||
xpp rt_str.prg /w /n
|
||||
xpp rt_stra.prg /w /n
|
||||
xpp rt_trans.prg /w /n
|
||||
|
||||
alink hbtest rt_array rt_date rt_file rt_hvm rt_math rt_misc rt_str rt_trans
|
||||
alink hbtest rt_array rt_date rt_file rt_hvm rt_math rt_misc rt_str rt_stra rt_trans
|
||||
|
||||
del *.obj
|
||||
|
||||
@@ -701,446 +701,6 @@ FUNCTION Main_STR()
|
||||
TEST_LINE( Stuff("ABCE"+Chr(0)+"F", 2, 3, "xyz") , "Axyz"+Chr(0)+"F" )
|
||||
TEST_LINE( Stuff("ABC"+Chr(0)+"EF", 2, 3, "x"+Chr(0)+"z") , "Ax"+Chr(0)+"zEF" )
|
||||
|
||||
/* STR() */
|
||||
|
||||
TEST_LINE( Str(NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str("A", 10, 2) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str(100, 10, "A") , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str(100, 10, NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str(100, NIL, NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str( w_TEST->TYPE_N_I ) , " 100" )
|
||||
TEST_LINE( Str( w_TEST->TYPE_N_IE ) , " 0" )
|
||||
TEST_LINE( Str( w_TEST->TYPE_N_D ) , " 101.127" )
|
||||
TEST_LINE( Str( w_TEST->TYPE_N_DE ) , " 0.000" )
|
||||
TEST_LINE( Str(5000000000.0) , "5000000000.0" )
|
||||
TEST_LINE( Str(50000000) , " 50000000" )
|
||||
TEST_LINE( Str(500000000) , " 500000000" )
|
||||
TEST_LINE( Str(5000000000) , " 5000000000" )
|
||||
TEST_LINE( Str(50000000000) , " 50000000000" )
|
||||
TEST_LINE( Str(-5000000000.0) , " -5000000000.0" )
|
||||
TEST_LINE( Str(-5000000000) , " -5000000000" )
|
||||
TEST_LINE( Str(2.0000000000000001) , " 2.0000000000000000" )
|
||||
TEST_LINE( Str(2.0000000000000009) , " 2.0000000000000010" )
|
||||
TEST_LINE( Str(2.000000000000001) , " 2.000000000000001" )
|
||||
TEST_LINE( Str(2.000000000000009) , " 2.000000000000009" )
|
||||
TEST_LINE( Str(2.00000000000001) , " 2.00000000000001" )
|
||||
TEST_LINE( Str(2.00000000000009) , " 2.00000000000009" )
|
||||
TEST_LINE( Str(2.000000000001) , " 2.000000000001" )
|
||||
TEST_LINE( Str(2.00000000001) , " 2.00000000001" )
|
||||
TEST_LINE( Str(10) , " 10" )
|
||||
TEST_LINE( Str(10.0) , " 10.0" )
|
||||
TEST_LINE( Str(10.00) , " 10.00" )
|
||||
TEST_LINE( Str(10.50) , " 10.50" )
|
||||
TEST_LINE( Str(100000) , " 100000" )
|
||||
TEST_LINE( Str(-10) , " -10" )
|
||||
TEST_LINE( Str(-10.0) , " -10.0" )
|
||||
TEST_LINE( Str(-10.00) , " -10.00" )
|
||||
TEST_LINE( Str(-10.50) , " -10.50" )
|
||||
TEST_LINE( Str(-100000) , " -100000" )
|
||||
TEST_LINE( Str(10, 5) , " 10" )
|
||||
TEST_LINE( Str(10.0, 5) , " 10" )
|
||||
TEST_LINE( Str(10.00, 5) , " 10" )
|
||||
TEST_LINE( Str(10.50, 5) , " 11" )
|
||||
TEST_LINE( Str(100000, 5) , "*****" )
|
||||
TEST_LINE( Str(100000, 8) , " 100000" )
|
||||
TEST_LINE( Str(-10, 5) , " -10" )
|
||||
TEST_LINE( Str(-10.0, 5) , " -10" )
|
||||
TEST_LINE( Str(-10.00, 5) , " -10" )
|
||||
TEST_LINE( Str(-10.50, 5) , " -11" )
|
||||
TEST_LINE( Str(-100000, 5) , "*****" )
|
||||
TEST_LINE( Str(-100000, 6) , "******" )
|
||||
TEST_LINE( Str(-100000, 8) , " -100000" )
|
||||
#ifndef __XPP__ /* Internal structures corrupted */
|
||||
TEST_LINE( Str(10, -5) , " 10" )
|
||||
TEST_LINE( Str(10.0, -5) , " 10" )
|
||||
TEST_LINE( Str(10.00, -5) , " 10" )
|
||||
TEST_LINE( Str(10.50, -5) , " 11" )
|
||||
TEST_LINE( Str(100000, -5) , " 100000" )
|
||||
TEST_LINE( Str(100000, -8) , " 100000" )
|
||||
TEST_LINE( Str(-10, -5) , " -10" )
|
||||
TEST_LINE( Str(-10.0, -5) , " -10" )
|
||||
TEST_LINE( Str(-10.00, -5) , " -10" )
|
||||
TEST_LINE( Str(-10.50, -5) , " -11" )
|
||||
TEST_LINE( Str(-100000, -5) , " -100000" )
|
||||
TEST_LINE( Str(-100000, -6) , " -100000" )
|
||||
TEST_LINE( Str(-100000, -8) , " -100000" )
|
||||
#endif
|
||||
TEST_LINE( Str(10, 5, 0) , " 10" )
|
||||
TEST_LINE( Str(10.0, 5, 0) , " 10" )
|
||||
TEST_LINE( Str(10.00, 5, 0) , " 10" )
|
||||
TEST_LINE( Str(10.50, 5, 0) , " 11" )
|
||||
TEST_LINE( Str(100000, 5, 0) , "*****" )
|
||||
TEST_LINE( Str(-10, 5, 0) , " -10" )
|
||||
TEST_LINE( Str(-10.0, 5, 0) , " -10" )
|
||||
TEST_LINE( Str(-10.00, 5, 0) , " -10" )
|
||||
TEST_LINE( Str(-10.50, 5, 0) , " -11" )
|
||||
TEST_LINE( Str(-100000, 5, 0) , "*****" )
|
||||
TEST_LINE( Str(-100000, 6, 0) , "******" )
|
||||
TEST_LINE( Str(-100000, 8, 0) , " -100000" )
|
||||
TEST_LINE( Str(10, 5, 1) , " 10.0" )
|
||||
TEST_LINE( Str(10.0, 5, 1) , " 10.0" )
|
||||
TEST_LINE( Str(10.00, 5, 1) , " 10.0" )
|
||||
TEST_LINE( Str(10.50, 5, 1) , " 10.5" )
|
||||
TEST_LINE( Str(100000, 5, 1) , "*****" )
|
||||
TEST_LINE( Str(-10, 5, 1) , "-10.0" )
|
||||
TEST_LINE( Str(-10.0, 5, 1) , "-10.0" )
|
||||
TEST_LINE( Str(-10.00, 5, 1) , "-10.0" )
|
||||
TEST_LINE( Str(-10.50, 5, 1) , "-10.5" )
|
||||
TEST_LINE( Str(-100000, 5, 1) , "*****" )
|
||||
TEST_LINE( Str(-100000, 6, 1) , "******" )
|
||||
TEST_LINE( Str(-100000, 8, 1) , "********" )
|
||||
#ifndef __XPP__ /* Internal structures corrupted */
|
||||
TEST_LINE( Str(10, 5, -1) , " 10" )
|
||||
TEST_LINE( Str(10.0, 5, -1) , " 10" )
|
||||
TEST_LINE( Str(10.00, 5, -1) , " 10" )
|
||||
TEST_LINE( Str(10.50, 5, -1) , " 11" )
|
||||
TEST_LINE( Str(100000, 5, -1) , "*****" )
|
||||
TEST_LINE( Str(-10, 5, -1) , " -10" )
|
||||
TEST_LINE( Str(-10.0, 5, -1) , " -10" )
|
||||
TEST_LINE( Str(-10.00, 5, -1) , " -10" )
|
||||
TEST_LINE( Str(-10.50, 5, -1) , " -11" )
|
||||
TEST_LINE( Str(-100000, 5, -1) , "*****" )
|
||||
TEST_LINE( Str(-100000, 6, -1) , "******" )
|
||||
TEST_LINE( Str(-100000, 8, -1) , " -100000" )
|
||||
#endif
|
||||
|
||||
/* STRZERO() */
|
||||
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
TEST_LINE( StrZero(NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero("A", 10, 2) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero(100, 10, "A") , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero(100, 10, NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero(100, NIL, NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
#else
|
||||
TEST_LINE( StrZero(NIL) , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
TEST_LINE( StrZero("A", 10, 2) , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
TEST_LINE( StrZero(100, 10, "A") , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
TEST_LINE( StrZero(100, 10, NIL) , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
TEST_LINE( StrZero(100, NIL, NIL) , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
#endif
|
||||
TEST_LINE( StrZero(10) , "0000000010" )
|
||||
TEST_LINE( StrZero(10.0) , "0000000010.0" )
|
||||
TEST_LINE( StrZero(10.00) , "0000000010.00" )
|
||||
TEST_LINE( StrZero(10.50) , "0000000010.50" )
|
||||
TEST_LINE( StrZero(100000) , "0000100000" )
|
||||
TEST_LINE( StrZero(-10) , "-000000010" )
|
||||
TEST_LINE( StrZero(-10.0) , "-000000010.0" )
|
||||
TEST_LINE( StrZero(-10.00) , "-000000010.00" )
|
||||
TEST_LINE( StrZero(-10.50) , "-000000010.50" )
|
||||
TEST_LINE( StrZero(-100000) , "-000100000" )
|
||||
TEST_LINE( StrZero(10, 5) , "00010" )
|
||||
TEST_LINE( StrZero(10.0, 5) , "00010" )
|
||||
TEST_LINE( StrZero(10.00, 5) , "00010" )
|
||||
TEST_LINE( StrZero(10.50, 5) , "00011" )
|
||||
TEST_LINE( StrZero(100000, 5) , "*****" )
|
||||
TEST_LINE( StrZero(100000, 8) , "00100000" )
|
||||
TEST_LINE( StrZero(-10, 5) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.0, 5) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.00, 5) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.50, 5) , "-0011" )
|
||||
TEST_LINE( StrZero(-100000, 5) , "*****" )
|
||||
TEST_LINE( StrZero(-100000, 6) , "******" )
|
||||
TEST_LINE( StrZero(-100000, 8) , "-0100000" )
|
||||
#ifndef __XPP__ /* Internal structures corrupted */
|
||||
TEST_LINE( StrZero(10, -5) , "0000000010" )
|
||||
TEST_LINE( StrZero(10.0, -5) , "0000000010" )
|
||||
TEST_LINE( StrZero(10.00, -5) , "0000000010" )
|
||||
TEST_LINE( StrZero(10.50, -5) , "0000000011" )
|
||||
TEST_LINE( StrZero(100000, -5) , "0000100000" )
|
||||
TEST_LINE( StrZero(100000, -8) , "0000100000" )
|
||||
TEST_LINE( StrZero(-10, -5) , "-000000010" )
|
||||
TEST_LINE( StrZero(-10.0, -5) , "-000000010" )
|
||||
TEST_LINE( StrZero(-10.00, -5) , "-000000010" )
|
||||
TEST_LINE( StrZero(-10.50, -5) , "-000000011" )
|
||||
TEST_LINE( StrZero(-100000, -5) , "-000100000" )
|
||||
TEST_LINE( StrZero(-100000, -6) , "-000100000" )
|
||||
TEST_LINE( StrZero(-100000, -8) , "-000100000" )
|
||||
#endif
|
||||
TEST_LINE( StrZero(10, 5, 0) , "00010" )
|
||||
TEST_LINE( StrZero(10.0, 5, 0) , "00010" )
|
||||
TEST_LINE( StrZero(10.50, 5, 0) , "00011" )
|
||||
TEST_LINE( StrZero(100000, 5, 0) , "*****" )
|
||||
TEST_LINE( StrZero(-10, 5, 0) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.0, 5, 0) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.00, 5, 0) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.50, 5, 0) , "-0011" )
|
||||
TEST_LINE( StrZero(-100000, 5, 0) , "*****" )
|
||||
TEST_LINE( StrZero(-100000, 6, 0) , "******" )
|
||||
TEST_LINE( StrZero(-100000, 8, 0) , "-0100000" )
|
||||
TEST_LINE( StrZero(10, 5, 1) , "010.0" )
|
||||
TEST_LINE( StrZero(10.0, 5, 1) , "010.0" )
|
||||
TEST_LINE( StrZero(10.50, 5, 1) , "010.5" )
|
||||
TEST_LINE( StrZero(100000, 5, 1) , "*****" )
|
||||
TEST_LINE( StrZero(-10, 5, 1) , "-10.0" )
|
||||
TEST_LINE( StrZero(-10.0, 5, 1) , "-10.0" )
|
||||
TEST_LINE( StrZero(-10.00, 5, 1) , "-10.0" )
|
||||
TEST_LINE( StrZero(-10.50, 5, 1) , "-10.5" )
|
||||
TEST_LINE( StrZero(-100000, 5, 1) , "*****" )
|
||||
TEST_LINE( StrZero(-100000, 6, 1) , "******" )
|
||||
TEST_LINE( StrZero(-100000, 8, 1) , "********" )
|
||||
#ifndef __XPP__ /* Internal structures corrupted */
|
||||
TEST_LINE( StrZero(10, 5, -1) , "00010" )
|
||||
TEST_LINE( StrZero(10.0, 5, -1) , "00010" )
|
||||
TEST_LINE( StrZero(10.50, 5, -1) , "00011" )
|
||||
TEST_LINE( StrZero(100000, 5, -1) , "*****" )
|
||||
TEST_LINE( StrZero(-10, 5, -1) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.0, 5, -1) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.00, 5, -1) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.50, 5, -1) , "-0011" )
|
||||
TEST_LINE( StrZero(-100000, 5, -1) , "*****" )
|
||||
TEST_LINE( StrZero(-100000, 6, -1) , "******" )
|
||||
TEST_LINE( StrZero(-100000, 8, -1) , "-0100000" )
|
||||
#endif
|
||||
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION Comp_Str()
|
||||
LOCAL old_exact := SET( _SET_EXACT, .F. )
|
||||
|
||||
TEST_LINE( "ABC" == "", .F. )
|
||||
TEST_LINE( "ABC" = "", .T. )
|
||||
TEST_LINE( "ABC" != "", .F. )
|
||||
TEST_LINE( "ABC" < "", .F. )
|
||||
TEST_LINE( "ABC" <= "", .T. )
|
||||
TEST_LINE( "ABC" > "", .F. )
|
||||
TEST_LINE( "ABC" >= "", .T. )
|
||||
TEST_LINE( "" == "ABC", .F. )
|
||||
TEST_LINE( "" = "ABC", .F. )
|
||||
TEST_LINE( "" != "ABC", .T. )
|
||||
TEST_LINE( "" < "ABC", .T. )
|
||||
TEST_LINE( "" <= "ABC", .T. )
|
||||
TEST_LINE( "" > "ABC", .F. )
|
||||
TEST_LINE( "" >= "ABC", .F. )
|
||||
TEST_LINE( "ABC" == " ", .F. )
|
||||
TEST_LINE( "ABC" = " ", .F. )
|
||||
TEST_LINE( "ABC" != " ", .T. )
|
||||
TEST_LINE( "ABC" < " ", .F. )
|
||||
TEST_LINE( "ABC" <= " ", .F. )
|
||||
TEST_LINE( "ABC" > " ", .T. )
|
||||
TEST_LINE( "ABC" >= " ", .T. )
|
||||
TEST_LINE( " " == "ABC", .F. )
|
||||
TEST_LINE( " " = "ABC", .F. )
|
||||
TEST_LINE( " " != "ABC", .T. )
|
||||
TEST_LINE( " " < "ABC", .T. )
|
||||
TEST_LINE( " " <= "ABC", .T. )
|
||||
TEST_LINE( " " > "ABC", .F. )
|
||||
TEST_LINE( " " >= "ABC", .F. )
|
||||
TEST_LINE( "ABC" == "ABC", .T. )
|
||||
TEST_LINE( "ABC" = "ABC", .T. )
|
||||
TEST_LINE( "ABC" != "ABC", .F. )
|
||||
TEST_LINE( "ABC" < "ABC", .F. )
|
||||
TEST_LINE( "ABC" <= "ABC", .T. )
|
||||
TEST_LINE( "ABC" > "ABC", .F. )
|
||||
TEST_LINE( "ABC" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "ABCD", .F. )
|
||||
TEST_LINE( "ABC" = "ABCD", .F. )
|
||||
TEST_LINE( "ABC" != "ABCD", .T. )
|
||||
TEST_LINE( "ABC" < "ABCD", .T. )
|
||||
TEST_LINE( "ABC" <= "ABCD", .T. )
|
||||
TEST_LINE( "ABC" > "ABCD", .F. )
|
||||
TEST_LINE( "ABC" >= "ABCD", .F. )
|
||||
TEST_LINE( "ABCD" == "ABC", .F. )
|
||||
TEST_LINE( "ABCD" = "ABC", .T. )
|
||||
TEST_LINE( "ABCD" != "ABC", .F. )
|
||||
TEST_LINE( "ABCD" < "ABC", .F. )
|
||||
TEST_LINE( "ABCD" <= "ABC", .T. )
|
||||
TEST_LINE( "ABCD" > "ABC", .F. )
|
||||
TEST_LINE( "ABCD" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "ABC ", .F. )
|
||||
TEST_LINE( "ABC" = "ABC ", .F. )
|
||||
TEST_LINE( "ABC" != "ABC ", .T. )
|
||||
TEST_LINE( "ABC" < "ABC ", .T. )
|
||||
TEST_LINE( "ABC" <= "ABC ", .T. )
|
||||
TEST_LINE( "ABC" > "ABC ", .F. )
|
||||
TEST_LINE( "ABC" >= "ABC ", .F. )
|
||||
TEST_LINE( "ABC " == "ABC", .F. )
|
||||
TEST_LINE( "ABC " = "ABC", .T. )
|
||||
TEST_LINE( "ABC " != "ABC", .F. )
|
||||
TEST_LINE( "ABC " < "ABC", .F. )
|
||||
TEST_LINE( "ABC " <= "ABC", .T. )
|
||||
TEST_LINE( "ABC " > "ABC", .F. )
|
||||
TEST_LINE( "ABC " >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "DEF", .F. )
|
||||
TEST_LINE( "ABC" = "DEF", .F. )
|
||||
TEST_LINE( "ABC" != "DEF", .T. )
|
||||
TEST_LINE( "ABC" < "DEF", .T. )
|
||||
TEST_LINE( "ABC" <= "DEF", .T. )
|
||||
TEST_LINE( "ABC" > "DEF", .F. )
|
||||
TEST_LINE( "ABC" >= "DEF", .F. )
|
||||
TEST_LINE( "DEF" == "ABC", .F. )
|
||||
TEST_LINE( "DEF" = "ABC", .F. )
|
||||
TEST_LINE( "DEF" != "ABC", .T. )
|
||||
TEST_LINE( "DEF" < "ABC", .F. )
|
||||
TEST_LINE( "DEF" <= "ABC", .F. )
|
||||
TEST_LINE( "DEF" > "ABC", .T. )
|
||||
TEST_LINE( "DEF" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "DEFG", .F. )
|
||||
TEST_LINE( "ABC" = "DEFG", .F. )
|
||||
TEST_LINE( "ABC" != "DEFG", .T. )
|
||||
TEST_LINE( "ABC" < "DEFG", .T. )
|
||||
TEST_LINE( "ABC" <= "DEFG", .T. )
|
||||
TEST_LINE( "ABC" > "DEFG", .F. )
|
||||
TEST_LINE( "ABC" >= "DEFG", .F. )
|
||||
TEST_LINE( "DEFG" == "ABC", .F. )
|
||||
TEST_LINE( "DEFG" = "ABC", .F. )
|
||||
TEST_LINE( "DEFG" != "ABC", .T. )
|
||||
TEST_LINE( "DEFG" < "ABC", .F. )
|
||||
TEST_LINE( "DEFG" <= "ABC", .F. )
|
||||
TEST_LINE( "DEFG" > "ABC", .T. )
|
||||
TEST_LINE( "DEFG" >= "ABC", .T. )
|
||||
TEST_LINE( "ABCD" == "DEF", .F. )
|
||||
TEST_LINE( "ABCD" = "DEF", .F. )
|
||||
TEST_LINE( "ABCD" != "DEF", .T. )
|
||||
TEST_LINE( "ABCD" < "DEF", .T. )
|
||||
TEST_LINE( "ABCD" <= "DEF", .T. )
|
||||
TEST_LINE( "ABCD" > "DEF", .F. )
|
||||
TEST_LINE( "ABCD" >= "DEF", .F. )
|
||||
TEST_LINE( "DEF" == "ABCD", .F. )
|
||||
TEST_LINE( "DEF" = "ABCD", .F. )
|
||||
TEST_LINE( "DEF" != "ABCD", .T. )
|
||||
TEST_LINE( "DEF" < "ABCD", .F. )
|
||||
TEST_LINE( "DEF" <= "ABCD", .F. )
|
||||
TEST_LINE( "DEF" > "ABCD", .T. )
|
||||
TEST_LINE( "DEF" >= "ABCD", .T. )
|
||||
|
||||
SET( _SET_EXACT, old_exact )
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION Exact_Str()
|
||||
LOCAL old_exact := SET( _SET_EXACT, .T. )
|
||||
|
||||
TEST_LINE( "ABC" == "", .F. )
|
||||
TEST_LINE( "ABC" = "", .F. )
|
||||
TEST_LINE( "ABC" != "", .T. )
|
||||
TEST_LINE( "ABC" < "", .F. )
|
||||
TEST_LINE( "ABC" <= "", .F. )
|
||||
TEST_LINE( "ABC" > "", .T. )
|
||||
TEST_LINE( "ABC" >= "", .T. )
|
||||
TEST_LINE( "" == "ABC", .F. )
|
||||
TEST_LINE( "" = "ABC", .F. )
|
||||
TEST_LINE( "" != "ABC", .T. )
|
||||
TEST_LINE( "" < "ABC", .T. )
|
||||
TEST_LINE( "" <= "ABC", .T. )
|
||||
TEST_LINE( "" > "ABC", .F. )
|
||||
TEST_LINE( "" >= "ABC", .F. )
|
||||
TEST_LINE( "ABC" == " ", .F. )
|
||||
TEST_LINE( "ABC" = " ", .F. )
|
||||
TEST_LINE( "ABC" != " ", .T. )
|
||||
TEST_LINE( "ABC" < " ", .F. )
|
||||
TEST_LINE( "ABC" <= " ", .F. )
|
||||
TEST_LINE( "ABC" > " ", .T. )
|
||||
TEST_LINE( "ABC" >= " ", .T. )
|
||||
TEST_LINE( " " == "ABC", .F. )
|
||||
TEST_LINE( " " = "ABC", .F. )
|
||||
TEST_LINE( " " != "ABC", .T. )
|
||||
TEST_LINE( " " < "ABC", .T. )
|
||||
TEST_LINE( " " <= "ABC", .T. )
|
||||
TEST_LINE( " " > "ABC", .F. )
|
||||
TEST_LINE( " " >= "ABC", .F. )
|
||||
TEST_LINE( "ABC" == "ABC", .T. )
|
||||
TEST_LINE( "ABC" = "ABC", .T. )
|
||||
TEST_LINE( "ABC" != "ABC", .F. )
|
||||
TEST_LINE( "ABC" < "ABC", .F. )
|
||||
TEST_LINE( "ABC" <= "ABC", .T. )
|
||||
TEST_LINE( "ABC" > "ABC", .F. )
|
||||
TEST_LINE( "ABC" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "ABCD", .F. )
|
||||
TEST_LINE( "ABC" = "ABCD", .F. )
|
||||
TEST_LINE( "ABC" != "ABCD", .T. )
|
||||
TEST_LINE( "ABC" < "ABCD", .T. )
|
||||
TEST_LINE( "ABC" <= "ABCD", .T. )
|
||||
TEST_LINE( "ABC" > "ABCD", .F. )
|
||||
TEST_LINE( "ABC" >= "ABCD", .F. )
|
||||
TEST_LINE( "ABCD" == "ABC", .F. )
|
||||
TEST_LINE( "ABCD" = "ABC", .F. )
|
||||
TEST_LINE( "ABCD" != "ABC", .T. )
|
||||
TEST_LINE( "ABCD" < "ABC", .F. )
|
||||
TEST_LINE( "ABCD" <= "ABC", .F. )
|
||||
TEST_LINE( "ABCD" > "ABC", .T. )
|
||||
TEST_LINE( "ABCD" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "ABC ", .F. )
|
||||
TEST_LINE( "ABC" = "ABC ", .T. )
|
||||
TEST_LINE( "ABC" != "ABC ", .F. )
|
||||
TEST_LINE( "ABC" < "ABC ", .F. )
|
||||
TEST_LINE( "ABC" <= "ABC ", .T. )
|
||||
TEST_LINE( "ABC" > "ABC ", .F. )
|
||||
TEST_LINE( "ABC" >= "ABC ", .T. )
|
||||
TEST_LINE( "ABC " == "ABC", .F. )
|
||||
TEST_LINE( "ABC " = "ABC", .T. )
|
||||
TEST_LINE( "ABC " != "ABC", .F. )
|
||||
TEST_LINE( "ABC " < "ABC", .F. )
|
||||
TEST_LINE( "ABC " <= "ABC", .T. )
|
||||
TEST_LINE( "ABC " > "ABC", .F. )
|
||||
TEST_LINE( "ABC " >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "DEF", .F. )
|
||||
TEST_LINE( "ABC" = "DEF", .F. )
|
||||
TEST_LINE( "ABC" != "DEF", .T. )
|
||||
TEST_LINE( "ABC" < "DEF", .T. )
|
||||
TEST_LINE( "ABC" <= "DEF", .T. )
|
||||
TEST_LINE( "ABC" > "DEF", .F. )
|
||||
TEST_LINE( "ABC" >= "DEF", .F. )
|
||||
TEST_LINE( "DEF" == "ABC", .F. )
|
||||
TEST_LINE( "DEF" = "ABC", .F. )
|
||||
TEST_LINE( "DEF" != "ABC", .T. )
|
||||
TEST_LINE( "DEF" < "ABC", .F. )
|
||||
TEST_LINE( "DEF" <= "ABC", .F. )
|
||||
TEST_LINE( "DEF" > "ABC", .T. )
|
||||
TEST_LINE( "DEF" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "DEFG", .F. )
|
||||
TEST_LINE( "ABC" = "DEFG", .F. )
|
||||
TEST_LINE( "ABC" != "DEFG", .T. )
|
||||
TEST_LINE( "ABC" < "DEFG", .T. )
|
||||
TEST_LINE( "ABC" <= "DEFG", .T. )
|
||||
TEST_LINE( "ABC" > "DEFG", .F. )
|
||||
TEST_LINE( "ABC" >= "DEFG", .F. )
|
||||
TEST_LINE( "DEFG" == "ABC", .F. )
|
||||
TEST_LINE( "DEFG" = "ABC", .F. )
|
||||
TEST_LINE( "DEFG" != "ABC", .T. )
|
||||
TEST_LINE( "DEFG" < "ABC", .F. )
|
||||
TEST_LINE( "DEFG" <= "ABC", .F. )
|
||||
TEST_LINE( "DEFG" > "ABC", .T. )
|
||||
TEST_LINE( "DEFG" >= "ABC", .T. )
|
||||
TEST_LINE( "ABCD" == "DEF", .F. )
|
||||
TEST_LINE( "ABCD" = "DEF", .F. )
|
||||
TEST_LINE( "ABCD" != "DEF", .T. )
|
||||
TEST_LINE( "ABCD" < "DEF", .T. )
|
||||
TEST_LINE( "ABCD" <= "DEF", .T. )
|
||||
TEST_LINE( "ABCD" > "DEF", .F. )
|
||||
TEST_LINE( "ABCD" >= "DEF", .F. )
|
||||
TEST_LINE( "DEF" == "ABCD", .F. )
|
||||
TEST_LINE( "DEF" = "ABCD", .F. )
|
||||
TEST_LINE( "DEF" != "ABCD", .T. )
|
||||
TEST_LINE( "DEF" < "ABCD", .F. )
|
||||
TEST_LINE( "DEF" <= "ABCD", .F. )
|
||||
TEST_LINE( "DEF" > "ABCD", .T. )
|
||||
TEST_LINE( "DEF" >= "ABCD", .T. )
|
||||
|
||||
SET( _SET_EXACT, old_exact )
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION New_STRINGS()
|
||||
|
||||
#ifdef __HARBOUR__
|
||||
|
||||
TEST_LINE( HB_ValToStr( 4 ) , " 4" )
|
||||
TEST_LINE( HB_ValToStr( 4.0 / 2 ) , " 2.00" )
|
||||
TEST_LINE( HB_ValToStr( "String" ) , "String" )
|
||||
TEST_LINE( HB_ValToStr( SToD( "20010101" ) ) , "2001.01.01" )
|
||||
TEST_LINE( HB_ValToStr( NIL ) , "NIL" )
|
||||
TEST_LINE( HB_ValToStr( .F. ) , ".F." )
|
||||
TEST_LINE( HB_ValToStr( .T. ) , ".T." )
|
||||
|
||||
#endif
|
||||
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION Long_STRINGS()
|
||||
|
||||
TEST_LINE( RIGHT( SPACE( 64 * 1024 - 5 ) + "12345 7890", 10 ), "12345 7890" )
|
||||
TEST_LINE( LEN( SPACE( 81910 ) + "1234567890" ), 81920 )
|
||||
TEST_LINE( ( "1234567890" + SPACE( 810910 ) ) - ( "1234567890" + SPACE( 810910 ) ), "12345678901234567890" + SPACE( 810910 * 2 ) )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/* Don't change the position of this #include. */
|
||||
|
||||
486
harbour/utils/hbtest/rt_stra.prg
Normal file
486
harbour/utils/hbtest/rt_stra.prg
Normal file
@@ -0,0 +1,486 @@
|
||||
/*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/*
|
||||
* Harbour Project source code:
|
||||
* Regression tests for the runtime library (strings)
|
||||
*
|
||||
* Copyright 1999 Victor Szakats <info@szelvesz.hu>
|
||||
* www - http://www.harbour-project.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version, with one exception:
|
||||
*
|
||||
* The exception is that if you link the Harbour Runtime Library (HRL)
|
||||
* and/or the Harbour Virtual Machine (HVM) with other files to produce
|
||||
* an executable, this does not by itself cause the resulting executable
|
||||
* to be covered by the GNU General Public License. Your use of that
|
||||
* executable is in no way restricted on account of linking the HRL
|
||||
* and/or HVM code into it.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA (or visit
|
||||
* their web site at http://www.gnu.org/).
|
||||
*
|
||||
*/
|
||||
|
||||
#include "rt_main.ch"
|
||||
|
||||
/* Don't change the position of this #include. */
|
||||
#include "rt_vars.ch"
|
||||
|
||||
FUNCTION Main_STRA()
|
||||
|
||||
/* STR() */
|
||||
|
||||
TEST_LINE( Str(NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str("A", 10, 2) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str(100, 10, "A") , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str(100, 10, NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str(100, NIL, NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( Str( w_TEST->TYPE_N_I ) , " 100" )
|
||||
TEST_LINE( Str( w_TEST->TYPE_N_IE ) , " 0" )
|
||||
TEST_LINE( Str( w_TEST->TYPE_N_D ) , " 101.127" )
|
||||
TEST_LINE( Str( w_TEST->TYPE_N_DE ) , " 0.000" )
|
||||
TEST_LINE( Str(5000000000.0) , "5000000000.0" )
|
||||
TEST_LINE( Str(50000000) , " 50000000" )
|
||||
TEST_LINE( Str(500000000) , " 500000000" )
|
||||
TEST_LINE( Str(5000000000) , " 5000000000" )
|
||||
TEST_LINE( Str(50000000000) , " 50000000000" )
|
||||
TEST_LINE( Str(-5000000000.0) , " -5000000000.0" )
|
||||
TEST_LINE( Str(-5000000000) , " -5000000000" )
|
||||
TEST_LINE( Str(2.0000000000000001) , " 2.0000000000000000" )
|
||||
TEST_LINE( Str(2.0000000000000009) , " 2.0000000000000010" )
|
||||
TEST_LINE( Str(2.000000000000001) , " 2.000000000000001" )
|
||||
TEST_LINE( Str(2.000000000000009) , " 2.000000000000009" )
|
||||
TEST_LINE( Str(2.00000000000001) , " 2.00000000000001" )
|
||||
TEST_LINE( Str(2.00000000000009) , " 2.00000000000009" )
|
||||
TEST_LINE( Str(2.000000000001) , " 2.000000000001" )
|
||||
TEST_LINE( Str(2.00000000001) , " 2.00000000001" )
|
||||
TEST_LINE( Str(10) , " 10" )
|
||||
TEST_LINE( Str(10.0) , " 10.0" )
|
||||
TEST_LINE( Str(10.00) , " 10.00" )
|
||||
TEST_LINE( Str(10.50) , " 10.50" )
|
||||
TEST_LINE( Str(100000) , " 100000" )
|
||||
TEST_LINE( Str(-10) , " -10" )
|
||||
TEST_LINE( Str(-10.0) , " -10.0" )
|
||||
TEST_LINE( Str(-10.00) , " -10.00" )
|
||||
TEST_LINE( Str(-10.50) , " -10.50" )
|
||||
TEST_LINE( Str(-100000) , " -100000" )
|
||||
TEST_LINE( Str(10, 5) , " 10" )
|
||||
TEST_LINE( Str(10.0, 5) , " 10" )
|
||||
TEST_LINE( Str(10.00, 5) , " 10" )
|
||||
TEST_LINE( Str(10.50, 5) , " 11" )
|
||||
TEST_LINE( Str(100000, 5) , "*****" )
|
||||
TEST_LINE( Str(100000, 8) , " 100000" )
|
||||
TEST_LINE( Str(-10, 5) , " -10" )
|
||||
TEST_LINE( Str(-10.0, 5) , " -10" )
|
||||
TEST_LINE( Str(-10.00, 5) , " -10" )
|
||||
TEST_LINE( Str(-10.50, 5) , " -11" )
|
||||
TEST_LINE( Str(-100000, 5) , "*****" )
|
||||
TEST_LINE( Str(-100000, 6) , "******" )
|
||||
TEST_LINE( Str(-100000, 8) , " -100000" )
|
||||
#ifndef __XPP__ /* Internal structures corrupted */
|
||||
TEST_LINE( Str(10, -5) , " 10" )
|
||||
TEST_LINE( Str(10.0, -5) , " 10" )
|
||||
TEST_LINE( Str(10.00, -5) , " 10" )
|
||||
TEST_LINE( Str(10.50, -5) , " 11" )
|
||||
TEST_LINE( Str(100000, -5) , " 100000" )
|
||||
TEST_LINE( Str(100000, -8) , " 100000" )
|
||||
TEST_LINE( Str(-10, -5) , " -10" )
|
||||
TEST_LINE( Str(-10.0, -5) , " -10" )
|
||||
TEST_LINE( Str(-10.00, -5) , " -10" )
|
||||
TEST_LINE( Str(-10.50, -5) , " -11" )
|
||||
TEST_LINE( Str(-100000, -5) , " -100000" )
|
||||
TEST_LINE( Str(-100000, -6) , " -100000" )
|
||||
TEST_LINE( Str(-100000, -8) , " -100000" )
|
||||
#endif
|
||||
TEST_LINE( Str(10, 5, 0) , " 10" )
|
||||
TEST_LINE( Str(10.0, 5, 0) , " 10" )
|
||||
TEST_LINE( Str(10.00, 5, 0) , " 10" )
|
||||
TEST_LINE( Str(10.50, 5, 0) , " 11" )
|
||||
TEST_LINE( Str(100000, 5, 0) , "*****" )
|
||||
TEST_LINE( Str(-10, 5, 0) , " -10" )
|
||||
TEST_LINE( Str(-10.0, 5, 0) , " -10" )
|
||||
TEST_LINE( Str(-10.00, 5, 0) , " -10" )
|
||||
TEST_LINE( Str(-10.50, 5, 0) , " -11" )
|
||||
TEST_LINE( Str(-100000, 5, 0) , "*****" )
|
||||
TEST_LINE( Str(-100000, 6, 0) , "******" )
|
||||
TEST_LINE( Str(-100000, 8, 0) , " -100000" )
|
||||
TEST_LINE( Str(10, 5, 1) , " 10.0" )
|
||||
TEST_LINE( Str(10.0, 5, 1) , " 10.0" )
|
||||
TEST_LINE( Str(10.00, 5, 1) , " 10.0" )
|
||||
TEST_LINE( Str(10.50, 5, 1) , " 10.5" )
|
||||
TEST_LINE( Str(100000, 5, 1) , "*****" )
|
||||
TEST_LINE( Str(-10, 5, 1) , "-10.0" )
|
||||
TEST_LINE( Str(-10.0, 5, 1) , "-10.0" )
|
||||
TEST_LINE( Str(-10.00, 5, 1) , "-10.0" )
|
||||
TEST_LINE( Str(-10.50, 5, 1) , "-10.5" )
|
||||
TEST_LINE( Str(-100000, 5, 1) , "*****" )
|
||||
TEST_LINE( Str(-100000, 6, 1) , "******" )
|
||||
TEST_LINE( Str(-100000, 8, 1) , "********" )
|
||||
#ifndef __XPP__ /* Internal structures corrupted */
|
||||
TEST_LINE( Str(10, 5, -1) , " 10" )
|
||||
TEST_LINE( Str(10.0, 5, -1) , " 10" )
|
||||
TEST_LINE( Str(10.00, 5, -1) , " 10" )
|
||||
TEST_LINE( Str(10.50, 5, -1) , " 11" )
|
||||
TEST_LINE( Str(100000, 5, -1) , "*****" )
|
||||
TEST_LINE( Str(-10, 5, -1) , " -10" )
|
||||
TEST_LINE( Str(-10.0, 5, -1) , " -10" )
|
||||
TEST_LINE( Str(-10.00, 5, -1) , " -10" )
|
||||
TEST_LINE( Str(-10.50, 5, -1) , " -11" )
|
||||
TEST_LINE( Str(-100000, 5, -1) , "*****" )
|
||||
TEST_LINE( Str(-100000, 6, -1) , "******" )
|
||||
TEST_LINE( Str(-100000, 8, -1) , " -100000" )
|
||||
#endif
|
||||
|
||||
/* STRZERO() */
|
||||
|
||||
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
|
||||
TEST_LINE( StrZero(NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero("A", 10, 2) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero(100, 10, "A") , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero(100, 10, NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
TEST_LINE( StrZero(100, NIL, NIL) , "E BASE 1099 Argument error STR F:S" )
|
||||
#else
|
||||
TEST_LINE( StrZero(NIL) , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
TEST_LINE( StrZero("A", 10, 2) , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
TEST_LINE( StrZero(100, 10, "A") , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
TEST_LINE( StrZero(100, 10, NIL) , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
TEST_LINE( StrZero(100, NIL, NIL) , "E BASE 9999 Argument error STRZERO F:S" )
|
||||
#endif
|
||||
TEST_LINE( StrZero(10) , "0000000010" )
|
||||
TEST_LINE( StrZero(10.0) , "0000000010.0" )
|
||||
TEST_LINE( StrZero(10.00) , "0000000010.00" )
|
||||
TEST_LINE( StrZero(10.50) , "0000000010.50" )
|
||||
TEST_LINE( StrZero(100000) , "0000100000" )
|
||||
TEST_LINE( StrZero(-10) , "-000000010" )
|
||||
TEST_LINE( StrZero(-10.0) , "-000000010.0" )
|
||||
TEST_LINE( StrZero(-10.00) , "-000000010.00" )
|
||||
TEST_LINE( StrZero(-10.50) , "-000000010.50" )
|
||||
TEST_LINE( StrZero(-100000) , "-000100000" )
|
||||
TEST_LINE( StrZero(10, 5) , "00010" )
|
||||
TEST_LINE( StrZero(10.0, 5) , "00010" )
|
||||
TEST_LINE( StrZero(10.00, 5) , "00010" )
|
||||
TEST_LINE( StrZero(10.50, 5) , "00011" )
|
||||
TEST_LINE( StrZero(100000, 5) , "*****" )
|
||||
TEST_LINE( StrZero(100000, 8) , "00100000" )
|
||||
TEST_LINE( StrZero(-10, 5) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.0, 5) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.00, 5) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.50, 5) , "-0011" )
|
||||
TEST_LINE( StrZero(-100000, 5) , "*****" )
|
||||
TEST_LINE( StrZero(-100000, 6) , "******" )
|
||||
TEST_LINE( StrZero(-100000, 8) , "-0100000" )
|
||||
#ifndef __XPP__ /* Internal structures corrupted */
|
||||
TEST_LINE( StrZero(10, -5) , "0000000010" )
|
||||
TEST_LINE( StrZero(10.0, -5) , "0000000010" )
|
||||
TEST_LINE( StrZero(10.00, -5) , "0000000010" )
|
||||
TEST_LINE( StrZero(10.50, -5) , "0000000011" )
|
||||
TEST_LINE( StrZero(100000, -5) , "0000100000" )
|
||||
TEST_LINE( StrZero(100000, -8) , "0000100000" )
|
||||
TEST_LINE( StrZero(-10, -5) , "-000000010" )
|
||||
TEST_LINE( StrZero(-10.0, -5) , "-000000010" )
|
||||
TEST_LINE( StrZero(-10.00, -5) , "-000000010" )
|
||||
TEST_LINE( StrZero(-10.50, -5) , "-000000011" )
|
||||
TEST_LINE( StrZero(-100000, -5) , "-000100000" )
|
||||
TEST_LINE( StrZero(-100000, -6) , "-000100000" )
|
||||
TEST_LINE( StrZero(-100000, -8) , "-000100000" )
|
||||
#endif
|
||||
TEST_LINE( StrZero(10, 5, 0) , "00010" )
|
||||
TEST_LINE( StrZero(10.0, 5, 0) , "00010" )
|
||||
TEST_LINE( StrZero(10.50, 5, 0) , "00011" )
|
||||
TEST_LINE( StrZero(100000, 5, 0) , "*****" )
|
||||
TEST_LINE( StrZero(-10, 5, 0) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.0, 5, 0) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.00, 5, 0) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.50, 5, 0) , "-0011" )
|
||||
TEST_LINE( StrZero(-100000, 5, 0) , "*****" )
|
||||
TEST_LINE( StrZero(-100000, 6, 0) , "******" )
|
||||
TEST_LINE( StrZero(-100000, 8, 0) , "-0100000" )
|
||||
TEST_LINE( StrZero(10, 5, 1) , "010.0" )
|
||||
TEST_LINE( StrZero(10.0, 5, 1) , "010.0" )
|
||||
TEST_LINE( StrZero(10.50, 5, 1) , "010.5" )
|
||||
TEST_LINE( StrZero(100000, 5, 1) , "*****" )
|
||||
TEST_LINE( StrZero(-10, 5, 1) , "-10.0" )
|
||||
TEST_LINE( StrZero(-10.0, 5, 1) , "-10.0" )
|
||||
TEST_LINE( StrZero(-10.00, 5, 1) , "-10.0" )
|
||||
TEST_LINE( StrZero(-10.50, 5, 1) , "-10.5" )
|
||||
TEST_LINE( StrZero(-100000, 5, 1) , "*****" )
|
||||
TEST_LINE( StrZero(-100000, 6, 1) , "******" )
|
||||
TEST_LINE( StrZero(-100000, 8, 1) , "********" )
|
||||
#ifndef __XPP__ /* Internal structures corrupted */
|
||||
TEST_LINE( StrZero(10, 5, -1) , "00010" )
|
||||
TEST_LINE( StrZero(10.0, 5, -1) , "00010" )
|
||||
TEST_LINE( StrZero(10.50, 5, -1) , "00011" )
|
||||
TEST_LINE( StrZero(100000, 5, -1) , "*****" )
|
||||
TEST_LINE( StrZero(-10, 5, -1) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.0, 5, -1) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.00, 5, -1) , "-0010" )
|
||||
TEST_LINE( StrZero(-10.50, 5, -1) , "-0011" )
|
||||
TEST_LINE( StrZero(-100000, 5, -1) , "*****" )
|
||||
TEST_LINE( StrZero(-100000, 6, -1) , "******" )
|
||||
TEST_LINE( StrZero(-100000, 8, -1) , "-0100000" )
|
||||
#endif
|
||||
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION Comp_Str()
|
||||
LOCAL old_exact := SET( _SET_EXACT, .F. )
|
||||
|
||||
TEST_LINE( "ABC" == "", .F. )
|
||||
TEST_LINE( "ABC" = "", .T. )
|
||||
TEST_LINE( "ABC" != "", .F. )
|
||||
TEST_LINE( "ABC" < "", .F. )
|
||||
TEST_LINE( "ABC" <= "", .T. )
|
||||
TEST_LINE( "ABC" > "", .F. )
|
||||
TEST_LINE( "ABC" >= "", .T. )
|
||||
TEST_LINE( "" == "ABC", .F. )
|
||||
TEST_LINE( "" = "ABC", .F. )
|
||||
TEST_LINE( "" != "ABC", .T. )
|
||||
TEST_LINE( "" < "ABC", .T. )
|
||||
TEST_LINE( "" <= "ABC", .T. )
|
||||
TEST_LINE( "" > "ABC", .F. )
|
||||
TEST_LINE( "" >= "ABC", .F. )
|
||||
TEST_LINE( "ABC" == " ", .F. )
|
||||
TEST_LINE( "ABC" = " ", .F. )
|
||||
TEST_LINE( "ABC" != " ", .T. )
|
||||
TEST_LINE( "ABC" < " ", .F. )
|
||||
TEST_LINE( "ABC" <= " ", .F. )
|
||||
TEST_LINE( "ABC" > " ", .T. )
|
||||
TEST_LINE( "ABC" >= " ", .T. )
|
||||
TEST_LINE( " " == "ABC", .F. )
|
||||
TEST_LINE( " " = "ABC", .F. )
|
||||
TEST_LINE( " " != "ABC", .T. )
|
||||
TEST_LINE( " " < "ABC", .T. )
|
||||
TEST_LINE( " " <= "ABC", .T. )
|
||||
TEST_LINE( " " > "ABC", .F. )
|
||||
TEST_LINE( " " >= "ABC", .F. )
|
||||
TEST_LINE( "ABC" == "ABC", .T. )
|
||||
TEST_LINE( "ABC" = "ABC", .T. )
|
||||
TEST_LINE( "ABC" != "ABC", .F. )
|
||||
TEST_LINE( "ABC" < "ABC", .F. )
|
||||
TEST_LINE( "ABC" <= "ABC", .T. )
|
||||
TEST_LINE( "ABC" > "ABC", .F. )
|
||||
TEST_LINE( "ABC" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "ABCD", .F. )
|
||||
TEST_LINE( "ABC" = "ABCD", .F. )
|
||||
TEST_LINE( "ABC" != "ABCD", .T. )
|
||||
TEST_LINE( "ABC" < "ABCD", .T. )
|
||||
TEST_LINE( "ABC" <= "ABCD", .T. )
|
||||
TEST_LINE( "ABC" > "ABCD", .F. )
|
||||
TEST_LINE( "ABC" >= "ABCD", .F. )
|
||||
TEST_LINE( "ABCD" == "ABC", .F. )
|
||||
TEST_LINE( "ABCD" = "ABC", .T. )
|
||||
TEST_LINE( "ABCD" != "ABC", .F. )
|
||||
TEST_LINE( "ABCD" < "ABC", .F. )
|
||||
TEST_LINE( "ABCD" <= "ABC", .T. )
|
||||
TEST_LINE( "ABCD" > "ABC", .F. )
|
||||
TEST_LINE( "ABCD" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "ABC ", .F. )
|
||||
TEST_LINE( "ABC" = "ABC ", .F. )
|
||||
TEST_LINE( "ABC" != "ABC ", .T. )
|
||||
TEST_LINE( "ABC" < "ABC ", .T. )
|
||||
TEST_LINE( "ABC" <= "ABC ", .T. )
|
||||
TEST_LINE( "ABC" > "ABC ", .F. )
|
||||
TEST_LINE( "ABC" >= "ABC ", .F. )
|
||||
TEST_LINE( "ABC " == "ABC", .F. )
|
||||
TEST_LINE( "ABC " = "ABC", .T. )
|
||||
TEST_LINE( "ABC " != "ABC", .F. )
|
||||
TEST_LINE( "ABC " < "ABC", .F. )
|
||||
TEST_LINE( "ABC " <= "ABC", .T. )
|
||||
TEST_LINE( "ABC " > "ABC", .F. )
|
||||
TEST_LINE( "ABC " >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "DEF", .F. )
|
||||
TEST_LINE( "ABC" = "DEF", .F. )
|
||||
TEST_LINE( "ABC" != "DEF", .T. )
|
||||
TEST_LINE( "ABC" < "DEF", .T. )
|
||||
TEST_LINE( "ABC" <= "DEF", .T. )
|
||||
TEST_LINE( "ABC" > "DEF", .F. )
|
||||
TEST_LINE( "ABC" >= "DEF", .F. )
|
||||
TEST_LINE( "DEF" == "ABC", .F. )
|
||||
TEST_LINE( "DEF" = "ABC", .F. )
|
||||
TEST_LINE( "DEF" != "ABC", .T. )
|
||||
TEST_LINE( "DEF" < "ABC", .F. )
|
||||
TEST_LINE( "DEF" <= "ABC", .F. )
|
||||
TEST_LINE( "DEF" > "ABC", .T. )
|
||||
TEST_LINE( "DEF" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "DEFG", .F. )
|
||||
TEST_LINE( "ABC" = "DEFG", .F. )
|
||||
TEST_LINE( "ABC" != "DEFG", .T. )
|
||||
TEST_LINE( "ABC" < "DEFG", .T. )
|
||||
TEST_LINE( "ABC" <= "DEFG", .T. )
|
||||
TEST_LINE( "ABC" > "DEFG", .F. )
|
||||
TEST_LINE( "ABC" >= "DEFG", .F. )
|
||||
TEST_LINE( "DEFG" == "ABC", .F. )
|
||||
TEST_LINE( "DEFG" = "ABC", .F. )
|
||||
TEST_LINE( "DEFG" != "ABC", .T. )
|
||||
TEST_LINE( "DEFG" < "ABC", .F. )
|
||||
TEST_LINE( "DEFG" <= "ABC", .F. )
|
||||
TEST_LINE( "DEFG" > "ABC", .T. )
|
||||
TEST_LINE( "DEFG" >= "ABC", .T. )
|
||||
TEST_LINE( "ABCD" == "DEF", .F. )
|
||||
TEST_LINE( "ABCD" = "DEF", .F. )
|
||||
TEST_LINE( "ABCD" != "DEF", .T. )
|
||||
TEST_LINE( "ABCD" < "DEF", .T. )
|
||||
TEST_LINE( "ABCD" <= "DEF", .T. )
|
||||
TEST_LINE( "ABCD" > "DEF", .F. )
|
||||
TEST_LINE( "ABCD" >= "DEF", .F. )
|
||||
TEST_LINE( "DEF" == "ABCD", .F. )
|
||||
TEST_LINE( "DEF" = "ABCD", .F. )
|
||||
TEST_LINE( "DEF" != "ABCD", .T. )
|
||||
TEST_LINE( "DEF" < "ABCD", .F. )
|
||||
TEST_LINE( "DEF" <= "ABCD", .F. )
|
||||
TEST_LINE( "DEF" > "ABCD", .T. )
|
||||
TEST_LINE( "DEF" >= "ABCD", .T. )
|
||||
|
||||
SET( _SET_EXACT, old_exact )
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION Exact_Str()
|
||||
LOCAL old_exact := SET( _SET_EXACT, .T. )
|
||||
|
||||
TEST_LINE( "ABC" == "", .F. )
|
||||
TEST_LINE( "ABC" = "", .F. )
|
||||
TEST_LINE( "ABC" != "", .T. )
|
||||
TEST_LINE( "ABC" < "", .F. )
|
||||
TEST_LINE( "ABC" <= "", .F. )
|
||||
TEST_LINE( "ABC" > "", .T. )
|
||||
TEST_LINE( "ABC" >= "", .T. )
|
||||
TEST_LINE( "" == "ABC", .F. )
|
||||
TEST_LINE( "" = "ABC", .F. )
|
||||
TEST_LINE( "" != "ABC", .T. )
|
||||
TEST_LINE( "" < "ABC", .T. )
|
||||
TEST_LINE( "" <= "ABC", .T. )
|
||||
TEST_LINE( "" > "ABC", .F. )
|
||||
TEST_LINE( "" >= "ABC", .F. )
|
||||
TEST_LINE( "ABC" == " ", .F. )
|
||||
TEST_LINE( "ABC" = " ", .F. )
|
||||
TEST_LINE( "ABC" != " ", .T. )
|
||||
TEST_LINE( "ABC" < " ", .F. )
|
||||
TEST_LINE( "ABC" <= " ", .F. )
|
||||
TEST_LINE( "ABC" > " ", .T. )
|
||||
TEST_LINE( "ABC" >= " ", .T. )
|
||||
TEST_LINE( " " == "ABC", .F. )
|
||||
TEST_LINE( " " = "ABC", .F. )
|
||||
TEST_LINE( " " != "ABC", .T. )
|
||||
TEST_LINE( " " < "ABC", .T. )
|
||||
TEST_LINE( " " <= "ABC", .T. )
|
||||
TEST_LINE( " " > "ABC", .F. )
|
||||
TEST_LINE( " " >= "ABC", .F. )
|
||||
TEST_LINE( "ABC" == "ABC", .T. )
|
||||
TEST_LINE( "ABC" = "ABC", .T. )
|
||||
TEST_LINE( "ABC" != "ABC", .F. )
|
||||
TEST_LINE( "ABC" < "ABC", .F. )
|
||||
TEST_LINE( "ABC" <= "ABC", .T. )
|
||||
TEST_LINE( "ABC" > "ABC", .F. )
|
||||
TEST_LINE( "ABC" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "ABCD", .F. )
|
||||
TEST_LINE( "ABC" = "ABCD", .F. )
|
||||
TEST_LINE( "ABC" != "ABCD", .T. )
|
||||
TEST_LINE( "ABC" < "ABCD", .T. )
|
||||
TEST_LINE( "ABC" <= "ABCD", .T. )
|
||||
TEST_LINE( "ABC" > "ABCD", .F. )
|
||||
TEST_LINE( "ABC" >= "ABCD", .F. )
|
||||
TEST_LINE( "ABCD" == "ABC", .F. )
|
||||
TEST_LINE( "ABCD" = "ABC", .F. )
|
||||
TEST_LINE( "ABCD" != "ABC", .T. )
|
||||
TEST_LINE( "ABCD" < "ABC", .F. )
|
||||
TEST_LINE( "ABCD" <= "ABC", .F. )
|
||||
TEST_LINE( "ABCD" > "ABC", .T. )
|
||||
TEST_LINE( "ABCD" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "ABC ", .F. )
|
||||
TEST_LINE( "ABC" = "ABC ", .T. )
|
||||
TEST_LINE( "ABC" != "ABC ", .F. )
|
||||
TEST_LINE( "ABC" < "ABC ", .F. )
|
||||
TEST_LINE( "ABC" <= "ABC ", .T. )
|
||||
TEST_LINE( "ABC" > "ABC ", .F. )
|
||||
TEST_LINE( "ABC" >= "ABC ", .T. )
|
||||
TEST_LINE( "ABC " == "ABC", .F. )
|
||||
TEST_LINE( "ABC " = "ABC", .T. )
|
||||
TEST_LINE( "ABC " != "ABC", .F. )
|
||||
TEST_LINE( "ABC " < "ABC", .F. )
|
||||
TEST_LINE( "ABC " <= "ABC", .T. )
|
||||
TEST_LINE( "ABC " > "ABC", .F. )
|
||||
TEST_LINE( "ABC " >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "DEF", .F. )
|
||||
TEST_LINE( "ABC" = "DEF", .F. )
|
||||
TEST_LINE( "ABC" != "DEF", .T. )
|
||||
TEST_LINE( "ABC" < "DEF", .T. )
|
||||
TEST_LINE( "ABC" <= "DEF", .T. )
|
||||
TEST_LINE( "ABC" > "DEF", .F. )
|
||||
TEST_LINE( "ABC" >= "DEF", .F. )
|
||||
TEST_LINE( "DEF" == "ABC", .F. )
|
||||
TEST_LINE( "DEF" = "ABC", .F. )
|
||||
TEST_LINE( "DEF" != "ABC", .T. )
|
||||
TEST_LINE( "DEF" < "ABC", .F. )
|
||||
TEST_LINE( "DEF" <= "ABC", .F. )
|
||||
TEST_LINE( "DEF" > "ABC", .T. )
|
||||
TEST_LINE( "DEF" >= "ABC", .T. )
|
||||
TEST_LINE( "ABC" == "DEFG", .F. )
|
||||
TEST_LINE( "ABC" = "DEFG", .F. )
|
||||
TEST_LINE( "ABC" != "DEFG", .T. )
|
||||
TEST_LINE( "ABC" < "DEFG", .T. )
|
||||
TEST_LINE( "ABC" <= "DEFG", .T. )
|
||||
TEST_LINE( "ABC" > "DEFG", .F. )
|
||||
TEST_LINE( "ABC" >= "DEFG", .F. )
|
||||
TEST_LINE( "DEFG" == "ABC", .F. )
|
||||
TEST_LINE( "DEFG" = "ABC", .F. )
|
||||
TEST_LINE( "DEFG" != "ABC", .T. )
|
||||
TEST_LINE( "DEFG" < "ABC", .F. )
|
||||
TEST_LINE( "DEFG" <= "ABC", .F. )
|
||||
TEST_LINE( "DEFG" > "ABC", .T. )
|
||||
TEST_LINE( "DEFG" >= "ABC", .T. )
|
||||
TEST_LINE( "ABCD" == "DEF", .F. )
|
||||
TEST_LINE( "ABCD" = "DEF", .F. )
|
||||
TEST_LINE( "ABCD" != "DEF", .T. )
|
||||
TEST_LINE( "ABCD" < "DEF", .T. )
|
||||
TEST_LINE( "ABCD" <= "DEF", .T. )
|
||||
TEST_LINE( "ABCD" > "DEF", .F. )
|
||||
TEST_LINE( "ABCD" >= "DEF", .F. )
|
||||
TEST_LINE( "DEF" == "ABCD", .F. )
|
||||
TEST_LINE( "DEF" = "ABCD", .F. )
|
||||
TEST_LINE( "DEF" != "ABCD", .T. )
|
||||
TEST_LINE( "DEF" < "ABCD", .F. )
|
||||
TEST_LINE( "DEF" <= "ABCD", .F. )
|
||||
TEST_LINE( "DEF" > "ABCD", .T. )
|
||||
TEST_LINE( "DEF" >= "ABCD", .T. )
|
||||
|
||||
SET( _SET_EXACT, old_exact )
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION New_STRINGS()
|
||||
|
||||
#ifdef __HARBOUR__
|
||||
|
||||
TEST_LINE( HB_ValToStr( 4 ) , " 4" )
|
||||
TEST_LINE( HB_ValToStr( 4.0 / 2 ) , " 2.00" )
|
||||
TEST_LINE( HB_ValToStr( "String" ) , "String" )
|
||||
TEST_LINE( HB_ValToStr( SToD( "20010101" ) ) , "2001.01.01" )
|
||||
TEST_LINE( HB_ValToStr( NIL ) , "NIL" )
|
||||
TEST_LINE( HB_ValToStr( .F. ) , ".F." )
|
||||
TEST_LINE( HB_ValToStr( .T. ) , ".T." )
|
||||
|
||||
#endif
|
||||
|
||||
RETURN NIL
|
||||
|
||||
FUNCTION Long_STRINGS()
|
||||
|
||||
TEST_LINE( RIGHT( SPACE( 64 * 1024 - 5 ) + "12345 7890", 10 ), "12345 7890" )
|
||||
TEST_LINE( LEN( SPACE( 81910 ) + "1234567890" ), 81920 )
|
||||
TEST_LINE( ( "1234567890" + SPACE( 810910 ) ) - ( "1234567890" + SPACE( 810910 ) ), "12345678901234567890" + SPACE( 810910 * 2 ) )
|
||||
|
||||
RETURN NIL
|
||||
|
||||
/* Don't change the position of this #include. */
|
||||
#include "rt_init.ch"
|
||||
Reference in New Issue
Block a user