20000402-19:37 GMT+1 Victor Szakats <info@szelvesz.hu>

This commit is contained in:
Viktor Szakats
2000-04-02 17:35:52 +00:00
parent ccc8653a6a
commit c3f4bc639b
5 changed files with 55 additions and 1 deletions

View File

@@ -1,3 +1,24 @@
20000402-19:37 GMT+1 Victor Szakats <info@szelvesz.hu>
* utils/hbtest/rt_array.prg
% TAStr() optimization.
! aTail() test results separated for __HARBOUR__
* utils/hbtest/rt_main.ch
+ Added the define HARBOUR_STRICT_CLIPPER_COMPATIBILITY
* utils/hbtest/rt_str.prg
* utils/hbtest/rt_array.prg
* STRZERO() and AFILL() test result made dependent on the
HARBOUR_STRICT_CLIPPER_COMPATIBILITY setting.
* source/vm/arrayshb.c
+ Added CA-Cl*pper implementation specific runtime error for the
STRICT_COMPATIBLE branch.
+ Added Harbour specific runtime error on bad parameter.
; All these modifications cause the Regression Test failure to drop by 8.
20000402-18:50 GMT+1 Victor Szakats <info@szelvesz.hu>
+ source/tools/ctmisc.prg

View File

@@ -192,6 +192,15 @@ HB_FUNC( AFILL )
hb_itemReturn( pArray ); /* AFill() returns the array itself */
}
else
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
/* NOTE: In CA-Cl*pper AFILL() is written in a manner that it will
call AEVAL() to do the job, so the error (if any) will also be
thrown by AEVAL(). [vszakats] */
hb_errRT_BASE( EG_ARG, 2017, NULL, "AEVAL" );
#else
hb_errRT_BASE( EG_ARG, 9999, NULL, "AFILL" );
#endif
}
HB_FUNC( ASCAN )

View File

@@ -68,8 +68,13 @@ FUNCTION Main_ARRAY()
TEST_LINE( aSort(10) , NIL )
TEST_LINE( aSort({}) , "{.[0].}" )
TEST_LINE( aSort(ErrorNew()) , NIL )
#ifdef HARBOUR_STRICT_CLIPPER_COMPATIBILITY
TEST_LINE( aFill() , "E BASE 2017 Argument error AEVAL " )
TEST_LINE( aFill( NIL ) , "E BASE 2017 Argument error AEVAL " )
#else
TEST_LINE( aFill() , "E BASE 9999 Argument error AFILL " )
TEST_LINE( aFill( NIL ) , "E BASE 9999 Argument error AFILL " )
#endif
TEST_LINE( aFill( {} ) , "{.[0].}" )
TEST_LINE( aFill( {}, 1 ) , "{.[0].}" )
TEST_LINE( aFill( ErrorNew() ) , "ERROR Object" )
@@ -111,7 +116,11 @@ FUNCTION Main_ARRAY()
TEST_LINE( aTail( "" ) , NIL )
TEST_LINE( aTail( {} ) , NIL )
TEST_LINE( aTail( { 1, 2 } ) , 2 )
#ifdef __HARBOUR__
TEST_LINE( aTail( ErrorNew() ) , 0 )
#else
TEST_LINE( aTail( ErrorNew() ) , NIL )
#endif
TEST_LINE( aSize() , "E BASE 2023 Argument error ASIZE " )
TEST_LINE( aSize( NIL ) , "E BASE 2023 Argument error ASIZE " )
TEST_LINE( aSize( {} ) , "E BASE 2023 Argument error ASIZE " )
@@ -353,8 +362,9 @@ STATIC FUNCTION TARRv( nLen )
STATIC FUNCTION TAStr( aArray )
LOCAL cString := ""
LOCAL tmp
LOCAL nLen := Len( aArray )
FOR tmp := 1 TO Len( aArray )
FOR tmp := 1 TO nLen
cString += aArray[ tmp ]
NEXT

View File

@@ -51,3 +51,9 @@
#define TEST_RESULT_COL4_WIDTH 55
#define TEST_RESULT_COL5_WIDTH 55
#ifdef __HARBOUR__
#include "hbsetup.ch"
#else
#define HARBOUR_STRICT_CLIPPER_COMPATIBILITY
#endif

View File

@@ -767,11 +767,19 @@ FUNCTION Main_STR()
/* 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" )