diff --git a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg b/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg index 9fb53ab..3aea210 100644 --- a/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg +++ b/TESTS/ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion.prg @@ -1805,6 +1805,85 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O ENDFUNC + ******************************************************************************************************************************************* + FUNCTION Deberia_SetearElSoporte_DBF_Como_2_CuandoExistaElArhivo_foxbin2prg_cfg_EnDirArchivo_YDirectorioPadreTengaOtroValor + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ; + , loFB2P 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 = THIS.ioFB2P + loFB2P.l_ShowErrors = .F. + loFB2P.c_Foxbin2prg_ConfigFile = FULLPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) + STRTOFILE( 'DBF_Conversion_Support:0', FULLPATH( 'foxbin2prg.cfg', ADDBS(oFXU_LIB.cPathDatosTest) + '..\' ) ) && Escribe en \TESTS + STRTOFILE( 'DBF_Conversion_Support:2', loFB2P.c_Foxbin2prg_ConfigFile ) + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'DBF_Conversion_Support:' + leValorEsperado = 2 + + + *-- TEST + loFB2P.EvaluarConfiguracion() + leValor = loFB2P.DBF_Conversion_Support + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ) + ERASE (FULLPATH( 'foxbin2prg.cfg', ADDBS(oFXU_LIB.cPathDatosTest) + '..\' )) + + ENDTRY + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_SetearElSoporte_DBF_Como_2_CuandoExistaElArhivo_foxbin2prg_cfg_EnDirectorioPadre + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ; + , loFB2P 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 = THIS.ioFB2P + loFB2P.l_ShowErrors = .F. + loFB2P.c_Foxbin2prg_ConfigFile = FULLPATH( 'foxbin2prg.cfg', ADDBS(oFXU_LIB.cPathDatosTest) + '..\' ) + STRTOFILE( 'DBF_Conversion_Support:2', loFB2P.c_Foxbin2prg_ConfigFile ) + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'DBF_Conversion_Support:' + leValorEsperado = 2 + + + *-- TEST + loFB2P.EvaluarConfiguracion() + leValor = loFB2P.DBF_Conversion_Support + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ) + ERASE (loFB2P.c_Foxbin2prg_ConfigFile) + + ENDTRY + + ENDFUNC + + ******************************************************************************************************************************************* FUNCTION Deberia_SetearElSoporte_DBF_Como_1_CuandoNoExistaElArhivo_foxbin2prg_cfg LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ; @@ -2419,7 +2498,6 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.l_AllowMultiConfig = .T. loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE( 'LBX_Conversion_Support: 1', lcCFG_File ) @@ -2480,7 +2558,6 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.l_AllowMultiConfig = .T. loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', ADDBS(oFXU_LIB.cPathDatosTest) + 'noexiste' ) loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) @@ -2546,7 +2623,6 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.l_AllowMultiConfig = .T. lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) STRTOFILE( 'LBX_Conversion_Support: 1', lcCFG_File ) @@ -2561,16 +2637,86 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() && Carga config.Principal + *loFB2P.EvaluarConfiguracion() && Carga config.Principal + *-- c:\desa\foxbin2prg\foxbin2prg.cfg loFB2P.c_InputFile = loFB2P.c_Foxbin2prg_ConfigFile loFB2P.EvaluarConfiguracion() && Carga config.secundaria laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() + *-- c:\desa\foxbin2prg\tests\datos_test\foxbin2prg.cfg + loFB2P.c_InputFile = FORCEPATH( 'test.vcx', ADDBS(oFXU_LIB.cPathDatosTest) + '..\otro' ) + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() + + *-- c:\desa\foxbin2prg\tests\datos_test\otro\foxbin2prg.cfg + loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() + + leValor = loFB2P.LBX_Conversion_Support + + + + CATCH TO loEx + + FINALLY + THIS.Evaluate_results( loEx, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor ) + + THIS.messageout( 'Configuración Principal: ' + loFB2P.c_Foxbin2prg_ConfigFile ) + THIS.messageout( 'Configuración Secundaria: ' + lcCFG_File ) + + FOR I = 1 TO ALEN(laCFG_CachedAccess_Esperado) + THIS.messageout( 'Configuración cacheada en acceso ' + TRANSFORM(I) + ' esperada: ' + TRANSFORM( laCFG_CachedAccess_Esperado(I) ) ) + THIS.assertequals( laCFG_CachedAccess_Esperado(I), laCFG_CachedAccess(I), 'CONFIGURACIÓN CACHEADA EN ACCESO ' + TRANSFORM(I) ) + ENDFOR + + ENDTRY + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_SetearElSoporte_LBX_Como_0_CuandoExista_CFG_Secundario_EnElDirEvaluado_Y_UsarValorCacheadoEnSegundoAcceso + LOCAL lnCodError, lnCodError_Esperado, lcSeteo, leValorEsperado, leValor, lcCFG_File ; + , laCFG_CachedAccess(3), laCFG_CachedAccess_Esperado(3), I ; + , loFB2P 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 = THIS.ioFB2P + loFB2P.l_ShowErrors = .F. + lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) + STRTOFILE( 'LBX_Conversion_Support: 1', lcCFG_File ) + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError + lcSeteo = 'LBX_Conversion_Support:' + leValorEsperado = 1 + laCFG_CachedAccess_Esperado(1) = .T. + laCFG_CachedAccess_Esperado(2) = .T. + laCFG_CachedAccess_Esperado(3) = .T. + + + *-- TEST + *loFB2P.EvaluarConfiguracion() && Carga config.Principal + + *-- c:\desa\foxbin2prg\foxbin2prg.cfg + loFB2P.c_InputFile = loFB2P.c_Foxbin2prg_ConfigFile + loFB2P.EvaluarConfiguracion() && Carga config.secundaria + laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() + + *-- c:\desa\foxbin2prg\tests\datos_test\otro\foxbin2prg.cfg loFB2P.c_InputFile = FORCEPATH( 'test.vcx', ADDBS(oFXU_LIB.cPathDatosTest) + 'otro' ) loFB2P.EvaluarConfiguracion() && Carga config.secundaria laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() + *-- c:\desa\foxbin2prg\tests\datos_test\foxbin2prg.cfg (DEBE CACHEAR DE CUANDO PROCESÓ EL ANTERIOR) loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) loFB2P.EvaluarConfiguracion() && Carga config.secundaria laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() @@ -2611,7 +2757,6 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O loEx = NULL loFB2P = THIS.ioFB2P loFB2P.l_ShowErrors = .F. - loFB2P.l_AllowMultiConfig = .T. *loFB2P.c_Foxbin2prg_ConfigFile = FORCEPATH( 'foxbin2prg.cfg', ADDBS(oFXU_LIB.cPathDatosTest) + 'noexiste' ) *loFB2P.c_InputFile = FORCEPATH( 'test.vcx', oFXU_LIB.cPathDatosTest ) lcCFG_File = FORCEPATH( 'foxbin2prg.cfg', oFXU_LIB.cPathDatosTest ) @@ -2628,18 +2773,21 @@ DEFINE CLASS ut__foxbin2prg__c_foxbin2prg__EvaluarConfiguracion AS FxuTestCase O *-- TEST - loFB2P.EvaluarConfiguracion() && Carga config.Principal + *loFB2P.EvaluarConfiguracion() && Carga config.Principal *loFB2P.c_InputFile = loFB2P.c_Foxbin2prg_ConfigFile - loFB2P.c_InputFile = FORCEPATH( 'test1.vcx', ADDBS(oFXU_LIB.cPathDatosTest) + 'otro' ) + *-- c:\desa\foxbin2prg\foxbin2prg.cfg + loFB2P.c_InputFile = FORCEPATH( 'test1.vcx', loFB2P.c_Foxbin2prg_ConfigFile ) loFB2P.EvaluarConfiguracion() && Carga config.secundaria laCFG_CachedAccess(1) = loFB2P.get_l_CFG_CachedAccess() + *-- c:\desa\foxbin2prg\tests\datos_test\foxbin2prg.cfg loFB2P.c_InputFile = FORCEPATH( 'test2.vcx', oFXU_LIB.cPathDatosTest ) loFB2P.EvaluarConfiguracion() && Carga config.secundaria laCFG_CachedAccess(2) = loFB2P.get_l_CFG_CachedAccess() + *-- c:\desa\foxbin2prg\tests\datos_test\foxbin2prg.cfg loFB2P.c_InputFile = FORCEPATH( 'test3.vcx', oFXU_LIB.cPathDatosTest ) loFB2P.EvaluarConfiguracion() && Carga config.secundaria laCFG_CachedAccess(3) = loFB2P.get_l_CFG_CachedAccess() diff --git a/foxbin2prg.prg b/foxbin2prg.prg index 655b0a0..953cdf2 100644 --- a/foxbin2prg.prg +++ b/foxbin2prg.prg @@ -1578,16 +1578,16 @@ DEFINE CLASS c_foxbin2prg AS SESSION IF .l_Main_CFG_Loaded AND NOT EMPTY(tc_InputFile) AND NOT tcInputFile_Type == C_FILETYPE_QUERYSUPPORT THEN IF tcInputFile_Type == C_FILETYPE_DIRECTORY THEN - lcConfigFile = FORCEPATH( 'foxbin2prg.cfg', tc_InputFile ) + lcConfigFile = FULLPATH( 'foxbin2prg.cfg', ADDBS(tc_InputFile) ) ELSE - lcConfigFile = FORCEPATH( 'foxbin2prg.cfg', JUSTPATH(tc_InputFile) ) + lcConfigFile = FULLPATH( 'foxbin2prg.cfg', tc_InputFile ) ENDIF ENDIF lo_Configuration = .o_Configuration .n_CFG_Actual = 0 .l_CFG_CachedAccess = .F. - lc_CFG_Path = UPPER( JUSTPATH( lcConfigFile ) ) + lc_CFG_Path = UPPER( JUSTPATH( FULLPATH( lcConfigFile ) ) ) lo_CFG = THIS *-- Búsqueda del CFG del PATH indicado en la caché