diff --git a/TESTS/ut__foxbin2prg.prg b/TESTS/ut__foxbin2prg.prg index e9824bd..a855fcc 100644 --- a/TESTS/ut__foxbin2prg.prg +++ b/TESTS/ut__foxbin2prg.prg @@ -363,9 +363,11 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg loEx = NULL loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") *loCnv.l_Debug = .F. - loCnv.l_ShowErrors = .F. + *loCnv.l_ShowErrors = .F. *loCnv.l_Test = .T. *loCnv.l_ReportSort_Enabled = .F. + *loCnv.l_NoTimestamps = .F. + *loCnv.l_ClearUniqueID = .F. *-- DATOS DE ENTRADA @@ -374,9 +376,7 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg lc_InputFile = FORCEPATH( lc_File, oFXU_LIB.cPathDatosReadOnly ) lc_OutputFile = FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest ) lcTipoBinario = UPPER( JUSTEXT( lc_OutputFile ) ) - loCnv.EvaluarConfiguracion( '1', '1', '0', '0', SYS(5)+CURDIR(), '1' ) - loCnv.l_NoTimestamps = .F. - loCnv.l_ClearUniqueID = .F. + loCnv.EvaluarConfiguracion( '1', '1', '0', '0', SYS(5)+CURDIR(), '1', '0', '0' ) *oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, LEFT( JUSTEXT(lc_File),2 ) + '?' ) ) oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, 'LBX' ) ) @@ -384,8 +384,6 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg loCnv.Convertir( lc_OutputFile, .F., .F., .T. ) loCnv.Convertir( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), .F., .F., .T. ) - *loCnv.Ejecutar( lc_OutputFile, '', '', '', '1', '0', '1', '', '', .T. ) - *loCnv.Ejecutar( FORCEEXT(lc_OutputFile, LEFT( JUSTEXT(lc_File),2 ) + '2' ), '', '', '', '1', '0', '1', '', '', .T. ) SELECT 0 USE (lc_InputFile) SHARED AGAIN NOUPDATE ALIAS ARCHIVOBIN_IN diff --git a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg b/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg index d8de2b0..21570d6 100644 --- a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg +++ b/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg @@ -4,10 +4,10 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O LOCAL THIS AS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion OF ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.PRG #ENDIF - #DEFINE CR_LF CHR(13) + CHR(10) - #DEFINE C_CR CHR(13) - #DEFINE C_LF CHR(10) - #DEFINE C_TAB CHR(9) + #DEFINE C_CR CHR(13) + #DEFINE C_LF CHR(10) + #DEFINE CRLF C_CR + C_LF + #DEFINE C_TAB CHR(9) ioFB2P = NULL @@ -62,21 +62,65 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O IF ISNULL(toEx) - *-- Visualización de valores LOCAL loFB2P AS c_foxbin2prg OF "FOXBIN2PRG.PRG" + LOCAL loFB2P_Esperado AS c_foxbin2prg OF "FOXBIN2PRG.PRG" loFB2P = THIS.ioFB2P + loFB2P_Esperado = teValorEsperado THIS.messageout( LOWER(PROGRAM(PROGRAM(-1)-1)) ) THIS.messageout( '.' ) THIS.messageout( 'Archivo ' + loFB2P.c_Foxbin2prg_ConfigFile + IIF(FILE(loFB2P.c_Foxbin2prg_ConfigFile),': EXISTE', ': NO EXISTE') ) - THIS.messageout( TRANSFORM(tcSeteo) ) - THIS.messageout( 'Valor esperado: ' + TRANSFORM(teValorEsperado) ) - THIS.messageout( 'Valor: ' + TRANSFORM(teValor) ) + THIS.messageout( '.' ) - *-- Formateo - * '[' + oFXU_LIB.mejorarPresentacionCaracteresEspeciales( TRANSFORM( EVALUATE('toReg_Esperado.'+laProps(I)) ) ) + ']' ) + IF tcSeteo = 'CONFIG' THEN + *-- Evaluación de configuraciones + THIS.messageout( 'CONFIGURACIÓN ESPERADA: ' ) + THIS.messageout( 'PJX_Conversion_Support: ' + TRANSFORM(loFB2P_Esperado.PJX_Conversion_Support) ) + THIS.messageout( 'VCX_Conversion_Support: ' + TRANSFORM(loFB2P_Esperado.VCX_Conversion_Support) ) + THIS.messageout( 'SCX_Conversion_Support: ' + TRANSFORM(loFB2P_Esperado.SCX_Conversion_Support) ) + THIS.messageout( 'FRX_Conversion_Support: ' + TRANSFORM(loFB2P_Esperado.FRX_Conversion_Support) ) + THIS.messageout( 'LBX_Conversion_Support: ' + TRANSFORM(loFB2P_Esperado.LBX_Conversion_Support) ) + THIS.messageout( 'MNX_Conversion_Support: ' + TRANSFORM(loFB2P_Esperado.MNX_Conversion_Support) ) + THIS.messageout( 'DBF_Conversion_Support: ' + TRANSFORM(loFB2P_Esperado.DBF_Conversion_Support) ) + THIS.messageout( 'DBC_Conversion_Support: ' + TRANSFORM(loFB2P_Esperado.DBC_Conversion_Support) ) + THIS.messageout( 'l_ShowProgress: ' + TRANSFORM(loFB2P_Esperado.l_ShowProgress) ) + THIS.messageout( 'l_ShowErrors: ' + TRANSFORM(loFB2P_Esperado.l_ShowErrors) ) + THIS.messageout( 'l_Recompile: ' + TRANSFORM(loFB2P_Esperado.l_Recompile) ) + THIS.messageout( 'l_NoTimestamps: ' + TRANSFORM(loFB2P_Esperado.l_NoTimestamps) ) + THIS.messageout( 'l_ClearUniqueID: ' + TRANSFORM(loFB2P_Esperado.l_ClearUniqueID) ) + THIS.messageout( 'l_Debug: ' + TRANSFORM(loFB2P_Esperado.l_Debug) ) + THIS.messageout( 'n_ExtraBackupLevels: ' + TRANSFORM(loFB2P_Esperado.n_ExtraBackupLevels) ) + THIS.messageout( 'l_OptimizeByFilestamp: ' + TRANSFORM(loFB2P_Esperado.l_OptimizeByFilestamp) ) + + *-- VALIDACIONES + THIS.assertequals( TRANSFORM(loFB2P_Esperado.PJX_Conversion_Support), TRANSFORM(loFB2P.PJX_Conversion_Support), '> PJX_Conversion_Support' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.VCX_Conversion_Support), TRANSFORM(loFB2P.VCX_Conversion_Support), '> VCX_Conversion_Support' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.SCX_Conversion_Support), TRANSFORM(loFB2P.SCX_Conversion_Support), '> SCX_Conversion_Support' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.FRX_Conversion_Support), TRANSFORM(loFB2P.FRX_Conversion_Support), '> FRX_Conversion_Support' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.LBX_Conversion_Support), TRANSFORM(loFB2P.LBX_Conversion_Support), '> LBX_Conversion_Support' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.MNX_Conversion_Support), TRANSFORM(loFB2P.MNX_Conversion_Support), '> MNX_Conversion_Support' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.DBF_Conversion_Support), TRANSFORM(loFB2P.DBF_Conversion_Support), '> DBF_Conversion_Support' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.DBC_Conversion_Support), TRANSFORM(loFB2P.DBC_Conversion_Support), '> DBC_Conversion_Support' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.l_ShowProgress), TRANSFORM(loFB2P.l_ShowProgress), '> l_ShowProgress' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.l_ShowErrors), TRANSFORM(loFB2P.l_ShowErrors), '> l_ShowErrors' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.l_Recompile), TRANSFORM(loFB2P.l_Recompile), '> l_Recompile' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.l_NoTimestamps), TRANSFORM(loFB2P.l_NoTimestamps), '> l_NoTimestamps' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.l_ClearUniqueID), TRANSFORM(loFB2P.l_ClearUniqueID), '> l_ClearUniqueID' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.l_Debug), TRANSFORM(loFB2P.l_Debug), '> l_Debug' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.n_ExtraBackupLevels), TRANSFORM(loFB2P.n_ExtraBackupLevels), '> n_ExtraBackupLevels' ) + THIS.assertequals( TRANSFORM(loFB2P_Esperado.l_OptimizeByFilestamp), TRANSFORM(loFB2P.l_OptimizeByFilestamp), '> l_OptimizeByFilestamp' ) - *-- COMPARO - THIS.assertequals( TRANSFORM(teValorEsperado), TRANSFORM(teValor), tcSeteo ) + ELSE + *-- Visualización de valores + THIS.messageout( TRANSFORM(tcSeteo) ) + THIS.messageout( 'Valor esperado: ' + TRANSFORM(teValorEsperado) ) + THIS.messageout( 'Valor: ' + TRANSFORM(teValor) ) + + *-- Formateo + * '[' + oFXU_LIB.mejorarPresentacionCaracteresEspeciales( TRANSFORM( EVALUATE('toReg_Esperado.'+laProps(I)) ) ) + ']' ) + + *-- VALIDACIONES + THIS.assertequals( TRANSFORM(teValorEsperado), TRANSFORM(teValor), tcSeteo ) + ENDIF ELSE @@ -95,6 +139,199 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O ENDFUNC + ******************************************************************************************************************************************* + FUNCTION Deberia_GenerarLaConfiguracionPorDefectoCuandoNoHayArchivoDeConfiguracion + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ; + , loFB2P AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , loFB2P_Esperado 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 + loFB2P_Esperado = CREATEOBJECT("EMPTY") + loFB2P = THIS.ioFB2P + loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'CONFIG' + ADDPROPERTY( loFB2P_Esperado, 'PJX_Conversion_Support', 2 ) + ADDPROPERTY( loFB2P_Esperado, 'VCX_Conversion_Support', 2 ) + ADDPROPERTY( loFB2P_Esperado, 'SCX_Conversion_Support', 2 ) + ADDPROPERTY( loFB2P_Esperado, 'FRX_Conversion_Support', 2 ) + ADDPROPERTY( loFB2P_Esperado, 'LBX_Conversion_Support', 2 ) + ADDPROPERTY( loFB2P_Esperado, 'MNX_Conversion_Support', 2 ) + ADDPROPERTY( loFB2P_Esperado, 'DBF_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'DBC_Conversion_Support', 2 ) + ADDPROPERTY( loFB2P_Esperado, 'l_ShowProgress', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'l_ShowErrors', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'l_Recompile', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'l_NoTimestamps', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'l_ClearUniqueID', .F. ) + ADDPROPERTY( loFB2P_Esperado, 'l_Debug', .F. ) + ADDPROPERTY( loFB2P_Esperado, 'n_ExtraBackupLevels', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'l_OptimizeByFilestamp', .T. ) + *STRTOFILE('', 'TESTS\DATOS_TEST\foxbin2prg.cfg') + + + *-- TEST + loFB2P.EvaluarConfiguracion() + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, loFB2P_Esperado, leValor ) + + ENDTRY + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_UsarLaConfiguracionDelArchivoDeConfiguracion + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ; + , loFB2P AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , loFB2P_Esperado 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 + loFB2P_Esperado = CREATEOBJECT("EMPTY") + loFB2P = THIS.ioFB2P + loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'CONFIG' + ADDPROPERTY( loFB2P_Esperado, 'PJX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'VCX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'SCX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'FRX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'LBX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'MNX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'DBF_Conversion_Support', 2 ) + ADDPROPERTY( loFB2P_Esperado, 'DBC_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'l_ShowProgress', .F. ) + ADDPROPERTY( loFB2P_Esperado, 'l_ShowErrors', .F. ) + ADDPROPERTY( loFB2P_Esperado, 'l_Recompile', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'l_NoTimestamps', .F. ) + ADDPROPERTY( loFB2P_Esperado, 'l_ClearUniqueID', .F. ) + ADDPROPERTY( loFB2P_Esperado, 'l_Debug', .F. ) + ADDPROPERTY( loFB2P_Esperado, 'n_ExtraBackupLevels', 0 ) + ADDPROPERTY( loFB2P_Esperado, 'l_OptimizeByFilestamp', .F. ) + *-- + STRTOFILE( '* ' + PROGRAM() + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg') + STRTOFILE( 'PJX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'VCX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'SCX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'FRX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'LBX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'MNX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'DBF_Conversion_Support: 2' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'DBC_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'DontShowProgress: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'DontShowErrors: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + *STRTOFILE( 'Recompile: ' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'NoTimestamps: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'ClearUniqueID: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'Debug: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'ExtraBackupLevels: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'OptimizeByFilestamp: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + + + *-- TEST + loFB2P.EvaluarConfiguracion() + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, loFB2P_Esperado, leValor ) + + ENDTRY + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_UsarLaConfiguracionPorParametrosAunqueHayaArchivoDeConfiguracion + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ; + , loFB2P AS c_foxbin2prg OF "FOXBIN2PRG.PRG" ; + , loFB2P_Esperado 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 + loFB2P_Esperado = CREATEOBJECT("EMPTY") + loFB2P = THIS.ioFB2P + loFB2P.c_Foxbin2prg_ConfigFile = 'TESTS\DATOS_TEST\foxbin2prg.cfg' + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'CONFIG' + ADDPROPERTY( loFB2P_Esperado, 'PJX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'VCX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'SCX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'FRX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'LBX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'MNX_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'DBF_Conversion_Support', 2 ) + ADDPROPERTY( loFB2P_Esperado, 'DBC_Conversion_Support', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'l_ShowProgress', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'l_ShowErrors', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'l_Recompile', .F. ) + ADDPROPERTY( loFB2P_Esperado, 'l_NoTimestamps', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'l_ClearUniqueID', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'l_Debug', .T. ) + ADDPROPERTY( loFB2P_Esperado, 'n_ExtraBackupLevels', 1 ) + ADDPROPERTY( loFB2P_Esperado, 'l_OptimizeByFilestamp', .T. ) + *-- + STRTOFILE( '* ' + PROGRAM() + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg') + STRTOFILE( 'PJX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'VCX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'SCX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'FRX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'LBX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'MNX_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'DBF_Conversion_Support: 2' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'DBC_Conversion_Support: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'DontShowProgress: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'DontShowErrors: 1' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + *STRTOFILE( 'Recompile: ' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'NoTimestamps: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'ClearUniqueID: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'Debug: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'ExtraBackupLevels: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + STRTOFILE( 'OptimizeByFilestamp: 0' + CRLF, 'TESTS\DATOS_TEST\foxbin2prg.cfg', 1 ) + + + *-- TEST + loFB2P.EvaluarConfiguracion( '0', '0', '1', '1', '0', '1', '1', '1' ) + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, loFB2P_Esperado, leValor ) + + ENDTRY + + ENDFUNC + + ******************************************************************************************************************************************* FUNCTION Deberia_GenerarExtension_BAK_Cuando_ExtraBackupLevels_EsteComentado_UseElValorPorDefecto_YNoExistaBAK LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ; diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 603b34a..34efba7 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -141,7 +141,8 @@ * * Ej: DO FOXBIN2PRG.PRG WITH "C:\DESA\INTEGRACION\LIBRERIA.VCX" *--------------------------------------------------------------------------------------------------- -LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress, tcOriginalFileName, tcRecompile, tcNoTimestamps +LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress, tcOriginalFileName ; + , tcRecompile, tcNoTimestamps *-- NO modificar! / Do NOT change! #DEFINE C_CMT_I '*--' @@ -430,6 +431,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM + [] ; + [] ; + [] ; + + [] ; + [] ; + [] ; + [] ; @@ -483,9 +485,10 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM l_Test = .F. l_ShowErrors = .T. l_ShowProgress = .T. - l_Recompile = .F. + l_Recompile = .T. l_NoTimestamps = .T. l_ClearUniqueID = .F. + l_OptimizeByFilestamp = .T. l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias l_ReportSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias @@ -778,11 +781,14 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM PROCEDURE EvaluarConfiguracion - LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels + LPARAMETERS tcDontShowProgress, tcDontShowErrors, tcNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ; + , tcClearUniqueID, tcOptimizeByFilestamp - LOCAL lcConfigFile, llExisteConfig, laConfig(1), I, lcConfData, lcExt + LOCAL lcConfigFile, llExisteConfig, laConfig(1), I, lcConfData, lcExt, lcValue WITH THIS AS c_foxbin2prg OF 'FOXBIN2PRG.PRG' + tcRecompile = EVL(tcRecompile,'1') + IF NOT .l_ConfigEvaluated lcConfigFile = .c_Foxbin2prg_ConfigFile llExisteConfig = FILE( lcConfigFile ) @@ -794,7 +800,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM laConfig(I) = LOWER( laConfig(I) ) DO CASE - CASE LEFT( laConfig(I), 1 ) == '*' + CASE INLIST( LEFT( laConfig(I), 1 ), '*', '#', '/', "'" ) LOOP CASE LEFT( laConfig(I), 10 ) == LOWER('Extension:') @@ -807,78 +813,137 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM ENDIF CASE LEFT( laConfig(I), 17 ) == LOWER('DontShowProgress:') - tcDontShowProgress = ALLTRIM( SUBSTR( laConfig(I), 18 ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 18 ) ) + IF NOT INLIST( TRANSFORM(tcDontShowProgress), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN + tcDontShowProgress = lcValue + .writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) ) + ENDIF CASE LEFT( laConfig(I), 15 ) == LOWER('DontShowErrors:') *-- Priorizo si tcDontShowErrors NO viene con "0" como parámetro, ya que los scripts vbs *-- los utilizan para sobreescribir la configuración por defecto de foxbin2prg.cfg - IF NOT TRANSFORM(tcDontShowErrors) == '0' - tcDontShowErrors = ALLTRIM( SUBSTR( laConfig(I), 16 ) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 16 ) ) + IF NOT INLIST( TRANSFORM(tcDontShowErrors), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN + tcDontShowErrors = lcValue + .writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) ) ENDIF - .writeLog( JUSTFNAME(lcConfigFile) + ' > tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) ) CASE LEFT( laConfig(I), 13 ) == LOWER('NoTimestamps:') - tcNoTimestamps = ALLTRIM( SUBSTR( laConfig(I), 14 ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 14 ) ) + IF NOT INLIST( TRANSFORM(tcNoTimestamps), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN + tcNoTimestamps = lcValue + .writeLog( JUSTFNAME(lcConfigFile) + ' > tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) ) + ENDIF CASE LEFT( laConfig(I), 6 ) == LOWER('Debug:') - tcDebug = ALLTRIM( SUBSTR( laConfig(I), 7 ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > tcDebug: ' + TRANSFORM(tcDebug) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 7 ) ) + IF NOT INLIST( TRANSFORM(tcDebug), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN + tcDebug = lcValue + .writeLog( JUSTFNAME(lcConfigFile) + ' > tcDebug: ' + TRANSFORM(tcDebug) ) + ENDIF CASE LEFT( laConfig(I), 18 ) == LOWER('ExtraBackupLevels:') - tcExtraBackupLevels = ALLTRIM( SUBSTR( laConfig(I), 19 ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > tcExtraBackupLevels: ' + TRANSFORM(tcExtraBackupLevels) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 19 ) ) + IF NOT ISDIGIT( TRANSFORM(tcExtraBackupLevels) ) AND ISDIGIT( lcValue ) THEN + tcExtraBackupLevels = lcValue + .writeLog( JUSTFNAME(lcConfigFile) + ' > tcExtraBackupLevels: ' + TRANSFORM(tcExtraBackupLevels) ) + ENDIF CASE LEFT( laConfig(I), 14 ) == LOWER('ClearUniqueID:') - .l_ClearUniqueID = ( ALLTRIM( SUBSTR( laConfig(I), 15 ) ) == '1' ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > ClearUniqueID: ' + TRANSFORM(ALLTRIM( SUBSTR( laConfig(I), 15 )) ) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 15 ) ) + IF NOT INLIST( TRANSFORM(tcClearUniqueID), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN + tcClearUniqueID = lcValue + .writeLog( JUSTFNAME(lcConfigFile) + ' > ClearUniqueID: ' + TRANSFORM(ALLTRIM( SUBSTR( laConfig(I), 15 )) ) ) + ENDIF + + CASE LEFT( laConfig(I), 20 ) == LOWER('OptimizeByFilestamp:') + lcValue = ALLTRIM( SUBSTR( laConfig(I), 21 ) ) + IF NOT INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN + tcOptimizeByFilestamp = lcValue + .writeLog( JUSTFNAME(lcConfigFile) + ' > OptimizeByFilestamp: ' + TRANSFORM(ALLTRIM( SUBSTR( laConfig(I), 21 )) ) ) + ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('PJX_Conversion_Support:') - .PJX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > PJX_Conversion_Support: ' + TRANSFORM(.PJX_Conversion_Support) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + IF INLIST( lcValue, '0', '1', '2' ) THEN + .PJX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > PJX_Conversion_Support: ' + TRANSFORM(.PJX_Conversion_Support) ) + ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('VCX_Conversion_Support:') - .VCX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > VCX_Conversion_Support: ' + TRANSFORM(.VCX_Conversion_Support) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + IF INLIST( lcValue, '0', '1', '2' ) THEN + .VCX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > VCX_Conversion_Support: ' + TRANSFORM(.VCX_Conversion_Support) ) + ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('SCX_Conversion_Support:') - .SCX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > SCX_Conversion_Support: ' + TRANSFORM(.SCX_Conversion_Support) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + IF INLIST( lcValue, '0', '1', '2' ) THEN + .SCX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > SCX_Conversion_Support: ' + TRANSFORM(.SCX_Conversion_Support) ) + ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('FRX_Conversion_Support:') - .FRX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > FRX_Conversion_Support: ' + TRANSFORM(.FRX_Conversion_Support) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + IF INLIST( lcValue, '0', '1', '2' ) THEN + .FRX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > FRX_Conversion_Support: ' + TRANSFORM(.FRX_Conversion_Support) ) + ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('LBX_Conversion_Support:') - .LBX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > LBX_Conversion_Support: ' + TRANSFORM(.LBX_Conversion_Support) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + IF INLIST( lcValue, '0', '1', '2' ) THEN + .LBX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > LBX_Conversion_Support: ' + TRANSFORM(.LBX_Conversion_Support) ) + ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('MNX_Conversion_Support:') - .MNX_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > MNX_Conversion_Support: ' + TRANSFORM(.MNX_Conversion_Support) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + IF INLIST( lcValue, '0', '1', '2' ) THEN + .MNX_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > MNX_Conversion_Support: ' + TRANSFORM(.MNX_Conversion_Support) ) + ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('DBF_Conversion_Support:') - .DBF_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Support: ' + TRANSFORM(.DBF_Conversion_Support) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + IF INLIST( lcValue, '0', '1', '2' ) THEN + .DBF_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > DBF_Conversion_Support: ' + TRANSFORM(.DBF_Conversion_Support) ) + ENDIF CASE LEFT( laConfig(I), 23 ) == LOWER('DBC_Conversion_Support:') - .DBC_Conversion_Support = INT( VAL( ALLTRIM( SUBSTR( laConfig(I), 24 ) ) ) ) - .writeLog( JUSTFNAME(lcConfigFile) + ' > DBC_Conversion_Support: ' + TRANSFORM(.DBC_Conversion_Support) ) + lcValue = ALLTRIM( SUBSTR( laConfig(I), 24 ) ) + IF INLIST( lcValue, '0', '1', '2' ) THEN + .DBC_Conversion_Support = INT( VAL( lcValue ) ) + .writeLog( JUSTFNAME(lcConfigFile) + ' > DBC_Conversion_Support: ' + TRANSFORM(.DBC_Conversion_Support) ) + ENDIF ENDCASE ENDFOR ENDIF - .l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1') + IF INLIST( TRANSFORM(tcDontShowProgress), '0', '1' ) THEN + .l_ShowProgress = NOT (TRANSFORM(tcDontShowProgress)=='1') + ENDIF IF NOT EMPTY(tcDontShowErrors) .l_ShowErrors = NOT (TRANSFORM(tcDontShowErrors) == '1') ENDIF .l_Recompile = (EMPTY(tcRecompile) OR TRANSFORM(tcRecompile) == '1' OR DIRECTORY(tcRecompile)) - .l_NoTimestamps = NOT (TRANSFORM(tcNoTimestamps) == '0') - .l_Debug = (TRANSFORM(tcDebug)=='1') + IF INLIST( TRANSFORM(tcNoTimestamps), '0', '1' ) THEN + .l_NoTimestamps = NOT (TRANSFORM(tcNoTimestamps) == '0') + ENDIF + IF INLIST( TRANSFORM(tcClearUniqueID), '0', '1' ) THEN + .l_ClearUniqueID = NOT (TRANSFORM(tcClearUniqueID) == '0') + ENDIF + IF INLIST( TRANSFORM(tcDebug), '0', '1' ) THEN + .l_Debug = (TRANSFORM(tcDebug)=='1') + ENDIF tcExtraBackupLevels = EVL( tcExtraBackupLevels, TRANSFORM( .n_ExtraBackupLevels ) ) .n_ExtraBackupLevels = INT( VAL( TRANSFORM(tcExtraBackupLevels) ) ) + IF INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1' ) THEN + .l_OptimizeByFilestamp = NOT (TRANSFORM(tcOptimizeByFilestamp) == '0') + ENDIF .writeLog( '---' ) .writeLog( '> l_ShowProgress: ' + TRANSFORM(.l_ShowProgress) ) @@ -888,6 +953,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM .writeLog( '> l_ClearUniqueID: ' + TRANSFORM(.l_ClearUniqueID) ) .writeLog( '> l_Debug: ' + TRANSFORM(.l_Debug) ) .writeLog( '> n_ExtraBackupLevels: ' + TRANSFORM(.n_ExtraBackupLevels) ) + .writeLog( '> l_OptimizeByFilestamp: ' + TRANSFORM(.l_OptimizeByFilestamp) ) .l_ConfigEvaluated = .T. ENDIF && .l_ConfigEvaluated ENDWITH && THIS @@ -975,7 +1041,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM *-------------------------------------------------------------------------------------------------------------- LPARAMETERS tc_InputFile, tcType, tcTextName, tlGenText, tcDontShowErrors, tcDebug, tcDontShowProgress ; , toModulo, toEx AS EXCEPTION, tlRelanzarError, tcOriginalFileName, tcRecompile, tcNoTimestamps ; - , tcBackupLevels + , tcBackupLevels, tcClearUniqueID, tcOptimizeByFilestamp TRY LOCAL I, lcPath, lnCodError, lcFileSpec, lcFile, laFiles(1,5) ; @@ -987,22 +1053,22 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM lnCodError = 0 .writeLog( .c_Foxbin2prg_FullPath + CR_LF ; - + C_TAB + 'tc_InputFile: ' + TRANSFORM(tc_InputFile) + CR_LF ; - + C_TAB + 'tcType: ' + TRANSFORM(tcType) + CR_LF; - + C_TAB + 'tcTextName: ' + TRANSFORM(tcTextName) + CR_LF ; - + C_TAB + 'tlGenText: ' + TRANSFORM(tlGenText) + CR_LF ; - + C_TAB + 'tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) + CR_LF ; - + C_TAB + 'tcDebug: ' + TRANSFORM(tcDebug) + CR_LF ; - + C_TAB + 'tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) + CR_LF ; - + C_TAB + 'toModulo: ' + TRANSFORM(toModulo) + CR_LF ; - + C_TAB + 'toEx: ' + TRANSFORM(toEx) + CR_LF ; - + C_TAB + 'tlRelanzarError: ' + TRANSFORM(tlRelanzarError) + CR_LF ; - + C_TAB + 'tcOriginalFileName: ' + TRANSFORM(tcOriginalFileName) + CR_LF ; - + C_TAB + 'tcRecompile: ' + TRANSFORM(tcRecompile) + CR_LF ; - + C_TAB + 'tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) ) - - tcRecompile = EVL(tcRecompile,'1') - tcNoTimestamps = '1' &&EVL(tcNoTimestamps,'1') + + C_TAB + 'tc_InputFile: ' + TRANSFORM(tc_InputFile) + CR_LF ; + + C_TAB + 'tcType: ' + TRANSFORM(tcType) + CR_LF; + + C_TAB + 'tcTextName: ' + TRANSFORM(tcTextName) + CR_LF ; + + C_TAB + 'tlGenText: ' + TRANSFORM(tlGenText) + CR_LF ; + + C_TAB + 'tcDontShowErrors: ' + TRANSFORM(tcDontShowErrors) + CR_LF ; + + C_TAB + 'tcDebug: ' + TRANSFORM(tcDebug) + CR_LF ; + + C_TAB + 'tcDontShowProgress: ' + TRANSFORM(tcDontShowProgress) + CR_LF ; + + C_TAB + 'toModulo: ' + TRANSFORM(toModulo) + CR_LF ; + + C_TAB + 'toEx: ' + TRANSFORM(toEx) + CR_LF ; + + C_TAB + 'tlRelanzarError: ' + TRANSFORM(tlRelanzarError) + CR_LF ; + + C_TAB + 'tcOriginalFileName: ' + TRANSFORM(tcOriginalFileName) + CR_LF ; + + C_TAB + 'tcRecompile: ' + TRANSFORM(tcRecompile) + CR_LF ; + + C_TAB + 'tcNoTimestamps: ' + TRANSFORM(tcNoTimestamps) ; + + C_TAB + 'tcBackupLevels: ' + TRANSFORM(tcBackupLevels) ; + + C_TAB + 'tcClearUniqueID: ' + TRANSFORM(tcClearUniqueID) ; + + C_TAB + 'tcOptimizeByFilestamp: ' + TRANSFORM(tcOptimizeByFilestamp) ) IF _VFP.STARTMODE > 0 SET ESCAPE OFF @@ -1025,7 +1091,8 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM *-- Ejecución normal *-- ARCHIVO DE CONFIGURACIÓN - .EvaluarConfiguracion( @tcDontShowProgress, @tcDontShowErrors, @tcNoTimestamps, @tcDebug, @tcRecompile, @tcBackupLevels ) + .EvaluarConfiguracion( @tcDontShowProgress, @tcDontShowErrors, @tcNoTimestamps, @tcDebug, @tcRecompile, @tcBackupLevels ; + , @tcClearUniqueID, @tcOptimizeByFilestamp ) IF .l_ShowProgress .cargar_frm_avance()