2017-09-08 16:00 UTC Viktor Szakats (vszakats users.noreply.github.com)
* *
* partial sync with the 3.4 fork codebase. These are the things
synces for the most part:
- copyright headers
- grammar/typos in comments and some readmes
- comment/whitespace/decorations
- variable scoping in C files
- DO CASE/SWITCH and some other alternate syntax usage
- minimal amount of human readable text in strings
- minor code updates
- HB_TRACE() void * casts for pointers and few other changes to
avoid C compiler warnings
- various other, minor code cleanups
- only Harbour/C code/headers were touched in src, utils, contrib,
include. No 3rd party code, no make files, and with just a few
exceptions, no 'tests' code was touched.
- certain components were not touched were 3.4 diverged too much
already, like f.e. hbmk2, hbssl, hbcurl, hbexpat
- the goal was that no actual program logic should be altered by
these changes. Except some possible minor exceptions, any such
change is probably a bug in this patch.
It's a massive patch, if you find anything broken after it, please
open an Issue with the details. Build test was done on macOS.
The goal is make it easier to see what actual code/logic was changed
in 3.4 compared to 3.2 and to make patches easier to apply in both
ways.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Harbour i18n .pot/.hbl file manger
|
||||
* Harbour i18n .pot/.hbl file manager
|
||||
*
|
||||
* Copyright 2009 Przemyslaw Czerpak <druzus / at / priv.onet.pl>
|
||||
*
|
||||
@@ -48,9 +48,9 @@
|
||||
#include "hbver.ch"
|
||||
#include "directry.ch"
|
||||
|
||||
#define _HB_I18N_MERGE 1
|
||||
#define _HB_I18N_GENHBL 2
|
||||
#define _HB_I18N_TRANS 3
|
||||
#define _HB_I18N_MERGE 1
|
||||
#define _HB_I18N_GENHBL 2
|
||||
#define _HB_I18N_TRANS 3
|
||||
|
||||
#define LEFTEQUAL( l, r ) ( Left( l, Len( r ) ) == r )
|
||||
|
||||
@@ -141,13 +141,17 @@ PROCEDURE Main( ... )
|
||||
Logo()
|
||||
ENDIF
|
||||
|
||||
IF nMode == _HB_I18N_MERGE
|
||||
SWITCH nMode
|
||||
CASE _HB_I18N_MERGE
|
||||
Merge( aFiles, cFileOut )
|
||||
ELSEIF nMode == _HB_I18N_GENHBL
|
||||
EXIT
|
||||
CASE _HB_I18N_GENHBL
|
||||
GenHBL( aFiles, cFileOut, lEmpty )
|
||||
ELSEIF nMode == _HB_I18N_TRANS
|
||||
EXIT
|
||||
CASE _HB_I18N_TRANS
|
||||
AutoTrans( cFileIn, aFiles, cFileOut )
|
||||
ENDIF
|
||||
EXIT
|
||||
ENDSWITCH
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -204,17 +208,15 @@ STATIC PROCEDURE ErrorMsg( cErrorMsg )
|
||||
|
||||
STATIC FUNCTION ExpandWildCards( aFiles )
|
||||
|
||||
/* do not expand wild cards in environments where SHELL already does it.
|
||||
* In *nixes it's possible that file name will contains "*" or "?".
|
||||
*/
|
||||
/* Do not expand wild cards in environments where SHELL already does it.
|
||||
In *nixes it's possible that file name will contains "*" or "?". */
|
||||
|
||||
#ifndef __PLATFORM__UNIX
|
||||
|
||||
LOCAL cFile, cRealFile
|
||||
LOCAL aRealFiles
|
||||
LOCAL lWild
|
||||
LOCAL lWild := .F.
|
||||
|
||||
lWild := .F.
|
||||
FOR EACH cFile IN aFiles
|
||||
IF "*" $ cFile .OR. "?" $ cFile
|
||||
lWild := .T.
|
||||
@@ -245,13 +247,11 @@ STATIC FUNCTION LoadFiles( aFiles )
|
||||
LOCAL cErrorMsg
|
||||
LOCAL n
|
||||
|
||||
aTrans := __i18n_potArrayLoad( aFiles[ 1 ], @cErrorMsg )
|
||||
IF aTrans == NIL
|
||||
IF ( aTrans := __i18n_potArrayLoad( aFiles[ 1 ], @cErrorMsg ) ) == NIL
|
||||
ErrorMsg( cErrorMsg )
|
||||
ENDIF
|
||||
FOR n := 2 TO Len( aFiles )
|
||||
aTrans2 := __i18n_potArrayLoad( aFiles[ n ], @cErrorMsg )
|
||||
IF aTrans2 == NIL
|
||||
IF ( aTrans2 := __i18n_potArrayLoad( aFiles[ n ], @cErrorMsg ) ) == NIL
|
||||
ErrorMsg( cErrorMsg )
|
||||
ENDIF
|
||||
__i18n_potArrayJoin( aTrans, aTrans2, @hIndex )
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
* 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 https://www.gnu.org/).
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* (or visit their website at https://www.gnu.org/licenses/).
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
* 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 https://www.gnu.org/).
|
||||
* along with this program; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
* (or visit their website at https://www.gnu.org/licenses/).
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# Copyright 2009 Viktor Szakats (vszakats.net/harbour)
|
||||
|
||||
-q0 -w3 -es2 -kmo -l -u
|
||||
|
||||
{HB_HAS_GPM}-prgflag=-DHB_HAS_GPM
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# Copyright 2012 Viktor Szakats (vszakats.net/harbour)
|
||||
|
||||
# dynamic lib creation settings
|
||||
{hbdyn}-shared
|
||||
{hbdyn}-implib=lib/${hb_plat}/${hb_comp}${hb_build}/
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# Copyright 2012 Viktor Szakats (vszakats.net/harbour)
|
||||
|
||||
# Include file to setup standard installation rules
|
||||
# for 3rd party packages. To use it just add the line
|
||||
# '$hb_pkg_install.hbm' to the beginning of your project
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
/* NOTE: It's worth to make tests with and without the /z switch */
|
||||
/* NOTE: Guard all Harbour extensions with __HARBOUR__ #ifdefs */
|
||||
/* NOTE: Use ":className()" instead of ":className" to make your code work
|
||||
with Xbase++. Xbase++ seem to take differenciate between the
|
||||
with Xbase++. Xbase++ seem to take differentiate between the
|
||||
object method and object variable form. In CA-Cl*pper and Harbour
|
||||
both syntax is accepted. Same goes for ":Eval()" */
|
||||
|
||||
@@ -61,7 +61,7 @@
|
||||
/* TODO: Incorporate tests from test/working/string*.prg */
|
||||
/* TODO: String overflow on + and - tests */
|
||||
/* TODO: Tests with MEMO type ? */
|
||||
/* TODO: Tests with Log(0) type of invalid values */
|
||||
/* TODO: Tests with Log( 0 ) type of invalid values */
|
||||
|
||||
#include "rt_main.ch"
|
||||
|
||||
@@ -123,12 +123,12 @@ PROCEDURE Main( cPar1, cPar2, cPar3 )
|
||||
"-help" $ Lower( cPar1 ) .OR. ;
|
||||
"--help" $ Lower( cPar1 )
|
||||
|
||||
OutStd( hb_eol() +;
|
||||
"Syntax: hbtest [options]" + hb_eol() +;
|
||||
hb_eol() +;
|
||||
"Options: -h, -? Display this help." + hb_eol() +;
|
||||
" -all Display all tests, not only the failures." + hb_eol() +;
|
||||
" -noalt Ignore alternative results." + hb_eol() +;
|
||||
OutStd( hb_eol() + ;
|
||||
"Syntax: hbtest [options]" + hb_eol() + ;
|
||||
hb_eol() + ;
|
||||
"Options: -h, -? Display this help." + hb_eol() + ;
|
||||
" -all Display all tests, not only the failures." + hb_eol() + ;
|
||||
" -noalt Ignore alternative results." + hb_eol() + ;
|
||||
" -skip:<list> Skip the listed test numbers." + hb_eol() )
|
||||
|
||||
RETURN
|
||||
@@ -198,7 +198,7 @@ STATIC PROCEDURE Main_LAST()
|
||||
|
||||
STATIC PROCEDURE TEST_BEGIN( cParam )
|
||||
|
||||
LOCAL bErrorOld
|
||||
LOCAL bOldError
|
||||
|
||||
s_nStartTime := Seconds()
|
||||
|
||||
@@ -209,7 +209,7 @@ STATIC PROCEDURE TEST_BEGIN( cParam )
|
||||
hb_langSelect( "en" )
|
||||
#endif
|
||||
Set( _SET_DATEFORMAT, "yyyy-mm-dd" )
|
||||
SET EXACT OFF
|
||||
Set( _SET_EXACT, .F. )
|
||||
|
||||
FErase( "NOT_HERE.$$$" )
|
||||
|
||||
@@ -244,7 +244,7 @@ STATIC PROCEDURE TEST_BEGIN( cParam )
|
||||
/* Feedback */
|
||||
|
||||
OutMsg( s_nFhnd, ;
|
||||
"---------------------------------------------------------------------------" + hb_eol() +;
|
||||
Replicate( "-", 75 ) + hb_eol() + ;
|
||||
" Version: " + Version() + hb_eol() )
|
||||
#ifdef __HARBOUR__
|
||||
OutMsg( s_nFhnd, ;
|
||||
@@ -255,7 +255,7 @@ STATIC PROCEDURE TEST_BEGIN( cParam )
|
||||
" Date, Time: " + DToC( Date() ) + " " + Time() + hb_eol() +;
|
||||
"Shortcut opt.: " + iif( s_lShortcut, "On", "Off" ) + hb_eol() +;
|
||||
" Switches: " + cParam + hb_eol() +;
|
||||
"===========================================================================" + hb_eol() )
|
||||
Replicate( "=", 75 ) + hb_eol() )
|
||||
|
||||
OutMsg( s_nFhnd, ;
|
||||
PadR( "R", TEST_RESULT_COL1_WIDTH ) + " " +;
|
||||
@@ -263,7 +263,7 @@ STATIC PROCEDURE TEST_BEGIN( cParam )
|
||||
PadR( "TestCall()", TEST_RESULT_COL3_WIDTH ) + " -> " +;
|
||||
PadR( "Result", TEST_RESULT_COL4_WIDTH ) + " | " +;
|
||||
"Expected" + hb_eol() +;
|
||||
"---------------------------------------------------------------------------" + hb_eol() )
|
||||
Replicate( "-", 75 ) + hb_eol() )
|
||||
|
||||
/* NOTE: mxNotHere intentionally not declared */
|
||||
PUBLIC mcLongerNameThen10Chars := "Long String Name!"
|
||||
@@ -294,20 +294,20 @@ STATIC PROCEDURE TEST_BEGIN( cParam )
|
||||
// rddSetDefault( "DBFCDX" )
|
||||
#endif
|
||||
|
||||
bErrorOld := ErrorBlock( {| oError | Break( oError ) } )
|
||||
bOldError := ErrorBlock( {| oError | Break( oError ) } )
|
||||
BEGIN SEQUENCE
|
||||
dbCreate( "_hbtmp_.dbf", { ;
|
||||
{ "TYPE_C" , "C", 15, 0 } ,;
|
||||
{ "TYPE_C_E" , "C", 15, 0 } ,;
|
||||
{ "TYPE_D" , "D", 8, 0 } ,;
|
||||
{ "TYPE_D_E" , "D", 8, 0 } ,;
|
||||
{ "TYPE_M" , "M", 10, 0 } ,;
|
||||
{ "TYPE_M_E" , "M", 10, 0 } ,;
|
||||
{ "TYPE_N_I" , "N", 11, 0 } ,;
|
||||
{ "TYPE_N_IE", "N", 11, 0 } ,;
|
||||
{ "TYPE_N_D" , "N", 11, 3 } ,;
|
||||
{ "TYPE_N_DE", "N", 11, 3 } ,;
|
||||
{ "TYPE_L" , "L", 1, 0 } ,;
|
||||
{ "TYPE_C" , "C", 15, 0 }, ;
|
||||
{ "TYPE_C_E" , "C", 15, 0 }, ;
|
||||
{ "TYPE_D" , "D", 8, 0 }, ;
|
||||
{ "TYPE_D_E" , "D", 8, 0 }, ;
|
||||
{ "TYPE_M" , "M", 10, 0 }, ;
|
||||
{ "TYPE_M_E" , "M", 10, 0 }, ;
|
||||
{ "TYPE_N_I" , "N", 11, 0 }, ;
|
||||
{ "TYPE_N_IE", "N", 11, 0 }, ;
|
||||
{ "TYPE_N_D" , "N", 11, 3 }, ;
|
||||
{ "TYPE_N_DE", "N", 11, 3 }, ;
|
||||
{ "TYPE_L" , "L", 1, 0 }, ;
|
||||
{ "TYPE_L_E" , "L", 1, 0 } } )
|
||||
|
||||
USE ( "_hbtmp_.dbf" ) NEW ALIAS w_TEST EXCLUSIVE
|
||||
@@ -329,10 +329,10 @@ STATIC PROCEDURE TEST_BEGIN( cParam )
|
||||
|
||||
s_lDBFAvail := .T.
|
||||
END SEQUENCE
|
||||
ErrorBlock( bErrorOld )
|
||||
ErrorBlock( bOldError )
|
||||
|
||||
IF ! s_lDBFAvail
|
||||
OutMsg( s_nFhnd, "WARNING ! Test .dbf could not be created. Related tests will be skipped." + hb_eol() )
|
||||
OutMsg( s_nFhnd, "WARNING: Test .dbf could not be created. Related tests will be skipped." + hb_eol() )
|
||||
ENDIF
|
||||
|
||||
RETURN
|
||||
@@ -384,28 +384,27 @@ PROCEDURE TEST_CALL( cBlock, bBlock, xResultExpected, xResultAlter )
|
||||
IF lFailed .AND. ! s_lNoAltResult .AND. PCount() >= 4
|
||||
lFailed := ResultCompare( lRTE, xResult, xResultAlter )
|
||||
ENDIF
|
||||
|
||||
ENDIF
|
||||
|
||||
IF s_lShowAll .OR. lFailed .OR. lSkipped .OR. lPPError
|
||||
|
||||
IF lFailed
|
||||
OutMsg( s_nFhnd, ;
|
||||
PadR( iif( lFailed, "!", iif( lSkipped, "S", " " ) ), TEST_RESULT_COL1_WIDTH ) + " " +;
|
||||
PadR( Str( s_nCount, 4 ) + " " + ProcName( 1 ) + "(" + LTrim( Str( ProcLine( 1 ), 5 ) ) + ")", TEST_RESULT_COL2_WIDTH ) + " " +;
|
||||
RTrim( cBlock ) +;
|
||||
hb_eol() +;
|
||||
Space( 5 ) + " Result: " + XToStr( xResult ) +;
|
||||
hb_eol() +;
|
||||
Space( 5 ) + "Expected: " + XToStr( xResultExpected ) +;
|
||||
PadR( iif( lFailed, "!", iif( lSkipped, "S", " " ) ), TEST_RESULT_COL1_WIDTH ) + " " + ;
|
||||
PadR( Str( s_nCount, 4 ) + " " + ProcName( 1 ) + "(" + LTrim( Str( ProcLine( 1 ), 5 ) ) + ")", TEST_RESULT_COL2_WIDTH ) + " " + ;
|
||||
RTrim( cBlock ) + ;
|
||||
hb_eol() + ;
|
||||
Space( 5 ) + " Result: " + XToStr( xResult ) + ;
|
||||
hb_eol() + ;
|
||||
Space( 5 ) + "Expected: " + XToStr( xResultExpected ) + ;
|
||||
hb_eol() )
|
||||
ELSE
|
||||
OutMsg( s_nFhnd, ;
|
||||
PadR( iif( lFailed, "!", iif( lSkipped, "S", " " ) ), TEST_RESULT_COL1_WIDTH ) + " " +;
|
||||
PadR( Str( s_nCount, 4 ) + " " + ProcName( 1 ) + "(" + LTrim( Str( ProcLine( 1 ), 5 ) ) + ")", TEST_RESULT_COL2_WIDTH ) + " " +;
|
||||
PadR( cBlock, TEST_RESULT_COL3_WIDTH ) + " -> " +;
|
||||
PadR( XToStr( xResult ), TEST_RESULT_COL4_WIDTH ) + " | " +;
|
||||
RTrim( XToStr( xResultExpected ) ) +;
|
||||
PadR( iif( lFailed, "!", iif( lSkipped, "S", " " ) ), TEST_RESULT_COL1_WIDTH ) + " " + ;
|
||||
PadR( Str( s_nCount, 4 ) + " " + ProcName( 1 ) + "(" + LTrim( Str( ProcLine( 1 ), 5 ) ) + ")", TEST_RESULT_COL2_WIDTH ) + " " + ;
|
||||
PadR( cBlock, TEST_RESULT_COL3_WIDTH ) + " -> " + ;
|
||||
PadR( XToStr( xResult ), TEST_RESULT_COL4_WIDTH ) + " | " + ;
|
||||
RTrim( XToStr( xResultExpected ) ) + ;
|
||||
hb_eol() )
|
||||
ENDIF
|
||||
ENDIF
|
||||
@@ -433,22 +432,22 @@ STATIC PROCEDURE TEST_END()
|
||||
s_nEndTime := Seconds()
|
||||
|
||||
OutMsg( s_nFhnd, ;
|
||||
"===========================================================================" + hb_eol() +;
|
||||
"Test calls passed: " + Str( s_nPass ) + " ( " + LTrim( Str( ( 1 - ( s_nFail / s_nPass ) ) * 100, 6, 2 ) ) + " % )" + hb_eol() +;
|
||||
"Test calls failed: " + Str( s_nFail ) + " ( " + LTrim( Str( ( s_nFail / s_nPass ) * 100, 6, 2 ) ) + " % )" + hb_eol() +;
|
||||
" ----------" + hb_eol() +;
|
||||
" Total: " + Str( s_nPass + s_nFail ) +;
|
||||
" ( Time elapsed: " + LTrim( Str( s_nEndTime - s_nStartTime ) ) + " seconds )" + hb_eol() +;
|
||||
Replicate( "=", 75 ) + hb_eol() + ;
|
||||
"Test calls passed: " + Str( s_nPass ) + " ( " + LTrim( Str( ( 1 - ( s_nFail / s_nPass ) ) * 100, 6, 2 ) ) + " % )" + hb_eol() + ;
|
||||
"Test calls failed: " + Str( s_nFail ) + " ( " + LTrim( Str( ( s_nFail / s_nPass ) * 100, 6, 2 ) ) + " % )" + hb_eol() + ;
|
||||
" ----------" + hb_eol() + ;
|
||||
" Total: " + Str( s_nPass + s_nFail ) + ;
|
||||
" ( Time elapsed: " + LTrim( Str( s_nEndTime - s_nStartTime ) ) + " seconds )" + hb_eol() + ;
|
||||
hb_eol() )
|
||||
|
||||
IF s_nFail != 0
|
||||
IF "CLIPPER (R)" $ Upper( Version() )
|
||||
OutMsg( s_nFhnd, ;
|
||||
"WARNING ! Failures detected using CA-Cl*pper." + hb_eol() +;
|
||||
"WARNING: Failures detected using CA-Cl*pper." + hb_eol() + ;
|
||||
"Please fix those expected results which are not bugs in CA-Cl*pper itself." + hb_eol() )
|
||||
ELSE
|
||||
OutMsg( s_nFhnd, ;
|
||||
"WARNING ! Failures detected" + hb_eol() )
|
||||
"WARNING: Failures detected" + hb_eol() )
|
||||
ENDIF
|
||||
ENDIF
|
||||
|
||||
@@ -462,23 +461,15 @@ STATIC PROCEDURE TEST_END()
|
||||
|
||||
FUNCTION ResultCompare( lRTE, xResult, xResultExpected )
|
||||
|
||||
LOCAL lFailed
|
||||
|
||||
IF lRTE
|
||||
lFailed := !( XToStr( xResult ) == XToStr( xResultExpected ) )
|
||||
ELSE
|
||||
IF !( ValType( xResult ) == ValType( xResultExpected ) )
|
||||
IF ValType( xResultExpected ) == "C" .AND. ValType( xResult ) $ "ABMO"
|
||||
lFailed := !( XToStr( xResult ) == xResultExpected )
|
||||
ELSE
|
||||
lFailed := .T.
|
||||
ENDIF
|
||||
ELSE
|
||||
lFailed := !( xResult == xResultExpected )
|
||||
ENDIF
|
||||
RETURN ! XToStr( xResult ) == XToStr( xResultExpected )
|
||||
ELSEIF ValType( xResult ) == ValType( xResultExpected )
|
||||
RETURN ! xResult == xResultExpected
|
||||
ELSEIF ValType( xResultExpected ) == "C" .AND. ValType( xResult ) $ "ABMO"
|
||||
RETURN ! XToStr( xResult ) == xResultExpected
|
||||
ENDIF
|
||||
|
||||
RETURN lFailed
|
||||
RETURN .T.
|
||||
|
||||
FUNCTION XToStr( xValue )
|
||||
|
||||
@@ -523,7 +514,7 @@ FUNCTION XToStrE( xValue )
|
||||
RETURN xValue
|
||||
|
||||
CASE cType == "N" ; RETURN LTrim( Str( xValue ) )
|
||||
CASE cType == "D" ; RETURN "0d" + iif( Empty( xValue ), "00000000", DToS( xValue ) )
|
||||
CASE cType == "D" ; RETURN "0d" + iif( Empty( xValue ), "0", DToS( xValue ) )
|
||||
CASE cType == "L" ; RETURN iif( xValue, ".T.", ".F." )
|
||||
CASE cType == "O" ; RETURN xValue:className() + " Object"
|
||||
CASE cType == "U" ; RETURN "NIL"
|
||||
@@ -685,9 +676,9 @@ FUNCTION hb_SToD( cDate )
|
||||
|
||||
FUNCTION hb_SToD( s )
|
||||
|
||||
LOCAL cDf := Set( _SET_DATEFORMAT, "YYYY/MM/DD" ), dt
|
||||
LOCAL cDf := Set( _SET_DATEFORMAT, "yyyy-mm-dd" ), dt
|
||||
|
||||
dt := CToD( Stuff( Stuff( s, 7, 0, "/" ), 5, 0, "/" ) )
|
||||
dt := CToD( Stuff( Stuff( s, 7, 0, "-" ), 5, 0, "-" ) )
|
||||
Set( _SET_DATEFORMAT, cDf )
|
||||
|
||||
RETURN dt
|
||||
@@ -705,13 +696,14 @@ STATIC FUNCTION BADFNAME()
|
||||
|
||||
STATIC PROCEDURE OutMsg( hFile, cMsg )
|
||||
|
||||
IF hFile == 1
|
||||
DO CASE
|
||||
CASE hFile == 1
|
||||
OutStd( cMsg )
|
||||
ELSEIF hFile == 2
|
||||
CASE hFile == 2
|
||||
OutErr( cMsg )
|
||||
ELSE
|
||||
OTHERWISE
|
||||
FWrite( hFile, cMsg )
|
||||
ENDIF
|
||||
ENDCASE
|
||||
|
||||
RETURN
|
||||
|
||||
|
||||
@@ -1093,13 +1093,14 @@ STATIC FUNCTION INSTANCE_DATA( oValue )
|
||||
|
||||
cData := "[" + hb_ntos( Len( oValue ) ) + "]:"
|
||||
FOR i := 1 TO Len( oValue )
|
||||
IF HB_ISSTRING( oValue[ i ] )
|
||||
DO CASE
|
||||
CASE HB_ISSTRING( oValue[ i ] )
|
||||
cData += " " + oValue[ i ]
|
||||
ELSEIF oValue[ i ] == NIL
|
||||
CASE oValue[ i ] == NIL
|
||||
cData += " NIL"
|
||||
ELSE
|
||||
OTHERWISE
|
||||
cData += " ..."
|
||||
ENDIF
|
||||
ENDCASE
|
||||
NEXT
|
||||
|
||||
RETURN cData
|
||||
@@ -1113,25 +1114,27 @@ EXPORTED:
|
||||
CLASS VAR var2
|
||||
METHOD init
|
||||
DESTRUCTOR dtor
|
||||
END CLASS
|
||||
ENDCLASS
|
||||
|
||||
METHOD INIT( type ) CLASS DTORCLASS
|
||||
::type := type
|
||||
RETURN self
|
||||
|
||||
METHOD PROCEDURE DTOR CLASS DTORCLASS
|
||||
IF ::type == 1
|
||||
|
||||
DO CASE
|
||||
CASE ::Type == 1
|
||||
cDtorResult += "Reference to self in instance variable."
|
||||
::var1 := self
|
||||
ELSEIF ::Type == 2
|
||||
CASE ::Type == 2
|
||||
cDtorResult += "Reference to self in class variable."
|
||||
::var2 := self
|
||||
ELSEIF ::Type == 3
|
||||
CASE ::Type == 3
|
||||
cDtorResult += "Reference to self in private memvar."
|
||||
objHolder := self
|
||||
ELSE
|
||||
OTHERWISE
|
||||
cDtorResult += "No references to self."
|
||||
ENDIF
|
||||
ENDCASE
|
||||
|
||||
RETURN
|
||||
|
||||
@@ -1142,28 +1145,28 @@ EXPORTED:
|
||||
VAR x1 INIT "(x1)"
|
||||
VAR y1 INIT "(y1)"
|
||||
VAR z1 INIT "(z1)"
|
||||
END CLASS
|
||||
ENDCLASS
|
||||
|
||||
CREATE CLASS IVARSCLASS2 FROM IVARSCLASS1
|
||||
CREATE CLASS IVARSCLASS2 INHERIT IVARSCLASS1
|
||||
EXPORTED:
|
||||
VAR x2 INIT "(x2)"
|
||||
VAR y2 INIT "(y2)"
|
||||
VAR z2 INIT "(z2)"
|
||||
END CLASS
|
||||
ENDCLASS
|
||||
|
||||
CREATE CLASS IVARSCLASS3 FROM IVARSCLASS1, IVARSCLASS2
|
||||
CREATE CLASS IVARSCLASS3 INHERIT IVARSCLASS1, IVARSCLASS2
|
||||
EXPORTED:
|
||||
VAR x3 INIT "(x3)"
|
||||
VAR y3 INIT "(y3)"
|
||||
VAR z3 INIT "(z3)"
|
||||
END CLASS
|
||||
ENDCLASS
|
||||
|
||||
CREATE CLASS IVARSCLASS4 FROM IVARSCLASS3, IVARSCLASS2
|
||||
CREATE CLASS IVARSCLASS4 INHERIT IVARSCLASS3, IVARSCLASS2
|
||||
EXPORTED:
|
||||
VAR x4 INIT "(x4)"
|
||||
VAR y4 INIT "(y4)"
|
||||
VAR z4 INIT "(z4)"
|
||||
END CLASS
|
||||
ENDCLASS
|
||||
|
||||
|
||||
|
||||
@@ -1172,28 +1175,28 @@ EXPORTED:
|
||||
CLASS VAR x1 INIT "(x1)"
|
||||
CLASS VAR y1 INIT "(y1)"
|
||||
CLASS VAR z1 INIT "(z1)"
|
||||
END CLASS
|
||||
ENDCLASS
|
||||
|
||||
CREATE CLASS CVARSCLASS2 FROM CVARSCLASS1
|
||||
CREATE CLASS CVARSCLASS2 INHERIT CVARSCLASS1
|
||||
EXPORTED:
|
||||
CLASS VAR x2 INIT "(x2)"
|
||||
CLASS VAR y2 INIT "(y2)"
|
||||
CLASS VAR z2 INIT "(z2)"
|
||||
END CLASS
|
||||
ENDCLASS
|
||||
|
||||
CREATE CLASS CVARSCLASS3 FROM CVARSCLASS1, CVARSCLASS2
|
||||
CREATE CLASS CVARSCLASS3 INHERIT CVARSCLASS1, CVARSCLASS2
|
||||
EXPORTED:
|
||||
CLASS VAR x3 INIT "(x3)"
|
||||
CLASS VAR y3 INIT "(y3)"
|
||||
CLASS VAR z3 INIT "(z3)"
|
||||
END CLASS
|
||||
ENDCLASS
|
||||
|
||||
CREATE CLASS CVARSCLASS4 FROM CVARSCLASS3, CVARSCLASS2
|
||||
CREATE CLASS CVARSCLASS4 INHERIT CVARSCLASS3, CVARSCLASS2
|
||||
EXPORTED:
|
||||
CLASS VAR x4 INIT "(x4)"
|
||||
CLASS VAR y4 INIT "(y4)"
|
||||
CLASS VAR z4 INIT "(z4)"
|
||||
END CLASS
|
||||
ENDCLASS
|
||||
|
||||
|
||||
|
||||
@@ -1204,21 +1207,21 @@ EXPORTED:
|
||||
CLASS VAR z1 INIT "(z1)" SHARED
|
||||
ENDCLASS
|
||||
|
||||
CREATE CLASS SVARSCLASS2 FROM SVARSCLASS1
|
||||
CREATE CLASS SVARSCLASS2 INHERIT SVARSCLASS1
|
||||
EXPORTED:
|
||||
CLASS VAR x2 INIT "(x2)" SHARED
|
||||
CLASS VAR y2 INIT "(y2)" SHARED
|
||||
CLASS VAR z2 INIT "(z2)" SHARED
|
||||
ENDCLASS
|
||||
|
||||
CREATE CLASS SVARSCLASS3 FROM SVARSCLASS1, SVARSCLASS2
|
||||
CREATE CLASS SVARSCLASS3 INHERIT SVARSCLASS1, SVARSCLASS2
|
||||
EXPORTED:
|
||||
CLASS VAR x3 INIT "(x3)" SHARED
|
||||
CLASS VAR y3 INIT "(y3)" SHARED
|
||||
CLASS VAR z3 INIT "(z3)" SHARED
|
||||
ENDCLASS
|
||||
|
||||
CREATE CLASS SVARSCLASS4 FROM SVARSCLASS3, SVARSCLASS2
|
||||
CREATE CLASS SVARSCLASS4 INHERIT SVARSCLASS3, SVARSCLASS2
|
||||
EXPORTED:
|
||||
CLASS VAR x4 INIT "(x4)" SHARED
|
||||
CLASS VAR y4 INIT "(y4)" SHARED
|
||||
@@ -1246,7 +1249,6 @@ EXPORTED:
|
||||
ENDCLASS
|
||||
|
||||
METHOD m1 CLASS NVCLASS1
|
||||
|
||||
RETURN "NVCLASS1:M1 " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1260,7 +1262,6 @@ METHOD m1 CLASS NVCLASS1
|
||||
::z()
|
||||
|
||||
METHOD x CLASS NVCLASS1
|
||||
|
||||
RETURN "NVCLASS1:X " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1271,7 +1272,6 @@ METHOD x CLASS NVCLASS1
|
||||
hb_CStr( ::v )
|
||||
|
||||
METHOD y CLASS NVCLASS1
|
||||
|
||||
RETURN "NVCLASS1:Y " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1282,7 +1282,6 @@ METHOD y CLASS NVCLASS1
|
||||
hb_CStr( ::v )
|
||||
|
||||
METHOD z CLASS NVCLASS1
|
||||
|
||||
RETURN "NVCLASS1:Z " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1313,7 +1312,6 @@ EXPORTED:
|
||||
ENDCLASS
|
||||
|
||||
METHOD m2 CLASS NVCLASS2
|
||||
|
||||
RETURN "NVCLASS2:M2 " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1327,7 +1325,6 @@ METHOD m2 CLASS NVCLASS2
|
||||
::z()
|
||||
|
||||
METHOD x CLASS NVCLASS2
|
||||
|
||||
RETURN "NVCLASS2:X " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1338,7 +1335,6 @@ METHOD x CLASS NVCLASS2
|
||||
hb_CStr( ::v )
|
||||
|
||||
METHOD y CLASS NVCLASS2
|
||||
|
||||
RETURN "NVCLASS2:Y " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1349,7 +1345,6 @@ METHOD y CLASS NVCLASS2
|
||||
hb_CStr( ::v )
|
||||
|
||||
METHOD z CLASS NVCLASS2
|
||||
|
||||
RETURN "NVCLASS2:Z " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1360,7 +1355,7 @@ METHOD z CLASS NVCLASS2
|
||||
hb_CStr( ::v )
|
||||
|
||||
|
||||
CREATE CLASS NVCLASS3 FROM NVCLASS1, NVCLASS2
|
||||
CREATE CLASS NVCLASS3 INHERIT NVCLASS1, NVCLASS2
|
||||
HIDDEN:
|
||||
VAR a init "(a3)"
|
||||
CLASS VAR b init "(b3)"
|
||||
@@ -1381,7 +1376,6 @@ EXPORTED:
|
||||
ENDCLASS
|
||||
|
||||
METHOD m3 CLASS NVCLASS3
|
||||
|
||||
RETURN "NVCLASS3:M3 " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1395,7 +1389,6 @@ METHOD m3 CLASS NVCLASS3
|
||||
::z()
|
||||
|
||||
METHOD x CLASS NVCLASS3
|
||||
|
||||
RETURN "NVCLASS3:X " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1406,7 +1399,6 @@ METHOD x CLASS NVCLASS3
|
||||
hb_CStr( ::v )
|
||||
|
||||
METHOD y CLASS NVCLASS3
|
||||
|
||||
RETURN "NVCLASS3:Y " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1417,7 +1409,6 @@ METHOD y CLASS NVCLASS3
|
||||
hb_CStr( ::v )
|
||||
|
||||
METHOD z CLASS NVCLASS3
|
||||
|
||||
RETURN "NVCLASS3:Z " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
@@ -1428,12 +1419,11 @@ METHOD z CLASS NVCLASS3
|
||||
hb_CStr( ::v )
|
||||
|
||||
|
||||
CREATE CLASS NVCLASS4 FROM NVCLASS3
|
||||
CREATE CLASS NVCLASS4 INHERIT NVCLASS3
|
||||
METHOD m4
|
||||
ENDCLASS
|
||||
|
||||
METHOD m4
|
||||
|
||||
METHOD m4 CLASS NVCLASS4
|
||||
RETURN "NVCLASS4:M4 " + ;
|
||||
hb_CStr( ::a ) + " " + ;
|
||||
hb_CStr( ::b ) + " " + ;
|
||||
|
||||
@@ -57,15 +57,13 @@
|
||||
PROCEDURE Main_FILE()
|
||||
|
||||
LOCAL cFileName := "$$FILEIO.TMP"
|
||||
LOCAL nFlags
|
||||
|
||||
LOCAL cBuff4 := Space( 4 )
|
||||
LOCAL cBuff100 := Space( 100 )
|
||||
|
||||
LOCAL fhnd
|
||||
|
||||
nFlags := FC_NORMAL
|
||||
fhnd := FCreate( cFileName, nFlags )
|
||||
fhnd := FCreate( cFileName )
|
||||
|
||||
HBTEST FError() IS 0
|
||||
HBTEST TESTFIER( FWrite( fhnd, ">1234567890<" ) ) IS "E: 0 R: 12"
|
||||
@@ -134,8 +132,7 @@ PROCEDURE Main_FILE()
|
||||
HBTEST TESTFIER( FRename( "NOT_HERE.$$$", 'A' ) ) IS 'E: 2 R: -1'
|
||||
HBTEST TESTFIER( FOpen( "NOT_HERE.$$$" ) ) IS 'E: 2 R: -1'
|
||||
|
||||
nFlags := FO_READWRITE
|
||||
fhnd := FOpen( cFileName, nFlags )
|
||||
fhnd := FOpen( cFileName, FO_READWRITE )
|
||||
|
||||
HBTEST FError() IS 0
|
||||
HBTEST TESTFIER( FWrite( fhnd, ">1234567890<" ) ) IS "E: 0 R: 12"
|
||||
|
||||
@@ -383,7 +383,7 @@ PROCEDURE Main_HVM()
|
||||
|
||||
/* =, == */
|
||||
|
||||
SET EXACT ON
|
||||
Set( _SET_EXACT, .T. )
|
||||
HBTEST "123" = "123 " IS .T.
|
||||
HBTEST " 123" = "123" IS .F.
|
||||
HBTEST "123" = "12345" IS .F.
|
||||
@@ -394,7 +394,7 @@ PROCEDURE Main_HVM()
|
||||
HBTEST "Z" == "A" IS .F.
|
||||
HBTEST "A" == "A " IS .F.
|
||||
HBTEST "AA" == "A" IS .F.
|
||||
SET EXACT OFF
|
||||
Set( _SET_EXACT, .F. )
|
||||
HBTEST "123" = "123 " IS .F.
|
||||
HBTEST " 123" = "123" IS .F.
|
||||
HBTEST "123" = "12345" IS .F.
|
||||
@@ -426,7 +426,7 @@ PROCEDURE Main_HVM()
|
||||
|
||||
/* != */
|
||||
|
||||
SET EXACT ON
|
||||
Set( _SET_EXACT, .T. )
|
||||
HBTEST "123" != "123 " IS .F.
|
||||
HBTEST " 123" != "123" IS .T.
|
||||
HBTEST "123" != "12345" IS .T.
|
||||
@@ -437,7 +437,7 @@ PROCEDURE Main_HVM()
|
||||
HBTEST "Z" != "A" IS .T.
|
||||
HBTEST "A" != "A " IS .F.
|
||||
HBTEST "AA" != "A" IS .T.
|
||||
SET EXACT OFF
|
||||
Set( _SET_EXACT, .F. )
|
||||
HBTEST "123" != "123 " IS .T.
|
||||
HBTEST " 123" != "123" IS .T.
|
||||
HBTEST "123" != "12345" IS .T.
|
||||
|
||||
@@ -235,13 +235,13 @@ PROCEDURE Main_HVMA()
|
||||
#ifdef __HARBOUR__
|
||||
#pragma -kh-
|
||||
#endif
|
||||
HBTEST "" $ "" IS .T. /* Bug in CA-Cl*ppers compiler optimizer. It should return .F. */
|
||||
HBTEST "" $ "bcde" IS .T. /* Bug in CA-Cl*ppers compiler optimizer. It should return .F. */
|
||||
HBTEST "" $ "" IS .T. /* Bug in CA-Cl*pper compiler optimizer. It should return .F. */
|
||||
HBTEST "" $ "bcde" IS .T. /* Bug in CA-Cl*pper compiler optimizer. It should return .F. */
|
||||
#ifdef __HARBOUR__
|
||||
/* enable Harbour extensions and test correct results results */
|
||||
#pragma -kh+
|
||||
HBTEST "" $ "" IS .F. /* Bug in CA-Cl*ppers compiler optimizer. It should return .F. */
|
||||
HBTEST "" $ "bcde" IS .F. /* Bug in CA-Cl*ppers compiler optimizer. It should return .F. */
|
||||
HBTEST "" $ "" IS .F. /* Bug in CA-Cl*pper compiler optimizer. It should return .F. */
|
||||
HBTEST "" $ "bcde" IS .F. /* Bug in CA-Cl*pper compiler optimizer. It should return .F. */
|
||||
#endif
|
||||
HBTEST "d" $ "bcde" IS .T.
|
||||
HBTEST "D" $ "BCDE" IS .T.
|
||||
@@ -305,14 +305,14 @@ PROCEDURE Main_HVMA()
|
||||
HBTEST .T. .AND. 1 IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.T.;N:1 F:S"
|
||||
HBTEST .T. .AND. 1.567 IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.T.;N:1.567 F:S"
|
||||
HBTEST .T. .AND. scString IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.T.;C:HELLO F:S"
|
||||
HBTEST .T. .AND. hb_SToD( "" ) IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.T.;D:0d00000000 F:S"
|
||||
HBTEST .T. .AND. hb_SToD( "" ) IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.T.;D:0d0 F:S"
|
||||
HBTEST .T. .AND. NIL IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.T.;U:NIL F:S"
|
||||
HBTEST .T. .AND. {} IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.T.;A:{.[0].} F:S"
|
||||
HBTEST .T. .AND. {|| NIL } IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.T.;B:{||...} F:S"
|
||||
HBTEST .F. .AND. 1 IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.F.;N:1 F:S"
|
||||
HBTEST .F. .AND. 1.567 IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.F.;N:1.567 F:S"
|
||||
HBTEST .F. .AND. scString IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.F.;C:HELLO F:S"
|
||||
HBTEST .F. .AND. hb_SToD( "" ) IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.F.;D:0d00000000 F:S"
|
||||
HBTEST .F. .AND. hb_SToD( "" ) IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.F.;D:0d0 F:S"
|
||||
HBTEST .F. .AND. NIL IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.F.;U:NIL F:S"
|
||||
HBTEST .F. .AND. {} IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.F.;A:{.[0].} F:S"
|
||||
HBTEST .F. .AND. {|| NIL } IS "E 1 BASE 1078 Argument error (.AND.) OS:0 #:0 A:2:L:.F.;B:{||...} F:S"
|
||||
@@ -386,7 +386,7 @@ PROCEDURE Main_HVMA()
|
||||
HBTEST (NIL)->NOFIELD IS "E 1 BASE 1065 Argument error (&) OS:0 #:0 A:2:U:NIL;C:NOFIELD F:S"
|
||||
HBTEST (2)->NOFIELD IS "E 14 BASE 1003 Variable does not exist (NOFIELD) OS:0 #:1 F:R"
|
||||
HBTEST (2.5)->NOFIELD IS "E 14 BASE 1003 Variable does not exist (NOFIELD) OS:0 #:1 F:R"
|
||||
HBTEST (hb_SToD( "" ))->NOFIELD IS "E 1 BASE 1065 Argument error (&) OS:0 #:0 A:2:D:0d00000000;C:NOFIELD F:S"
|
||||
HBTEST (hb_SToD( "" ))->NOFIELD IS "E 1 BASE 1065 Argument error (&) OS:0 #:0 A:2:D:0d0;C:NOFIELD F:S"
|
||||
HBTEST (ErrorNew())->NOFIELD IS "E 1 BASE 1065 Argument error (&) OS:0 #:0 A:2:O:ERROR Object;C:NOFIELD F:S"
|
||||
|
||||
#ifndef __XPP__
|
||||
@@ -633,7 +633,7 @@ PROCEDURE Main_HVMA()
|
||||
|
||||
RETURN
|
||||
|
||||
FUNCTION RTSTR( nValue )
|
||||
STATIC FUNCTION RTSTR( nValue )
|
||||
RETURN Str( Len( Str( nValue ) ), 3 ) + " " + Str( nValue )
|
||||
|
||||
/* Don't change the position of this #include. */
|
||||
|
||||
@@ -83,7 +83,7 @@ PROCEDURE Main_MISC()
|
||||
HBTEST Set( _SET_MARGIN , -1 ) IS "E 1 BASE 2020 Argument error (SET) OS:0 #:0 A:2:N:25;N:-1 "
|
||||
|
||||
#ifdef HB_COMPAT_C53
|
||||
HBTEST Set( _SET_EVENTMASK ) IS 128
|
||||
HBTEST Set( _SET_EVENTMASK ) IS 128 /* INKEY_KEYBOARD */
|
||||
HBTEST Set( _SET_VIDEOMODE ) IS NIL, 0
|
||||
HBTEST Set( _SET_MBLOCKSIZE ) IS 64
|
||||
HBTEST Set( _SET_MFILEEXT ) IS ""
|
||||
@@ -537,7 +537,7 @@ PROCEDURE Main_MISC()
|
||||
HBTEST suNIL:Eval() IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:U:NIL F:S"
|
||||
HBTEST scString:Eval() IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:C:HELLO F:S"
|
||||
HBTEST snIntP:Eval() IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:N:10 F:S"
|
||||
HBTEST sdDateE:Eval() IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:D:0d00000000 F:S"
|
||||
HBTEST sdDateE:Eval() IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:D:0d0 F:S"
|
||||
HBTEST slFalse:Eval() IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:L:.F. F:S"
|
||||
HBTEST sbBlock:Eval() IS NIL
|
||||
HBTEST saArray:Eval() IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:A:{.[1].} F:S"
|
||||
@@ -545,7 +545,7 @@ PROCEDURE Main_MISC()
|
||||
HBTEST suNIL:Eval IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:U:NIL F:S"
|
||||
HBTEST scString:Eval IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:C:HELLO F:S"
|
||||
HBTEST snIntP:Eval IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:N:10 F:S"
|
||||
HBTEST sdDateE:Eval IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:D:0d00000000 F:S"
|
||||
HBTEST sdDateE:Eval IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:D:0d0 F:S"
|
||||
HBTEST slFalse:Eval IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:L:.F. F:S"
|
||||
HBTEST sbBlock:Eval IS NIL
|
||||
HBTEST saArray:Eval IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:A:{.[1].} F:S"
|
||||
@@ -701,7 +701,7 @@ PROCEDURE Main_MISC()
|
||||
|
||||
#endif /* __XPP__ */
|
||||
|
||||
/* NOTE: BIN2*() functions are quite untable in CA-Cl*pper when the passed
|
||||
/* NOTE: BIN2*() functions are quite unstable in CA-Cl*pper when the passed
|
||||
parameter is smaller than the required length. */
|
||||
|
||||
/* Bin2I() */
|
||||
@@ -806,7 +806,7 @@ PROCEDURE Main_MISC()
|
||||
HBTEST __CopyFile( "$$COPYFR.TMP" ) IS "E 1 BASE 2010 Argument error (__COPYFILE) OS:0 #:0 A:1:C:$$COPYFR.TMP "
|
||||
HBTEST __CopyFile( "$$COPYFR.TMP", "$$COPYTO.TMP" ) IS NIL
|
||||
HBTEST __CopyFile( "NOT_HERE.$$$", "$$COPYTO.TMP" ) IS "E 21 BASE 2012 Open error <NOT_HERE.$$$> OS:2 #:1 F:DR"
|
||||
HBTEST __CopyFile( "$$COPYFR.TMP", BADFNAME() ) IS "E 20 BASE 2012 Create error <" + BADFNAME() + "> OS:2 #:1 F:DR"
|
||||
HBTEST __CopyFile( "$$COPYFR.TMP", BADFNAME1() ) IS "E 20 BASE 2012 Create error <" + BADFNAME1() + "> OS:2 #:1 F:DR"
|
||||
|
||||
FErase( "$$COPYFR.TMP" )
|
||||
FErase( "$$COPYTO.TMP" )
|
||||
@@ -1208,14 +1208,14 @@ STATIC FUNCTION TESTFNAME( cFull )
|
||||
|
||||
RETURN ;
|
||||
hb_FNameMerge( cPath, cName, cExt ) + ";" + ;
|
||||
cPath + ";" +;
|
||||
cName + ";" +;
|
||||
cExt + ";" +;
|
||||
cPath + ";" + ;
|
||||
cName + ";" + ;
|
||||
cExt + ";" + ;
|
||||
""
|
||||
|
||||
#endif
|
||||
|
||||
STATIC FUNCTION BADFNAME()
|
||||
STATIC FUNCTION BADFNAME1()
|
||||
/* NOTE: The dot in the "*INVALID*." filename is intentional and serves
|
||||
to hide different path handling, since Harbour is platform
|
||||
independent. */
|
||||
|
||||
@@ -63,7 +63,7 @@ PROCEDURE Main_MT()
|
||||
RETURN
|
||||
|
||||
#ifdef __HARBOUR__
|
||||
FUNCTION DO_MTTES1()
|
||||
STATIC FUNCTION DO_MTTES1()
|
||||
|
||||
LOCAL aThreads, aResults, i, nDigit, nSum, nExpected
|
||||
LOCAL mtxJobs, mtxResults
|
||||
@@ -101,11 +101,11 @@ FUNCTION DO_MTTES1()
|
||||
RETURN "ERROR, final sum: " + hb_ntos( nSum ) + ;
|
||||
" expected: " + hb_ntos( nExpected )
|
||||
|
||||
PROCEDURE thFunc( mtxJobs, mtxResults )
|
||||
STATIC PROCEDURE thFunc( mtxJobs, mtxResults )
|
||||
|
||||
LOCAL xJob, xResult
|
||||
|
||||
WHILE .T.
|
||||
DO WHILE .T.
|
||||
hb_mutexSubscribe( mtxJobs,, @xJob )
|
||||
IF xJob == NIL
|
||||
EXIT
|
||||
|
||||
@@ -71,7 +71,7 @@ PROCEDURE Main_STR()
|
||||
#ifndef RT_NO_C
|
||||
|
||||
#ifdef __PLATFORM__WINDOWS
|
||||
IF .F. /* [U]LONG is 32 bit integer in Win64 */
|
||||
IF .F. /* [U]LONG is 32-bit integer in Windows 64-bit */
|
||||
#else
|
||||
IF l64
|
||||
#endif
|
||||
@@ -442,7 +442,7 @@ PROCEDURE Main_STR()
|
||||
/* TODO: StrTran() */
|
||||
|
||||
/* NOTE: It seems like CA-Cl*pper 5.x is not aware of the BREAK return value of
|
||||
the error handler, so the error is thrown, but we can't catch it.
|
||||
the error handler, so the error is thrown, but we cannot catch it.
|
||||
This bug is fixed in CA-Cl*pper 5.3 [vszakats] */
|
||||
#ifndef __CLIPPER__
|
||||
#ifndef __XPP__
|
||||
@@ -503,13 +503,13 @@ PROCEDURE Main_STR()
|
||||
#ifdef __HARBOUR__
|
||||
#pragma -kh-
|
||||
#endif
|
||||
HBTEST At( "", "" ) IS 1 /* Bug in CA-Cl*ppers compiler optimizer, it should return 0 */
|
||||
HBTEST At( "", "ABCDEF" ) IS 1 /* Bug in CA-Cl*ppers compiler optimizer, it should return 0 */
|
||||
HBTEST At( "", "" ) IS 1 /* Bug in CA-Cl*pper compiler optimizer, it should return 0 */
|
||||
HBTEST At( "", "ABCDEF" ) IS 1 /* Bug in CA-Cl*pper compiler optimizer, it should return 0 */
|
||||
#ifdef __HARBOUR__
|
||||
/* enable Harbour extensions and test correct results results */
|
||||
#pragma -kh+
|
||||
HBTEST At( "", "" ) IS 0 /* Bug in CA-Cl*ppers compiler optimizer, it should return 0 */
|
||||
HBTEST At( "", "ABCDEF" ) IS 0 /* Bug in CA-Cl*ppers compiler optimizer, it should return 0 */
|
||||
HBTEST At( "", "" ) IS 0 /* Bug in CA-Cl*pper compiler optimizer, it should return 0 */
|
||||
HBTEST At( "", "ABCDEF" ) IS 0 /* Bug in CA-Cl*pper compiler optimizer, it should return 0 */
|
||||
#endif
|
||||
HBTEST At( scStringE, scStringE ) IS 0
|
||||
HBTEST At( scStringE, "ABCDEF" ) IS 0
|
||||
|
||||
@@ -512,7 +512,7 @@ PROCEDURE Main_TRANS()
|
||||
HBTEST Transform( .T., "@RZ ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.," ) IS " "
|
||||
HBTEST Transform( .F., "@RZ ABCDEFGHIJKLMNOPQRSTUVWXYZ9#!$ *.," ) IS " "
|
||||
|
||||
SET DATE FORMAT TO "MM/DD/YY"
|
||||
Set( _SET_DATEFORMAT, "MM/DD/YY" )
|
||||
|
||||
HBTEST Transform( "abcd", "@9!*" ) IS "ABCD"
|
||||
HBTEST Transform( "abcd", "@_9!*" ) IS "ABCD"
|
||||
@@ -540,30 +540,30 @@ PROCEDURE Main_TRANS()
|
||||
HBTEST Transform( 0, "@C 9.99" ) IS "0.00"
|
||||
|
||||
dt := hb_SToD( "19871231" )
|
||||
SET DATE FORMAT TO "MM:DD:YYYY"
|
||||
Set( _SET_DATEFORMAT, "MM:DD:YYYY" )
|
||||
HBTEST Transform( dt, "@E" ) IS "31:12:1987"
|
||||
SET DATE FORMAT TO "MM:DD:YY"
|
||||
Set( _SET_DATEFORMAT, "MM:DD:YY" )
|
||||
HBTEST Transform( dt, "@E" ) IS "31:12:87"
|
||||
SET DATE FORMAT TO "MM<DD>YY"
|
||||
Set( _SET_DATEFORMAT, "MM<DD>YY" )
|
||||
HBTEST Transform( dt, "@E" ) IS "31<12>87"
|
||||
#ifdef __HARBOUR__
|
||||
/* this are wrongly converted by CA-Cl*pper */
|
||||
SET DATE FORMAT TO "DD:MM:YYYY"
|
||||
Set( _SET_DATEFORMAT, "DD:MM:YYYY" )
|
||||
HBTEST Transform( dt, "@E" ) IS "31:12:1987"
|
||||
SET DATE FORMAT TO "YYYY:MM:DD"
|
||||
Set( _SET_DATEFORMAT, "YYYY:MM:DD" )
|
||||
HBTEST Transform( dt, "@E" ) IS "31:12:1987"
|
||||
SET DATE FORMAT TO "YYYY:DD:MM"
|
||||
Set( _SET_DATEFORMAT, "YYYY:DD:MM" )
|
||||
HBTEST Transform( dt, "@E" ) IS "31:12:1987"
|
||||
SET DATE FORMAT TO "YY:MM:DD"
|
||||
Set( _SET_DATEFORMAT, "YY:MM:DD" )
|
||||
HBTEST Transform( dt, "@E" ) IS "31:12:87"
|
||||
SET DATE FORMAT TO "DD:MM:YY"
|
||||
Set( _SET_DATEFORMAT, "DD:MM:YY" )
|
||||
HBTEST Transform( dt, "@E" ) IS "31:12:87"
|
||||
SET DATE FORMAT TO "<YY:DD.MM>"
|
||||
Set( _SET_DATEFORMAT, "<YY:DD.MM>" )
|
||||
HBTEST Transform( dt, "@E" ) IS "<31:12.87>"
|
||||
SET DATE FORMAT TO "|YY|MM|DD|"
|
||||
Set( _SET_DATEFORMAT, "|YY|MM|DD|" )
|
||||
HBTEST Transform( dt, "@E" ) IS "|31|12|87|"
|
||||
#endif
|
||||
SET DATE FORMAT TO "MM.DD.YYYY"
|
||||
Set( _SET_DATEFORMAT, "MM.DD.YYYY" )
|
||||
HBTEST Transform( dt, "@E" ) IS "31.12.1987"
|
||||
|
||||
HBTEST Transform( -5, "@(Z $###,##9.99" ) IS "( 5.00)"
|
||||
@@ -697,7 +697,7 @@ PROCEDURE Main_TRANS()
|
||||
HBTEST Transform( "abcdefghij", "@S0! <XXXXXXXX>" ) IS "<BCDEFGHI>"
|
||||
HBTEST Transform( "abcdefghij", "@S5! <XXXXXXXX>" ) IS "<BCDE"
|
||||
|
||||
SET FIXED ON
|
||||
Set( _SET_FIXED, .T. )
|
||||
|
||||
HBTEST Transform( 1234, ) IS " 1234"
|
||||
HBTEST Transform( 1234, "" ) IS " 1234"
|
||||
@@ -728,20 +728,20 @@ PROCEDURE Main_TRANS()
|
||||
HBTEST Transform( Val( "12" ), ) IS " 12"
|
||||
HBTEST Transform( Val( "123" ), ) IS " 123"
|
||||
HBTEST Transform( Val( "1234" ), ) IS " 1234"
|
||||
SET DECIMAL TO 3
|
||||
Set( _SET_DECIMALS, 3 )
|
||||
HBTEST Transform( 0.0, ) IS " 0.000"
|
||||
HBTEST Transform( Val( "1" ), ) IS " 1"
|
||||
HBTEST Transform( Val( "12" ), ) IS " 12"
|
||||
HBTEST Transform( Val( "123" ), ) IS " 123"
|
||||
HBTEST Transform( Val( "1234" ), ) IS " 1234"
|
||||
SET DECIMAL TO 4
|
||||
Set( _SET_DECIMALS, 4 )
|
||||
HBTEST Transform( 0.0, ) IS " 0.0000"
|
||||
HBTEST Transform( Val( "1" ), ) IS " 1"
|
||||
HBTEST Transform( Val( "12" ), ) IS " 12"
|
||||
HBTEST Transform( Val( "123" ), ) IS " 123"
|
||||
HBTEST Transform( Val( "1234" ), ) IS " 1234"
|
||||
|
||||
SET FIXED OFF
|
||||
Set( _SET_FIXED, .F. )
|
||||
|
||||
HBTEST Transform( -1234, ) IS " -1234"
|
||||
HBTEST Transform( -1234, "@B" ) IS "-1234 "
|
||||
|
||||
Reference in New Issue
Block a user