Changeset: 56 Changeset: 56 En desarrollo FRX

This commit is contained in:
fernando
2013-12-07 20:00:19 +01:00
parent d25be79af9
commit 896bac3c1a
2 changed files with 316 additions and 172 deletions

View File

@@ -54,7 +54,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
*******************************************************************************************************************************************
FUNCTION Evaluate_results
LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado, tc_OutputFile, tcParent, tcClass, tcObjName, toReg_Esperado
LPARAMETERS toEx AS EXCEPTION, tnCodError_Esperado, tc_OutputFile, tcParent, tcClass, tcObjName, toReg_Esperado ;
, toReg, tcTipoBinario
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
@@ -66,184 +67,149 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
ENDIF
LOCAL lnCodError, lcTipoBinario, toReg ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG"
*-- TEST
IF ISNULL(toEx) && Respetar errores previos
TRY
lcTipoBinario = UPPER( JUSTEXT( tc_OutputFile ) )
IF FILE(tc_OutputFile)
SELECT 0
USE (tc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
ELSE
ERROR 'No se encontr<74> el archivo "' + tc_OutputFile + '"'
ENDIF
IF EMPTY(tcParent) AND EMPTY(tcClass) AND EMPTY(tcObjName)
DO CASE
CASE lcTipoBinario = 'SCX'
LOCATE FOR PLATFORM=="COMMENT " AND UniqueID=="Screen "
CASE lcTipoBinario = 'VCX'
LOCATE FOR PLATFORM=="COMMENT " AND UniqueID=="Class "
ENDCASE
IF NOT FOUND()
ERROR 'No se encontr<74> el registro de cabecera "' + UniqueID + '"'
ENDIF
ELSE
LOCATE FOR CLASS==tcClass AND PARENT==tcParent AND objName==tcObjName
IF NOT FOUND()
ERROR 'No se encontr<74> el registro para CLASS=="' + tcClass + '" AND PARENT=="' + tcParent + '" AND objName=="' + tcObjName + '"'
ENDIF
ENDIF
SCATTER MEMO NAME toReg
CATCH TO toEx
FINALLY
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDIF
IF ISNULL(toEx)
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
, lnPropsAndComments_Count, lnPropsAndComments_Count_Esperado, laPropsAndComments(1,2), laPropsAndComments_Esperado(1,2) ;
, laProtected(1), lnProtected_Count, laProtected_Esperado(1), lnProtected_Count_Esperado ;
, laMethods(1,2), lnMethods_Count, laMethods_Esperado(1,2), lnMethods_Count_Esperado, lcExtraData
LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
*-- Algunos ajustes para mejor visualizaci<63>n de caracteres especiales
*tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue )
loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
*-- Reserved3
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg.RESERVED3, .F., @laPropsAndComments, @lnPropsAndComments_Count, '' )
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg_Esperado.RESERVED3, .F., @laPropsAndComments_Esperado, @lnPropsAndComments_Count_Esperado, '' )
*-- Properties
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg.PROPERTIES, 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg_Esperado.PROPERTIES, 0, @laPropsAndValues_Esperado, @lnPropsAndValues_Count_Esperado, '' )
*-- Protected
loObj.get_PropsFrom_PROTECTED( toReg.PROTECTED, .F., @laProtected, @lnProtected_Count, '' )
loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' )
*-- Methods
loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count )
loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado )
lcExtraData = tcParent + '.' + tcObjName + ' (' + tcClass + ')'
DO CASE
CASE INLIST(tcTipoBinario, 'FRX')
*-- Visualizaci<63>n de valores
THIS.messageout( LOWER(PROGRAM(PROGRAM(-1)-1)) )
CASE INLIST(tcTipoBinario, 'VCX', 'SCX')
LOCAL laPropsAndValues(1,2), lnPropsAndValues_Count, laPropsAndValues_Esperado(1,2), lnPropsAndValues_Count_Esperado ;
, lnPropsAndComments_Count, lnPropsAndComments_Count_Esperado, laPropsAndComments(1,2), laPropsAndComments_Esperado(1,2) ;
, laProtected(1), lnProtected_Count, laProtected_Esperado(1), lnProtected_Count_Esperado ;
, laMethods(1,2), lnMethods_Count, laMethods_Esperado(1,2), lnMethods_Count_Esperado, lcExtraData
LOCAL loObj AS c_conversor_bin_a_prg OF "FOXBIN2PRG.PRG"
THIS.messageout( 'PROPERTIES esperadas para ' + lcExtraData + ': ' ;
+ TRANSFORM(lnPropsAndValues_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROPERTIES)) + ' bytes)' )
*THIS.messageout( REPLICATE('-',80) )
*FOR I = 1 TO lnPropsAndValues_Count_Esperado
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndValues_Esperado(I,1)) )
*ENDFOR
*-- Algunos ajustes para mejor visualizaci<63>n de caracteres especiales
*tcPropValue = oFXU_LIB.mejorarPresentacionCaracteresEspeciales( tcPropValue )
loObj = NEWOBJECT("c_conversor_bin_a_prg", "FOXBIN2PRG.PRG")
THIS.messageout( 'PROTECTED esperadas para ' + lcExtraData + ': ' ;
+ TRANSFORM(lnProtected_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROTECTED)) + ' bytes)' )
*THIS.messageout( REPLICATE('-',80) )
*FOR I = 1 TO lnProtected_Count_Esperado
* THIS.messageout( 'PropName = ' + TRANSFORM(laProtected_Esperado(I,1)) )
*ENDFOR
*-- Reserved3
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg.RESERVED3, .F., @laPropsAndComments, @lnPropsAndComments_Count, '' )
loObj.get_PropsAndCommentsFrom_RESERVED3( toReg_Esperado.RESERVED3, .F., @laPropsAndComments_Esperado, @lnPropsAndComments_Count_Esperado, '' )
THIS.messageout( 'RESERVED3 esperadas para ' + lcExtraData + ': ' ;
+ TRANSFORM(lnPropsAndComments_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.RESERVED3)) + ' bytes)' )
*THIS.messageout( REPLICATE('-',80) )
*FOR I = 1 TO lnPropsAndComments_Count_Esperado
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndComments_Esperado(I,1)) )
*ENDFOR
*-- Properties
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg.PROPERTIES, 0, @laPropsAndValues, @lnPropsAndValues_Count, '' )
loObj.get_PropsAndValuesFrom_PROPERTIES( toReg_Esperado.PROPERTIES, 0, @laPropsAndValues_Esperado, @lnPropsAndValues_Count_Esperado, '' )
THIS.messageout( 'METHODS esperadas para ' + lcExtraData + ': ' ;
+ TRANSFORM(lnMethods_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.METHODS)) + ' bytes)' )
*THIS.messageout( REPLICATE('-',80) )
*FOR I = 1 TO lnMethods_Count_Esperado
* THIS.messageout( 'Name = ' + TRANSFORM(laMethods_Esperado(I,1)) )
*ENDFOR
*-- Protected
loObj.get_PropsFrom_PROTECTED( toReg.PROTECTED, .F., @laProtected, @lnProtected_Count, '' )
loObj.get_PropsFrom_PROTECTED( toReg_Esperado.PROTECTED, .F., @laProtected_Esperado, @lnProtected_Count_Esperado, '' )
THIS.messageout( 'OLE2 esperado para ' + lcExtraData + ': ' + TRANSFORM(toReg_Esperado.OLE2) )
*-- Methods
loObj.get_ADD_OBJECT_METHODS( toReg, toReg, '', @laMethods, '', @lnMethods_Count )
loObj.get_ADD_OBJECT_METHODS( toReg_Esperado, toReg_Esperado, '', @laMethods_Esperado, '', @lnMethods_Count_Esperado )
THIS.messageout( 'Checksum OLE esperado para ' + lcExtraData + ': ' + TRANSFORM(SYS(2007, toReg_Esperado.OLE)) )
lcExtraData = tcParent + '.' + tcObjName + ' (' + tcClass + ')'
*-- Evaluaci<EFBFBD>n de valores
THIS.assertequals( toReg_Esperado.Reserved1, toReg.Reserved1, "Valor de RESERVED1 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved1), LEN(toReg.Reserved1), "Tama<6D>o de RESERVED1 para " + lcExtraData )
*-- Visualizaci<EFBFBD>n de valores
THIS.messageout( LOWER(PROGRAM(PROGRAM(-1)-1)) )
THIS.assertequals( toReg_Esperado.Reserved2, toReg.Reserved2, "Valor de RESERVED2 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved2), LEN(toReg.Reserved2), "Tama<6D>o de RESERVED2 para " + lcExtraData )
THIS.messageout( 'PROPERTIES esperadas para ' + lcExtraData + ': ' ;
+ TRANSFORM(lnPropsAndValues_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROPERTIES)) + ' bytes)' )
*THIS.messageout( REPLICATE('-',80) )
*FOR I = 1 TO lnPropsAndValues_Count_Esperado
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndValues_Esperado(I,1)) )
*ENDFOR
THIS.assertequals( toReg_Esperado.Reserved4, toReg.Reserved4, "Valor de RESERVED4 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved4), LEN(toReg.Reserved4), "Tama<6D>o de RESERVED4 para " + lcExtraData )
THIS.messageout( 'PROTECTED esperadas para ' + lcExtraData + ': ' ;
+ TRANSFORM(lnProtected_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.PROTECTED)) + ' bytes)' )
*THIS.messageout( REPLICATE('-',80) )
*FOR I = 1 TO lnProtected_Count_Esperado
* THIS.messageout( 'PropName = ' + TRANSFORM(laProtected_Esperado(I,1)) )
*ENDFOR
THIS.assertequals( toReg_Esperado.Reserved5, toReg.Reserved5, "Valor de RESERVED5 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved5), LEN(toReg.Reserved5), "Tama<6D>o de RESERVED5 para " + lcExtraData )
THIS.messageout( 'RESERVED3 esperadas para ' + lcExtraData + ': ' ;
+ TRANSFORM(lnPropsAndComments_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.RESERVED3)) + ' bytes)' )
*THIS.messageout( REPLICATE('-',80) )
*FOR I = 1 TO lnPropsAndComments_Count_Esperado
* THIS.messageout( 'PropName = ' + TRANSFORM(laPropsAndComments_Esperado(I,1)) )
*ENDFOR
THIS.assertequals( toReg_Esperado.Reserved6, toReg.Reserved6, "Valor de RESERVED6 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved6), LEN(toReg.Reserved6), "Tama<6D>o de RESERVED6 para " + lcExtraData )
THIS.messageout( 'METHODS esperadas para ' + lcExtraData + ': ' ;
+ TRANSFORM(lnMethods_Count_Esperado) + ' (Tama<6D>o = ' + TRANSFORM(LEN(toReg_Esperado.METHODS)) + ' bytes)' )
*THIS.messageout( REPLICATE('-',80) )
*FOR I = 1 TO lnMethods_Count_Esperado
* THIS.messageout( 'Name = ' + TRANSFORM(laMethods_Esperado(I,1)) )
*ENDFOR
THIS.assertequals( toReg_Esperado.Reserved7, toReg.Reserved7, "Valor de RESERVED7 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved7), LEN(toReg.Reserved7), "Tama<6D>o de RESERVED7 para " + lcExtraData )
THIS.messageout( 'OLE2 esperado para ' + lcExtraData + ': ' + TRANSFORM(toReg_Esperado.OLE2) )
THIS.assertequals( toReg_Esperado.Reserved8, toReg.Reserved8, "Valor de RESERVED8 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved8), LEN(toReg.Reserved8), "Tama<6D>o de RESERVED8 para " + lcExtraData )
THIS.messageout( 'Checksum OLE esperado para ' + lcExtraData + ': ' + TRANSFORM(SYS(2007, toReg_Esperado.OLE)) )
THIS.assertequals( toReg_Esperado.OLE2, toReg.OLE2, "Valor de OLE2 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.OLE2), LEN(toReg.OLE2), "Tama<6D>o de OLE2 para " + lcExtraData )
THIS.assertequals( SYS(2007, toReg_Esperado.OLE), SYS(2007, toReg.OLE), "Valor de OLE (Checksum) para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.OLE), LEN(toReg.OLE), "Tama<6D>o de OLE para " + lcExtraData )
*-- Evaluaci<63>n de valores
THIS.assertequals( toReg_Esperado.Reserved1, toReg.Reserved1, "Valor de RESERVED1 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved1), LEN(toReg.Reserved1), "Tama<6D>o de RESERVED1 para " + lcExtraData )
*-- PROPERTIES
THIS.assertequals( LEN(toReg_Esperado.PROPERTIES), LEN(toReg.PROPERTIES), "Tama<6D>o de PROPERTIES para " + lcExtraData )
THIS.assertequals( lnPropsAndValues_Count_Esperado, lnPropsAndValues_Count, "Cantidad de PROPERTIES para " + lcExtraData )
FOR I = 1 TO lnPropsAndValues_Count_Esperado
THIS.asserttrue( ASCAN( laPropsAndValues, laPropsAndValues_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
, ' Comprobaci<63>n de que existe la Property "' + TRANSFORM(laPropsAndValues_Esperado(I,1)) + '"' + " para " + lcExtraData )
ENDFOR
THIS.assertequals( toReg_Esperado.Reserved2, toReg.Reserved2, "Valor de RESERVED2 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved2), LEN(toReg.Reserved2), "Tama<6D>o de RESERVED2 para " + lcExtraData )
*-- RESERVED3
THIS.assertequals( LEN(toReg_Esperado.RESERVED3), LEN(toReg.RESERVED3), "Tama<6D>o de RESERVED3 para " + lcExtraData )
THIS.assertequals( lnPropsAndComments_Count_Esperado, lnPropsAndComments_Count, "Cantidad de RESERVED3 para " + lcExtraData )
FOR I = 1 TO lnPropsAndComments_Count_Esperado
THIS.asserttrue( ASCAN( laPropsAndComments, laPropsAndComments_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
, ' Comprobaci<63>n de que existe la Reserved3 "' + TRANSFORM(laPropsAndComments_Esperado(I,1)) + '"' + " para " + lcExtraData )
ENDFOR
THIS.assertequals( toReg_Esperado.Reserved4, toReg.Reserved4, "Valor de RESERVED4 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved4), LEN(toReg.Reserved4), "Tama<6D>o de RESERVED4 para " + lcExtraData )
*-- PROTECTED
THIS.assertequals( LEN(toReg_Esperado.PROTECTED), LEN(toReg.PROTECTED), "Tama<6D>o de PROTECTED para " + lcExtraData )
THIS.assertequals( lnProtected_Count_Esperado, lnProtected_Count, "Cantidad de PROTECTED para " + lcExtraData )
FOR I = 1 TO lnProtected_Count_Esperado
THIS.asserttrue( ASCAN( laProtected, laProtected_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
, ' Comprobaci<63>n de que existe la Protected "' + TRANSFORM(laProtected_Esperado(I,1)) + '"' + " para " + lcExtraData )
ENDFOR
THIS.assertequals( toReg_Esperado.Reserved5, toReg.Reserved5, "Valor de RESERVED5 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved5), LEN(toReg.Reserved5), "Tama<6D>o de RESERVED5 para " + lcExtraData )
*-- METHODS
lcMensaje = "Tama<6D>o de METHODS para " + lcExtraData
* COMPROBAR "BUG DEL M<>TODO MOVIDO"
IF LEN( STRTRAN( toReg_Esperado.METHODS, CHR(13)+CHR(10), CHR(13) ) ) <> LEN( STRTRAN( toReg.METHODS, CHR(13)+CHR(10), CHR(13) ) )
IF "BUG DEL M<>TODO MOVIDO" $ toReg.METHODS AND NOT "BUG DEL M<>TODO MOVIDO" $ toReg_Esperado.METHODS
lcMensaje = lcMensaje + ' >>> ATENCI<43>N!! - COMPROBAR "BUG DEL M<>TODO MOVIDO"'
THIS.assertequals( toReg_Esperado.Reserved6, toReg.Reserved6, "Valor de RESERVED6 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved6), LEN(toReg.Reserved6), "Tama<6D>o de RESERVED6 para " + lcExtraData )
THIS.assertequals( toReg_Esperado.Reserved7, toReg.Reserved7, "Valor de RESERVED7 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved7), LEN(toReg.Reserved7), "Tama<6D>o de RESERVED7 para " + lcExtraData )
THIS.assertequals( toReg_Esperado.Reserved8, toReg.Reserved8, "Valor de RESERVED8 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.Reserved8), LEN(toReg.Reserved8), "Tama<6D>o de RESERVED8 para " + lcExtraData )
THIS.assertequals( toReg_Esperado.OLE2, toReg.OLE2, "Valor de OLE2 para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.OLE2), LEN(toReg.OLE2), "Tama<6D>o de OLE2 para " + lcExtraData )
THIS.assertequals( SYS(2007, toReg_Esperado.OLE), SYS(2007, toReg.OLE), "Valor de OLE (Checksum) para " + lcExtraData )
THIS.assertequals( LEN(toReg_Esperado.OLE), LEN(toReg.OLE), "Tama<6D>o de OLE para " + lcExtraData )
*-- PROPERTIES
THIS.assertequals( LEN(toReg_Esperado.PROPERTIES), LEN(toReg.PROPERTIES), "Tama<6D>o de PROPERTIES para " + lcExtraData )
THIS.assertequals( lnPropsAndValues_Count_Esperado, lnPropsAndValues_Count, "Cantidad de PROPERTIES para " + lcExtraData )
FOR I = 1 TO lnPropsAndValues_Count_Esperado
THIS.asserttrue( ASCAN( laPropsAndValues, laPropsAndValues_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
, ' Comprobaci<63>n de que existe la Property "' + TRANSFORM(laPropsAndValues_Esperado(I,1)) + '"' + " para " + lcExtraData )
ENDFOR
*-- RESERVED3
THIS.assertequals( LEN(toReg_Esperado.RESERVED3), LEN(toReg.RESERVED3), "Tama<6D>o de RESERVED3 para " + lcExtraData )
THIS.assertequals( lnPropsAndComments_Count_Esperado, lnPropsAndComments_Count, "Cantidad de RESERVED3 para " + lcExtraData )
FOR I = 1 TO lnPropsAndComments_Count_Esperado
THIS.asserttrue( ASCAN( laPropsAndComments, laPropsAndComments_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
, ' Comprobaci<63>n de que existe la Reserved3 "' + TRANSFORM(laPropsAndComments_Esperado(I,1)) + '"' + " para " + lcExtraData )
ENDFOR
*-- PROTECTED
THIS.assertequals( LEN(toReg_Esperado.PROTECTED), LEN(toReg.PROTECTED), "Tama<6D>o de PROTECTED para " + lcExtraData )
THIS.assertequals( lnProtected_Count_Esperado, lnProtected_Count, "Cantidad de PROTECTED para " + lcExtraData )
FOR I = 1 TO lnProtected_Count_Esperado
THIS.asserttrue( ASCAN( laProtected, laProtected_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
, ' Comprobaci<63>n de que existe la Protected "' + TRANSFORM(laProtected_Esperado(I,1)) + '"' + " para " + lcExtraData )
ENDFOR
*-- METHODS
lcMensaje = "Tama<6D>o de METHODS para " + lcExtraData
* COMPROBAR "BUG DEL M<>TODO MOVIDO"
IF LEN( STRTRAN( toReg_Esperado.METHODS, CHR(13)+CHR(10), CHR(13) ) ) <> LEN( STRTRAN( toReg.METHODS, CHR(13)+CHR(10), CHR(13) ) )
IF "BUG DEL M<>TODO MOVIDO" $ toReg.METHODS AND NOT "BUG DEL M<>TODO MOVIDO" $ toReg_Esperado.METHODS
lcMensaje = lcMensaje + ' >>> ATENCI<43>N!! - COMPROBAR "BUG DEL M<>TODO MOVIDO"'
ENDIF
ENDIF
ENDIF
*-- Fin comprobaci<63>n
THIS.assertequals( LEN( STRTRAN( toReg_Esperado.METHODS, CHR(13)+CHR(10), CHR(13) ) ) ;
, LEN( STRTRAN( toReg.METHODS, CHR(13)+CHR(10), CHR(13) ) ), lcMensaje )
THIS.assertequals( lnMethods_Count_Esperado, lnMethods_Count, "Cantidad de METHODS para " + lcExtraData )
FOR I = 1 TO lnMethods_Count_Esperado
THIS.asserttrue( ASCAN( laMethods, laMethods_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
, ' Comprobaci<63>n de que existe el Method "' + TRANSFORM(laMethods_Esperado(I,1)) + '"' + " para " + lcExtraData )
ENDFOR
*-- Fin comprobaci<63>n
THIS.assertequals( LEN( STRTRAN( toReg_Esperado.METHODS, CHR(13)+CHR(10), CHR(13) ) ) ;
, LEN( STRTRAN( toReg.METHODS, CHR(13)+CHR(10), CHR(13) ) ), lcMensaje )
THIS.assertequals( lnMethods_Count_Esperado, lnMethods_Count, "Cantidad de METHODS para " + lcExtraData )
FOR I = 1 TO lnMethods_Count_Esperado
THIS.asserttrue( ASCAN( laMethods, laMethods_Esperado(I,1), 1, -1, 1, 0+2+4) > 0 ;
, ' Comprobaci<63>n de que existe el Method "' + TRANSFORM(laMethods_Esperado(I,1)) + '"' + " para " + lcExtraData )
ENDFOR
ENDCASE
ELSE
*-- Evaluaci<63>n de errores
@@ -261,10 +227,82 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElReporte_FB2P_FRX_YValidarLosCamposDelRegistro
*-- REPORTE (FRX)
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
#IF .F.
PUBLIC oFXU_LIB AS CL_FXU_CONFIG OF 'TESTS\fxu_lib_objetos_y_funciones_de_soporte.PRG'
#ENDIF
TRY
loEx = NULL
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
*loCnv.l_Debug = .F.
loCnv.l_ShowErrors = .F.
*loCnv.l_Test = .T.
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError
lc_File = 'fb2p_foxuser.frx'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
loCnv.Convertir( lc_OutputFile, .F., .F., .T. )
loCnv.Convertir( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), .F., .F., .T. )
SELECT 0
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
SCAN ALL FOR NOT DELETED()
*-- DATOS ESPERADOS
STORE 0 TO lnCodError_Esperado
SCATTER MEMO NAME loReg_Esperado
lcUniqueID = loReg_Esperado.UNIQUEID
*-- TEST
IF FILE(lc_OutputFile)
SELECT 0
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
ELSE
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
ENDIF
LOCATE FOR UNIQUEID==lcUniqueID
IF NOT FOUND()
ERROR 'No se encontr<74> el registro con UniqueID "' + lcUniqueID + '" en el archivo "' + lc_OutputFile + '"'
ENDIF
SCATTER MEMO NAME loReg
USE IN (SELECT("TABLABIN"))
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
, loReg_Esperado, loReg, lcTipoBinario )
ENDSCAN
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
FINALLY
USE IN (SELECT("ARCHIBOBIN_IN"))
ENDTRY
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaElForm_FB2P_SCX_YValidarLosCamposDelRegistro
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
@@ -285,6 +323,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
lc_File = 'fb2p_frm_1.scx'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
@@ -294,7 +333,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
SELECT 0
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Form',10) OR PLATFORM==PADR("WINDOWS",8) )
SCAN ALL FOR NOT DELETED() AND ( UNIQUEID==PADR('Form',10) OR PLATFORM==PADR("WINDOWS",8) )
*-- DATOS ESPERADOS
STORE 0 TO lnCodError_Esperado
SCATTER MEMO NAME loReg_Esperado
@@ -302,7 +341,31 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
lcParent = loReg_Esperado.PARENT
lcObjName = loReg_Esperado.objName
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
*-- TEST
IF FILE(lc_OutputFile)
SELECT 0
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
ELSE
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
ENDIF
IF EMPTY(lcParent) AND EMPTY(lcClass) AND EMPTY(lcObjName)
LOCATE FOR PLATFORM==PADR("COMMENT",8) AND UNIQUEID==PADR("Screen",10)
IF NOT FOUND()
ERROR 'No se encontr<74> el registro de cabecera "' + UNIQUEID + '"'
ENDIF
ELSE
LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName
IF NOT FOUND()
ERROR 'No se encontr<74> el registro para CLASS=="' + lcClass + '" AND PARENT=="' + lcParent + '" AND objName=="' + lcObjName + '"'
ENDIF
ENDIF
SCATTER MEMO NAME loReg
USE IN (SELECT("TABLABIN"))
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
, loReg_Esperado, loReg, lcTipoBinario )
ENDSCAN
CATCH TO loEx
@@ -310,6 +373,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("ARCHIBOBIN_IN"))
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDFUNC
@@ -318,7 +382,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarLosCamposDelRegistro
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
@@ -341,6 +405,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
lc_File = 'fb2p_test.vcx'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
@@ -350,7 +415,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
SELECT 0
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
SCAN ALL FOR NOT DELETED() AND ( UNIQUEID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
*-- DATOS ESPERADOS
STORE 0 TO lnCodError_Esperado
SCATTER MEMO NAME loReg_Esperado
@@ -358,7 +423,31 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
lcParent = loReg_Esperado.PARENT
lcObjName = loReg_Esperado.objName
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
*-- TEST
IF FILE(lc_OutputFile)
SELECT 0
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
ELSE
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
ENDIF
IF EMPTY(lcParent) AND EMPTY(lcClass) AND EMPTY(lcObjName)
LOCATE FOR PLATFORM==PADR("COMMENT",8) AND UNIQUEID==PADR("Class",10)
IF NOT FOUND()
ERROR 'No se encontr<74> el registro de cabecera "' + UNIQUEID + '"'
ENDIF
ELSE
LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName
IF NOT FOUND()
ERROR 'No se encontr<74> el registro para CLASS=="' + lcClass + '" AND PARENT=="' + lcParent + '" AND objName=="' + lcObjName + '"'
ENDIF
ENDIF
SCATTER MEMO NAME loReg
USE IN (SELECT("TABLABIN"))
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
, loReg_Esperado, loReg, lcTipoBinario )
ENDSCAN
CATCH TO loEx
@@ -366,6 +455,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("ARCHIBOBIN_IN"))
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDFUNC
@@ -374,7 +464,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarEl_BUG_DelMetodoMovidoEntreClases
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
@@ -397,6 +487,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
lc_File = 'fb2p_test_bug_metodo_movido.vcx'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
@@ -406,7 +497,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
SELECT 0
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
SCAN ALL FOR NOT DELETED() AND ( UNIQUEID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
*-- DATOS ESPERADOS
STORE 0 TO lnCodError_Esperado
SCATTER MEMO NAME loReg_Esperado
@@ -414,7 +505,31 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
lcParent = loReg_Esperado.PARENT
lcObjName = loReg_Esperado.objName
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
*-- TEST
IF FILE(lc_OutputFile)
SELECT 0
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
ELSE
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
ENDIF
IF EMPTY(lcParent) AND EMPTY(lcClass) AND EMPTY(lcObjName)
LOCATE FOR PLATFORM==PADR("COMMENT",8) AND UNIQUEID==PADR("Class",10)
IF NOT FOUND()
ERROR 'No se encontr<74> el registro de cabecera "' + UNIQUEID + '"'
ENDIF
ELSE
LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName
IF NOT FOUND()
ERROR 'No se encontr<74> el registro para CLASS=="' + lcClass + '" AND PARENT=="' + lcParent + '" AND objName=="' + lcObjName + '"'
ENDIF
ENDIF
SCATTER MEMO NAME loReg
USE IN (SELECT("TABLABIN"))
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
, loReg_Esperado, loReg, lcTipoBinario )
ENDSCAN
CATCH TO loEx
@@ -422,6 +537,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
FINALLY
USE IN (SELECT("ARCHIBOBIN_IN"))
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDFUNC
@@ -430,7 +546,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
*******************************************************************************************************************************************
FUNCTION Deberia_Ejecutar_FOXBIN2PRG_ParaLaLibreria_FB2P_TEST_VCX_YValidarEl_BUG_Del_PROCEDURE_SIN_ENDPROC
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado ;
, lc_File, lc_InputFile, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado, loReg, lcTipoBinario ;
, loModulo AS CL_CLASE OF "FOXBIN2PRG.PRG" ;
, loCnv AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ;
, loEx AS EXCEPTION
@@ -453,6 +569,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
lc_File = 'fb2p_test_bug_estructural.vcx'
lc_InputFile = FORCEPATH( lc_File, 'TESTS\DATOS_READONLY' )
lc_OutputFile = FORCEPATH( lc_File, 'TESTS\DATOS_TEST' )
lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
@@ -462,7 +579,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
SELECT 0
USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIBOBIN_IN
SCAN ALL FOR NOT DELETED() AND ( UniqueID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
SCAN ALL FOR NOT DELETED() AND ( UNIQUEID==PADR('Class',10) OR PLATFORM==PADR("WINDOWS",8) )
*-- DATOS ESPERADOS
STORE 0 TO lnCodError_Esperado
SCATTER MEMO NAME loReg_Esperado
@@ -470,14 +587,40 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
lcParent = loReg_Esperado.PARENT
lcObjName = loReg_Esperado.objName
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
*-- TEST
IF FILE(lc_OutputFile)
SELECT 0
USE (lc_OutputFile) SHARED NOUPDATE ALIAS TABLABIN
ELSE
ERROR 'No se encontr<74> el archivo "' + lc_OutputFile + '"'
ENDIF
IF EMPTY(lcParent) AND EMPTY(lcClass) AND EMPTY(lcObjName)
LOCATE FOR PLATFORM==PADR("COMMENT",8) AND UNIQUEID==PADR("Class",10)
IF NOT FOUND()
ERROR 'No se encontr<74> el registro de cabecera "' + UNIQUEID + '"'
ENDIF
ELSE
LOCATE FOR CLASS==lcClass AND PARENT==lcParent AND objName==lcObjName
IF NOT FOUND()
ERROR 'No se encontr<74> el registro para CLASS=="' + lcClass + '" AND PARENT=="' + lcParent + '" AND objName=="' + lcObjName + '"'
ENDIF
ENDIF
SCATTER MEMO NAME loReg
USE IN (SELECT("TABLABIN"))
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
, loReg_Esperado, loReg, lcTipoBinario )
ENDSCAN
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName ;
, loReg_Esperado, loReg, lcTipoBinario )
FINALLY
USE IN (SELECT("ARCHIBOBIN_IN"))
USE IN (SELECT("TABLABIN"))
ENDTRY
ENDFUNC

View File

@@ -48,6 +48,7 @@
* 03/12/2013 FDBOZZO v1.8 Arreglo bug "Name" (otra vez), sort encapsulado y reutilizado para versiones TEXTO y BIN por seguridad
* 06/12/2013 FDBOZZO v1.9 Arreglo bug p<>rdida de propiedades causado por una mejora anterior
* 06/12/2013 FDBOZZO v1.10 Arreglo del bug de mezcla de m<>todos de una clase con la siguiente y agregado soporte preliminar de conversi<73>n de reportes (FRX/FR2)
* 07/12/2013 FDBOZZO v1.11
*
*---------------------------------------------------------------------------------------------------
* TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)
@@ -56,7 +57,7 @@
* 02/12/2013 Fidel Charny REPORTE BUG: Se pierden algunas propiedades y no muestra picture si "Name" no es la <20>ltima (arreglado en v.1.7)
* 03/12/2013 Fidel Charny REPORTE BUG: Se siguen perdiendo algunas propiedades por implementaci<63>n defectuosa del arreglo anterior (arreglado en v.1.8)
* 03/12/2013 Fidel Charny REPORTE BUG: Se siguen perdiendo algunas propiedades por implementaci<63>n defectuosa de una mejora anterior (arreglado en v.1.9)
* 06/12/2013 Fidel Charny REPORTE BUG: Cuando hay m<>todos que tienen el mismo nombre, aparecen mezclados en objetos a los que no corresponden
* 06/12/2013 Fidel Charny REPORTE BUG: Cuando hay m<>todos que tienen el mismo nombre, aparecen mezclados en objetos a los que no corresponden (arreglado en v.1.10)
*
*---------------------------------------------------------------------------------------------------
* TRAMIENTOS ESPECIALES DE ASIGNACIONES DE PROPIEDADES:
@@ -5854,7 +5855,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
ENDTEXT
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<C_TAB>>platform="WINDOWS " uniqueid="<<toReg.UniqueID>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
<<C_TAB>>platform="WINDOWS " uniqueid="<<EVL(toReg.UniqueID,SYS(2015))>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
ENDTEXT
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
@@ -5967,7 +5968,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
ENDTEXT
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<C_TAB>>platform="WINDOWS " uniqueid="<<toReg.UniqueID>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
<<C_TAB>>platform="WINDOWS " uniqueid="<<EVL(toReg.UniqueID,SYS(2015))>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
ENDTEXT
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2
@@ -6080,7 +6081,7 @@ DEFINE CLASS c_conversor_bin_a_prg AS c_conversor_base
ENDTEXT
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2
<<C_TAB>>platform="WINDOWS " uniqueid="<<toReg.UniqueID>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
<<C_TAB>>platform="WINDOWS " uniqueid="<<EVL(toReg.UniqueID,SYS(2015))>>" timestamp="<<toReg.TimeStamp>>" objtype="<<toReg.ObjType>>" <<>>
ENDTEXT
TEXT TO C_FB2PRG_CODE ADDITIVE TEXTMERGE NOSHOW FLAGS 1 PRETEXT 1+2