Changeset: 342 fdbozzo - 05/07/2014 12:21:17:

- Agregar opción l_DropNullCharsFromCode, activada por defecto, para permitir quitar los NULLs del código fuente (Matt Slay)
This commit is contained in:
fdbozzo
2014-07-06 12:54:23 +02:00
parent 09f1bbbf79
commit 8e92b753ac
2 changed files with 163 additions and 22 deletions

View File

@@ -1272,6 +1272,120 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_GenerarUnArchivo_SC2_DesdeUnBinarioQueContieneNullsEnElCodigo_SinLosNulls
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_OutputFile, lc_OutputFileTx2, lc_OutputFileBak, lcExt2, lcFileName, lnNulls, lnNulls_Esperados ;
, lcParent, lcClass, lcObjName, loReg_Esperado ;
, loCtl AS f_optiongroup OF "TESTS\DATOS_READONLY\LIB_CONTROLES.VCX" ;
, 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.EvaluarConfiguracion( '', '', '1', '1', '1', '4', '1', '0' )
*loCnv.l_DropNullCharsFromCode = .T.
*loCnv.l_Test = .T.
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError, lnCodError_Esperado, lnNulls, lnNulls_Esperados
lcFileName = 'f_nullchars_incode.scx'
lnNulls_Esperados = 0
*-- Copio la librer<65>a en DATOS_TEST
lc_File = UPPER(lcFileName)
lcExt2 = loCnv.Get_Ext2FromExt( JUSTEXT( lc_File ) )
lc_OutputFile = FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest )
lc_OutputFileTx2 = FORCEEXT( FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest ), lcExt2 )
lc_OutputFileBak = lc_OutputFileTx2 + '.bak'
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak)
*-- Genero TX2
loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
lnNulls = OCCURS( CHR(0), FILETOSTR( lc_OutputFileTx2 ) )
*-- Comparo resultados
THIS.messageout( "Se comprueba si el archivo texto generado contiene NULLs" )
THIS.messageout( "NULLs esperados: " + TRANSFORM(lnNulls_Esperados) )
THIS.messageout( "NULLs encontrados: " + TRANSFORM(lnNulls) )
THIS.assertequals( lnNulls_Esperados, lnNulls, "COMPROBACI<43>N THE NULLS" )
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
FINALLY
STORE NULL TO loCnv, loCtl
RELEASE loCnv, loCtl
ENDTRY
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_GenerarUnArchivo_SC2_DesdeUnBinarioQueContieneNullsEnElCodigo_ConLosNulls
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lc_OutputFile, lc_OutputFileTx2, lc_OutputFileBak, lcExt2, lcFileName, lnNulls, lnNulls_Esperados ;
, lcParent, lcClass, lcObjName, loReg_Esperado ;
, loCtl AS f_optiongroup OF "TESTS\DATOS_READONLY\LIB_CONTROLES.VCX" ;
, 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.EvaluarConfiguracion( '', '', '1', '1', '1', '4', '1', '0' )
loCnv.l_DropNullCharsFromCode = .F.
*loCnv.l_Test = .T.
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError, lnCodError_Esperado, lnNulls, lnNulls_Esperados
lcFileName = 'f_nullchars_incode.scx'
lnNulls_Esperados = 2
*-- Copio la librer<65>a en DATOS_TEST
lc_File = UPPER(lcFileName)
lcExt2 = loCnv.Get_Ext2FromExt( JUSTEXT( lc_File ) )
lc_OutputFile = FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest )
lc_OutputFileTx2 = FORCEEXT( FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest ), lcExt2 )
lc_OutputFileBak = lc_OutputFileTx2 + '.bak'
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) )
COPY FILE (lc_OutputFileTx2) TO (lc_OutputFileBak)
*-- Genero TX2
loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
lnNulls = OCCURS( CHR(0), FILETOSTR( lc_OutputFileTx2 ) )
*-- Comparo resultados
THIS.messageout( "Se comprueba si el archivo texto generado contiene NULLs" )
THIS.messageout( "NULLs esperados: " + TRANSFORM(lnNulls_Esperados) )
THIS.messageout( "NULLs encontrados: " + TRANSFORM(lnNulls) )
THIS.assertequals( lnNulls_Esperados, lnNulls, "COMPROBACI<43>N THE NULLS" )
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
FINALLY
STORE NULL TO loCnv, loCtl
RELEASE loCnv, loCtl
ENDTRY
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Evaluate_TX2_Output_Test
LPARAMETERS tcFileName