diff --git a/harbour/ChangeLog.txt b/harbour/ChangeLog.txt index 549f779909..c3c8568030 100644 --- a/harbour/ChangeLog.txt +++ b/harbour/ChangeLog.txt @@ -10,6 +10,23 @@ * Change, ! Fix, % Optimization, + Addition, - Removal, ; Comment */ +2012-11-30 03:52 UTC+0100 Viktor Szakats (harbour syenar.net) + * src/rtl/hbtest.prg + ! made another accidentally public function STATIC + % merged XToStr() and XToStrE() + % XToStr() modified to use hb_CStr() where it can + + * utils/hbtest/hbtest.prg + * utils/hbtest/rt_hvma.prg + * utils/hbtest/rt_math.prg + * utils/hbtest/rt_misc.prg + * utils/hbtest/rt_trans.prg + % synced in-string date format with src/rtl/hbtest.prg + + * contrib/hbmisc/tests/tsstrfmt.prg + ! fixed to not rely on current date + ! fixed to set date format + 2012-11-29 15:29 UTC+0100 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg * utils/hbmk2/*.po diff --git a/harbour/contrib/hbmisc/tests/tsstrfmt.prg b/harbour/contrib/hbmisc/tests/tsstrfmt.prg index bfec8cd308..18016a6db8 100644 --- a/harbour/contrib/hbmisc/tests/tsstrfmt.prg +++ b/harbour/contrib/hbmisc/tests/tsstrfmt.prg @@ -8,9 +8,12 @@ PROCEDURE Main() + SET DATE ANSI + SET CENTURY ON + HBTEST StrFormat( "%1 thing %2", "a", "b" ) IS "a thing b" - HBTEST StrFormat( "%1 thing %2", "a", Date() ) IS "a thing 2012.11.27" - HBTEST StrFormat( "%1 thing %2", .T., Date() ) IS ".T. thing 2012.11.27" + HBTEST StrFormat( "%1 thing %2", "a", 0d20121127 ) IS "a thing 2012.11.27" + HBTEST StrFormat( "%1 thing %2", .T., 0d20121127 ) IS ".T. thing 2012.11.27" HBTEST StrFormat( "%1 thing %2", .T., NIL ) IS ".T. thing NIL" HBTEST StrFormat( "%1 thing %2", "space1 ", 100.20 ) IS "space1 thing 100.20" HBTEST StrFormat( "%1 thing %2", " space2 ", 213 ) IS "space2 thing 213" diff --git a/harbour/src/rtl/hbtest.prg b/harbour/src/rtl/hbtest.prg index 78fc726570..20df974c5f 100644 --- a/harbour/src/rtl/hbtest.prg +++ b/harbour/src/rtl/hbtest.prg @@ -96,7 +96,7 @@ PROCEDURE __hbtest_Call( cBlock, bBlock, xResultExpected ) IF !( ValType( xResult ) == ValType( xResultExpected ) ) IF HB_ISSTRING( xResultExpected ) .AND. ValType( xResult ) $ "ABOHPS" - lFailed := !( XToStr( xResult ) == xResultExpected ) + lFailed := !( XToStr( xResult, .F. ) == xResultExpected ) ELSE lFailed := .T. ENDIF @@ -111,16 +111,16 @@ PROCEDURE __hbtest_Call( cBlock, bBlock, xResultExpected ) PadR( ProcName( 1 ) + "(" + hb_ntos( ProcLine( 1 ) ) + ")", TEST_RESULT_COL2_WIDTH ) + " " +; PadR( cBlock, TEST_RESULT_COL3_WIDTH ) +; hb_eol() +; - Space( 5 ) + " Result: " + XToStr( xResult ) +; + Space( 5 ) + " Result: " + XToStr( xResult, .F. ) +; hb_eol() +; - Space( 5 ) + "Expected: " + XToStr( xResultExpected ) +; + Space( 5 ) + "Expected: " + XToStr( xResultExpected, .F. ) +; hb_eol() ) ELSE Eval( bOut, PadR( iif( lFailed, "!", " " ), TEST_RESULT_COL1_WIDTH ) + " " +; PadR( ProcName( 1 ) + "(" + hb_ntos( ProcLine( 1 ) ) + ")", TEST_RESULT_COL2_WIDTH ) + " " +; PadR( cBlock, TEST_RESULT_COL3_WIDTH ) + " -> " +; - PadR( XToStr( xResult ), TEST_RESULT_COL4_WIDTH ) + " | " +; - PadR( XToStr( xResultExpected ), TEST_RESULT_COL5_WIDTH ) +; + PadR( XToStr( xResult, .F. ), TEST_RESULT_COL4_WIDTH ) + " | " +; + PadR( XToStr( xResultExpected, .F. ), TEST_RESULT_COL5_WIDTH ) +; hb_eol() ) ENDIF ENDIF @@ -167,7 +167,7 @@ STATIC FUNCTION ErrorMessage( oError ) IF HB_ISARRAY( oError:Args ) cMessage += "A:" + hb_ntos( Len( oError:Args ) ) + ":" FOR tmp := 1 TO Len( oError:Args ) - cMessage += ValType( oError:Args[ tmp ] ) + ":" + XToStrE( oError:Args[ tmp ] ) + cMessage += ValType( oError:Args[ tmp ] ) + ":" + XToStr( oError:Args[ tmp ], .T. ) IF tmp < Len( oError:Args ) cMessage += ";" ENDIF @@ -193,7 +193,7 @@ STATIC FUNCTION ErrorMessage( oError ) RETURN cMessage -FUNCTION XToStr( xValue ) +STATIC FUNCTION XToStr( xValue, lInString ) SWITCH ValType( xValue ) CASE "C" @@ -204,49 +204,12 @@ FUNCTION XToStr( xValue ) xValue := StrTran( xValue, Chr( 13 ), '" + Chr( 13 ) + "' ) xValue := StrTran( xValue, Chr( 26 ), '" + Chr( 26 ) + "' ) - RETURN '"' + xValue + '"' + RETURN iif( lInString, xValue, '"' + xValue + '"' ) CASE "N" ; RETURN hb_ntos( xValue ) - CASE "D" ; RETURN "0d" + iif( Empty( xValue ), "0", DToS( xValue ) ) - CASE "T" ; RETURN "t" + '"' + hb_TSToStr( xValue, .T. ) + '"' - CASE "L" ; RETURN iif( xValue, ".T.", ".F." ) - CASE "O" ; RETURN "{ " + xValue:className() + " Object }" + CASE "D" ; RETURN iif( lInString, "0d" + iif( Empty( xValue ), "00000000", DToS( xValue ) ), 'hb_SToD("' + DToS( xValue ) + '")' ) CASE "U" ; RETURN "NIL" - CASE "B" ; RETURN "{|| ... }" - CASE "A" ; RETURN "{ Array of " + hb_ntos( Len( xValue ) ) + " Items }" - CASE "H" ; RETURN "{ Hash of " + hb_ntos( Len( xValue ) ) + " Items }" - CASE "M" ; RETURN "M:" + '"' + xValue + '"' - CASE "S" ; RETURN "@" + xValue:name + "()" - CASE "P" ; RETURN "" + CASE "M" ; RETURN "M:" + iif( lInString, xValue, '"' + xValue + '"' ) ENDSWITCH - RETURN iif( xValue == NIL, "NIL", "" ) - -STATIC FUNCTION XToStrE( xValue ) - - SWITCH ValType( xValue ) - CASE "C" - - xValue := StrTran( xValue, Chr( 0 ), '" + Chr( 0 ) + "' ) - xValue := StrTran( xValue, Chr( 9 ), '" + Chr( 9 ) + "' ) - xValue := StrTran( xValue, Chr( 10 ), '" + Chr( 10 ) + "' ) - xValue := StrTran( xValue, Chr( 13 ), '" + Chr( 13 ) + "' ) - xValue := StrTran( xValue, Chr( 26 ), '" + Chr( 26 ) + "' ) - - RETURN xValue - - CASE "N" ; RETURN hb_ntos( xValue ) - CASE "D" ; RETURN DToS( xValue ) - CASE "T" ; RETURN "t" + '"' + hb_TSToStr( xValue, .T. ) + '"' - CASE "L" ; RETURN iif( xValue, ".T.", ".F." ) - CASE "O" ; RETURN "{ " + xValue:className() + " Object }" - CASE "U" ; RETURN "NIL" - CASE "B" ; RETURN "{|| ... }" - CASE "A" ; RETURN "{ Array of " + hb_ntos( Len( xValue ) ) + " Items }" - CASE "H" ; RETURN "{ Hash of " + hb_ntos( Len( xValue ) ) + " Items }" - CASE "M" ; RETURN "M:" + xValue - CASE "S" ; RETURN "@" + xValue:name + "()" - CASE "P" ; RETURN "" - ENDSWITCH - - RETURN iif( xValue == NIL, "NIL", "" ) + RETURN hb_CStr( xValue ) diff --git a/harbour/utils/hbtest/hbtest.prg b/harbour/utils/hbtest/hbtest.prg index 72b8153b94..a4fd90cbef 100644 --- a/harbour/utils/hbtest/hbtest.prg +++ b/harbour/utils/hbtest/hbtest.prg @@ -488,7 +488,7 @@ FUNCTION XToStrE( xValue ) RETURN xValue CASE cType == "N" ; RETURN LTrim( Str( xValue ) ) - CASE cType == "D" ; RETURN DToS( xValue ) + CASE cType == "D" ; RETURN "0d" + iif( Empty( xValue ), "00000000", DToS( xValue ) ) CASE cType == "L" ; RETURN iif( xValue, ".T.", ".F." ) CASE cType == "O" ; RETURN xValue:className() + " Object" CASE cType == "U" ; RETURN "NIL" diff --git a/harbour/utils/hbtest/rt_hvma.prg b/harbour/utils/hbtest/rt_hvma.prg index 79cb283037..f0d9dcf23e 100644 --- a/harbour/utils/hbtest/rt_hvma.prg +++ b/harbour/utils/hbtest/rt_hvma.prg @@ -310,14 +310,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: 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. 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: 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. 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" @@ -391,7 +391,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: ;C:NOFIELD F:S" + HBTEST (hb_SToD(""))->NOFIELD IS "E 1 BASE 1065 Argument error (&) OS:0 #:0 A:2:D:0d00000000;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__ diff --git a/harbour/utils/hbtest/rt_math.prg b/harbour/utils/hbtest/rt_math.prg index bc8e857e94..87d023891e 100644 --- a/harbour/utils/hbtest/rt_math.prg +++ b/harbour/utils/hbtest/rt_math.prg @@ -272,7 +272,7 @@ PROCEDURE Main_MATH() HBTEST Max(NIL, NIL) IS "E 1 BASE 1093 Argument error (MAX) OS:0 #:0 A:2:U:NIL;U:NIL F:S" HBTEST Max(10, NIL) IS "E 1 BASE 1093 Argument error (MAX) OS:0 #:0 A:2:N:10;U:NIL F:S" - HBTEST Max(hb_SToD("19800101"), 10) IS "E 1 BASE 1093 Argument error (MAX) OS:0 #:0 A:2:D:19800101;N:10 F:S" + HBTEST Max(hb_SToD("19800101"), 10) IS "E 1 BASE 1093 Argument error (MAX) OS:0 #:0 A:2:D:0d19800101;N:10 F:S" HBTEST Max(hb_SToD("19800101"), hb_SToD("19800101")) IS hb_SToD("19800101") HBTEST Max(hb_SToD("19800102"), hb_SToD("19800101")) IS hb_SToD("19800102") HBTEST Max(hb_SToD("19800101"), hb_SToD("19800102")) IS hb_SToD("19800102") @@ -282,7 +282,7 @@ PROCEDURE Main_MATH() #endif HBTEST Min(NIL, NIL) IS "E 1 BASE 1092 Argument error (MIN) OS:0 #:0 A:2:U:NIL;U:NIL F:S" HBTEST Min(10, NIL) IS "E 1 BASE 1092 Argument error (MIN) OS:0 #:0 A:2:N:10;U:NIL F:S" - HBTEST Min(hb_SToD("19800101"), 10) IS "E 1 BASE 1092 Argument error (MIN) OS:0 #:0 A:2:D:19800101;N:10 F:S" + HBTEST Min(hb_SToD("19800101"), 10) IS "E 1 BASE 1092 Argument error (MIN) OS:0 #:0 A:2:D:0d19800101;N:10 F:S" HBTEST Min(hb_SToD("19800101"), hb_SToD("19800101")) IS hb_SToD("19800101") HBTEST Min(hb_SToD("19800102"), hb_SToD("19800101")) IS hb_SToD("19800101") HBTEST Min(hb_SToD("19800101"), hb_SToD("19800102")) IS hb_SToD("19800101") diff --git a/harbour/utils/hbtest/rt_misc.prg b/harbour/utils/hbtest/rt_misc.prg index 8e50a512e4..4c5a6ba797 100644 --- a/harbour/utils/hbtest/rt_misc.prg +++ b/harbour/utils/hbtest/rt_misc.prg @@ -542,7 +542,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: F:S" + HBTEST sdDateE:Eval() IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:D:0d00000000 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" @@ -550,7 +550,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: F:S" + HBTEST sdDateE:Eval IS "E 13 BASE 1004 No exported method (EVAL) OS:0 #:0 A:1:D:0d00000000 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" diff --git a/harbour/utils/hbtest/rt_trans.prg b/harbour/utils/hbtest/rt_trans.prg index 3f60709361..89d0b792fb 100644 --- a/harbour/utils/hbtest/rt_trans.prg +++ b/harbour/utils/hbtest/rt_trans.prg @@ -117,7 +117,7 @@ PROCEDURE Main_TRANS() #ifndef __XPP__ HBTEST Transform( sdDate, NIL ) IS "1984.03.25" #endif - HBTEST Transform( sdDate, 100 ) IS "E 1 BASE 1122 Argument error (TRANSFORM) OS:0 #:0 A:2:D:19840325;N:100 F:S" + HBTEST Transform( sdDate, 100 ) IS "E 1 BASE 1122 Argument error (TRANSFORM) OS:0 #:0 A:2:D:0d19840325;N:100 F:S" HBTEST Transform( .T., "" ) IS "T" HBTEST Transform( .T., "@" ) IS "T" #ifndef __XPP__