Changeset: 297 fdbozzo - 15/06/2014 17:49:45:

This commit is contained in:
fdbozzo
2014-06-15 17:50:08 +02:00
3 changed files with 146 additions and 4 deletions

View File

@@ -21,6 +21,8 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
icObj = NULL
nMouseX = 0
nMouseY = 0
run_AfterCreate_DB2__Ejecutado = .F.
run_AfterCreateTable__Ejecutado = .F.
*******************************************************************************************************************************************
@@ -1415,4 +1417,131 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_CrearUnArchivo_DB2_DesdeUn_DBF_Y_EjecutarElMetodo__run_AfterCreate_DB2
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lcFileName, lc_OutputFile, lc_OutputFileTx2, lc_OutputFileBak, lcExt2 ;
, 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
PUBLIC goFXU AS ut__foxbin2prg OF ut__foxbin2prg.prg
goFXU = THIS
loEx = NULL
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
loCnv.EvaluarConfiguracion( '', '1', '1', '1', '1', '4', '1', '0' )
*loCnv.l_Test = .T.
loCnv.run_AfterCreate_DB2 = 'run_AfterCreate_DB2__Ejecutado'
THIS.run_AfterCreate_DB2__Ejecutado = .F.
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError, lnCodError_Esperado
*-- Copio la librer<65>a en DATOS_TEST
lcFileName = FORCEPATH( 'FB2P_FREE.DBF', oFXU_LIB.cPathDatosReadOnly )
lc_File = UPPER(lcFileName)
lcExt2 = loCnv.Get_Ext2FromExt( JUSTEXT( lcFileName ) )
lc_OutputFile = FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest )
lc_OutputFileTx2 = FORCEEXT( FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest ), lcExt2 )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, '*' ) )
*-- Genero TX2
loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
*-- Comparo resultados
THIS.messageout( "Respuesta esperada = .T." )
THIS.asserttrue( THIS.run_AfterCreate_DB2__Ejecutado, "RESPUESTA DE run_AfterCreate_DB2__Ejecutado" )
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
FINALLY
* USE IN (SELECT("ARCHIVOBIN_IN"))
* USE IN (SELECT("TABLABIN"))
STORE NULL TO loCnv, loCtl, goFXU
RELEASE loCnv, loCtl, goFXU
ENDTRY
ENDFUNC
*******************************************************************************************************************************************
FUNCTION Deberia_CrearUnArchivo_DBF_DesdeUn_DB2_Y_EjecutarElMetodo__run_AfterCreateTable
LOCAL lnCodError, lnCodError_Esperado ;
, lc_File, lcFileName, lc_OutputFile, lc_OutputFileTx2, lc_OutputFileBak, lcExt2 ;
, 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
PUBLIC goFXU AS ut__foxbin2prg OF ut__foxbin2prg.prg
goFXU = THIS
loEx = NULL
loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG")
loCnv.EvaluarConfiguracion( '', '1', '1', '1', '1', '4', '1', '0' )
*loCnv.l_Test = .T.
loCnv.DBF_Conversion_Support = 2
loCnv.run_AfterCreateTable = 'run_AfterCreateTable__Ejecutado'
THIS.run_AfterCreateTable__Ejecutado = .F.
*-- DATOS DE ENTRADA
STORE 0 TO lnCodError, lnCodError_Esperado
*-- Copio la librer<65>a en DATOS_TEST
lcFileName = FORCEPATH( 'FB2P_FREE.DB2', oFXU_LIB.cPathDatosReadOnly )
lc_File = UPPER(lcFileName)
lcExt2 = loCnv.Get_Ext2FromExt( JUSTEXT( lcFileName ) )
lc_OutputFile = FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest )
lc_OutputFileTx2 = FORCEEXT( FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest ), lcExt2 )
oFXU_LIB.copiarArchivosParaTest( FORCEEXT( lc_File, '*' ) )
*-- Genero TX2
loCnv.Ejecutar( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() )
*-- Comparo resultados
THIS.messageout( "Respuesta esperada = .T." )
THIS.asserttrue( THIS.run_AfterCreateTable__Ejecutado, "RESPUESTA DE run_AfterCreateTable__Ejecutado" )
CATCH TO loEx
THIS.Evaluate_results( loEx, lnCodError_Esperado, lc_OutputFile, lcParent, lcClass, lcObjName, loReg_Esperado )
FINALLY
* USE IN (SELECT("ARCHIVOBIN_IN"))
* USE IN (SELECT("TABLABIN"))
STORE NULL TO loCnv, loCtl, goFXU
RELEASE loCnv, loCtl, goFXU
ENDTRY
ENDFUNC
ENDDEFINE
PROCEDURE run_AfterCreate_DB2__Ejecutado
LPARAMETERS tnDataSession, tcOutputFile, toTable
goFXU.run_AfterCreate_DB2__Ejecutado = .T.
ENDPROC
PROCEDURE run_AfterCreateTable__Ejecutado
LPARAMETERS tnDataSession, tcOutputFile, toTable
goFXU.run_AfterCreateTable__Ejecutado = .T.
ENDPROC

Binary file not shown.

View File

@@ -433,6 +433,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
+ [<memberdata name="get_program_header" display="get_PROGRAM_HEADER"/>] ;
+ [<memberdata name="getnext_bak" display="getNext_BAK"/>] ;
+ [<memberdata name="run_aftercreatetable" display="run_AfterCreateTable"/>] ;
+ [<memberdata name="run_aftercreate_db2" display="run_AfterCreate_DB2"/>] ;
+ [<memberdata name="lfilemode" display="lFileMode"/>] ;
+ [<memberdata name="l_clearuniqueid" display="l_ClearUniqueID"/>] ;
+ [<memberdata name="l_configevaluated" display="l_ConfigEvaluated"/>] ;
@@ -505,6 +506,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
o_Frm_Avance = NULL
o_FSO = NULL
run_AfterCreateTable = ''
run_AfterCreate_DB2 = ''
c_VC2 = 'VC2' && VCX
c_SC2 = 'SC2' && SCX
c_PJ2 = 'PJ2' && PJX
@@ -2413,8 +2415,8 @@ DEFINE CLASS c_conversor_base AS SESSION
lnResto = lnResto % 2**5
lnSeconds = lnResto
lcTimeStamp = STR(lnYear,4) + "/" + STR(lnMonth,2) + "/" + STR(lnDay,2) + " " ;
+ STR(lnHour,2) + ":" + STR(lnMinutes,2) + ":" + STR(lnSeconds,2)
lcTimeStamp = PADL(lnYear,4,'0') + "/" + PADL(lnMonth,2,'0') + "/" + PADL(lnDay,2,'0') + " " ;
+ PADL(lnHour,2,'0') + ":" + PADL(lnMinutes,2,'0') + ":" + PADL(lnSeconds,2,'0')
ltTimeStamp = EVALUATE( "{^" + lcTimeStamp + "}" )
@@ -7196,6 +7198,7 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
lcCreateTable = lcCreateTable + SUBSTR(lcFieldDef,3) + ')'
&lcCreateTable.
*-- Hook para permitir ejecuci<63>n externa (por ejemplo, para rellenar la tabla con datos)
IF NOT EMPTY(toFoxBin2Prg.run_AfterCreateTable)
lnSelect = SELECT()
DO (toFoxBin2Prg.run_AfterCreateTable) WITH (lnDataSessionID), (.c_OutputFile), (toTable)
@@ -10708,7 +10711,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
TRY
LOCAL lnCodError, laDatabases(1), lnDatabases_Count, laDatabases2(1), lnLen, lc_FileTypeDesc ;
, ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name ;
, ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, lnDataSessionID, lnSelect ;
, loTable AS CL_DBF_TABLE OF 'FOXBIN2PRG.PRG' ;
, loDBFUtils AS CL_DBF_UTILS OF 'FOXBIN2PRG.PRG'
STORE NULL TO loTable, loDBFUtils
@@ -10721,6 +10724,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
lnDatabases_Count = ADATABASES(laDatabases)
USE (.c_InputFile) SHARED AGAIN NOUPDATE ALIAS TABLABIN
lnDataSessionID = .DATASESSIONID
C_FB2PRG_CODE = C_FB2PRG_CODE + toFoxBin2Prg.get_PROGRAM_HEADER()
@@ -10745,6 +10749,15 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
ERROR (TEXTMERGE(C_CANT_GENERATE_FILE_BECAUSE_IT_IS_READONLY_LOC))
ENDCASE
ENDIF
*-- Hook para permitir ejecuci<63>n externa (por ejemplo, para exportar datos)
IF NOT EMPTY(toFoxBin2Prg.run_AfterCreate_DB2)
lnSelect = SELECT()
DO (toFoxBin2Prg.run_AfterCreate_DB2) WITH (lnDataSessionID), (.c_OutputFile), (loTable)
SET DATASESSION TO (lnDataSessionID) && Por las dudas externamente se cambie
SELECT (lnSelect)
ENDIF
ENDWITH && THIS
@@ -10788,7 +10801,7 @@ DEFINE CLASS c_conversor_dbf_a_prg AS c_conversor_bin_a_prg
STORE NULL TO loTable, loDBFUtils
RELEASE lnCodError, laDatabases, lnDatabases_Count, laDatabases2, lnLen, lc_FileTypeDesc ;
, ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name ;
, ln_HexFileType, ll_FileHasCDX, ll_FileHasMemo, ll_FileIsDBC, lc_DBC_Name, lnDataSessionID, lnSelect ;
, loTable, loDBFUtils
ENDTRY