diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_commandgroup.vc2 b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_commandgroup.vc2 new file mode 100644 index 0000000..5e083e2 --- /dev/null +++ b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_commandgroup.vc2 @@ -0,0 +1,34 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_classperfile_text.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +DEFINE CLASS cl_commandgroup AS commandgroup && Descripción de cl_CommandGroup + *< CLASSDATA: Baseclass="commandgroup" Timestamp="" Scale="Pixels" Uniqueid="" /> + + #INCLUDE "..\..\include\principal.h" + * + *p: una_prop_cmgroup && Con comentario, pero sin valor + * + + ButtonCount = 2 + Height = 66 + Name = "cl_commandgroup" + una_prop_cmgroup = .F. && Con comentario, pero sin valor + Value = 1 + Width = 94 + Command1.Caption = "Command1" + Command1.Height = 27 + Command1.Left = 5 + Command1.Name = "Command1" + Command1.Top = 5 + Command1.Width = 84 + Command2.Caption = "Command2" + Command2.Height = 27 + Command2.Left = 5 + Command2.Name = "Command2" + Command2.Top = 34 + Command2.Width = 84 + +ENDDEFINE diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_form.vc2 b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_form.vc2 new file mode 100644 index 0000000..650a9f1 --- /dev/null +++ b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_form.vc2 @@ -0,0 +1,121 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_classperfile_text.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +DEFINE CLASS cl_form AS form OLEPUBLIC && mi OLE server DLL + *< CLASSDATA: Baseclass="form" Timestamp="" Scale="Pixels" Uniqueid="" ProjectClassIcon="bmps\container.ico" ClassIcon="bmps\container.ico" /> + + *-- OBJECTDATA items order determines ZOrder / El orden de los items OBJECTDATA determina el ZOrder + *< OBJECTDATA: ObjPath="Cl_optiongroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cl_commandgroup1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cl_imagen1" UniqueID="" Timestamp="" /> + *< OBJECTDATA: ObjPath="Cl_imagen2" UniqueID="" Timestamp="" /> + + * + *p: chidden && Prop.Hidden + *p: cprotected && Prop.Protegida + *a: ahidden[1,0] && Array Oculto + *a: aprotected[1,0] && Array Protegido + *p: _memberdata && XML Metadata for customizable properties + * + + HIDDEN ahidden,chidden + PROTECTED aprotected,cprotected + Caption = "Form" + chidden = && Prop.Hidden + cprotected = && Prop.Protegida + DoCreate = .T. + Height = 345 + Left = 0 + Name = "cl_form" + Picture = bmps\scccheckout.bmp + Top = 0 + Width = 570 + _memberdata = + + + + + && XML Metadata for customizable properties + + ADD OBJECT 'Cl_commandgroup1' AS cl_commandgroup WITH ; + BackColor = 255,128,192, ; + Height = 66, ; + Left = 8, ; + Name = "Cl_commandgroup1", ; + Top = 88, ; + Width = 244, ; + Command1.Caption = "Abrir", ; + Command1.Height = 52, ; + Command1.Left = 8, ; + Command1.Name = "Command1", ; + Command1.Picture = bmps\carpetaabierta.bmp, ; + Command1.Top = 4, ; + Command1.Width = 104, ; + Command2.Caption = "Cerrar", ; + Command2.Height = 52, ; + Command2.Left = 124, ; + Command2.Name = "Command2", ; + Command2.Picture = bmps\carpetacerrada.bmp, ; + Command2.Top = 4, ; + Command2.Width = 104 + *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="commandgroup" /> + + ADD OBJECT 'Cl_imagen1' AS cl_imagen WITH ; + Height = 34, ; + Left = 452, ; + Name = "Cl_imagen1", ; + Picture = bmps\sobrepostal.bmp, ; + Stretch = 1, ; + Top = 276, ; + Width = 38 + *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" /> + + ADD OBJECT 'Cl_imagen2' AS cl_imagen WITH ; + Height = 34, ; + Left = 500, ; + Name = "Cl_imagen2", ; + Picture = bmps\treeview.bmp, ; + Stretch = 1, ; + Top = 276, ; + Width = 38 + *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="image" /> + + ADD OBJECT 'Cl_optiongroup1' AS cl_optiongroup WITH ; + BackColor = 0,128,255, ; + Height = 68, ; + Left = 8, ; + Name = "Cl_optiongroup1", ; + Top = 12, ; + Width = 244, ; + Option1.Height = 52, ; + Option1.Left = 8, ; + Option1.Name = "Option1", ; + Option1.Picture = bmps\scccheckout.bmp, ; + Option1.Style = 1, ; + Option1.Top = 8, ; + Option1.Width = 104, ; + Option2.Height = 52, ; + Option2.Left = 124, ; + Option2.Name = "Option2", ; + Option2.Picture = bmps\scccheckout.bmp, ; + Option2.Style = 1, ; + Option2.Top = 8, ; + Option2.Width = 104 + *< END OBJECT: ClassLib="fb2p_test.vcx" BaseClass="optiongroup" /> + + PROCEDURE Cl_optiongroup1.Init + *-- Prueba para comprobar que respeta espacios y TABS del código + TEXT TO xx + * TAB a la izquierda del asterisco + * 2 TAB a la izquierda del asterisco + * 1 ESPACIO a la izquierda del asterisco + * 2 ESPACIOS a la izquierda del asterisco + 1 TAB a la derecha del asterisco * + 1 ESPACIO a la derecha del asterisco * + ENDTEXT && Esto termina sin ENTER + ENDPROC + +ENDDEFINE diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_imagen.vc2 b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_imagen.vc2 new file mode 100644 index 0000000..5947af3 --- /dev/null +++ b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_imagen.vc2 @@ -0,0 +1,23 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_classperfile_text.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +DEFINE CLASS cl_imagen AS image OLEPUBLIC && otro ole + *< CLASSDATA: Baseclass="image" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: un_metodo_de_clase && Para testear si el código se va a la clase cl_form + * + + Height = 16 + Name = "cl_imagen" + Picture = bmps\sobrepostal.bmp + Width = 17 + + PROCEDURE un_metodo_de_clase && Para testear si el código se va a la clase cl_form + * ESTE CODIGO ES DE "cl_imagen::un_metodo_de_clase" + ENDPROC + +ENDDEFINE diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_olebound.vc2 b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_olebound.vc2 new file mode 100644 index 0000000..3a4bd63 --- /dev/null +++ b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_olebound.vc2 @@ -0,0 +1,14 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_classperfile_text.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +DEFINE CLASS cl_olebound AS oleboundcontrol + *< CLASSDATA: Baseclass="oleboundcontrol" Timestamp="" Scale="Pixels" Uniqueid="" /> + + Height = 100 + Name = "cl_olebound" + Width = 100 + +ENDDEFINE diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_olecontrol.vc2 b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_olecontrol.vc2 new file mode 100644 index 0000000..57fd5f8 --- /dev/null +++ b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_olecontrol.vc2 @@ -0,0 +1,14 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_classperfile_text.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +DEFINE CLASS cl_olecontrol AS olecontrol + *< CLASSDATA: Baseclass="olecontrol" Timestamp="" Scale="Pixels" Uniqueid="" Nombre="cl_olecontrol" Parent="" ObjName="cl_olecontrol" OLEObject="C:\Windows\system32\richtx32.ocx" Value="0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAAEAAAAgAAAAEAAAD+////AAAAAAAAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9/////v////7////+/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1IAbwBvAHQAIABFAG4AdAByAHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWAAUA//////////8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCpJ18M8c8BAwAAAAACAAAAAAAAAwBPAGwAZQBPAGIAagBlAGMAdABEAGEAdABhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB4AAgEDAAAAAgAAAP////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAAAAAAADAEEAYwBjAGUAcwBzAE8AYgBqAFMAaQB0AGUARABhAHQAYQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJgACAP///////////////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAABPAAAAAAAAAAMAQwBoAGEAbgBnAGUAZABQAHIAbwBwAHMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcAAIA////////////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAEoAAAAAAAAABAAAAAIAAAD+////BQAAAAYAAAD+////BwAAAP7///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////9giHw7j9cbELm1BAIcAJQCIUM0EggAAACKDQAA7QYAACFDNBIBAAYArAAAAAAA//8AAP//AQAAAAAAAAAAAAAATwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABcAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgcWhqIFp0dVFoYTtqZGZuW2lhZXRyIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAACADAAAAFJpZ2h0TWFyZ2luABEAAABODQAAAAcAAAAAAAAAAAAAAAUAAABUZXh0ABQAAABIAAAAAAsAAABPAAAAAAUAAIAAAAAAAAABAAAAAQABAAIACAAAAHtccnRmMVxhbnNpXGFuc2ljcGcxMjUyXGRlZmYwe1xmb250dGxlY29udHJvbDEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABibHtcZjBcZm5pbFxmY2hhcnNldDAgQXJpYWw7fX0NClx2aWV3a2luZDRcdWMxXHBhcmRcbGFuZzMwODJcZnMxOCBPbGVjb250cm9sMQ0KXHBhciB9DQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==" /> + + Height = 67 + Name = "cl_olecontrol" + Width = 131 + +ENDDEFINE diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_optiongroup.vc2 b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_optiongroup.vc2 new file mode 100644 index 0000000..f7b6562 --- /dev/null +++ b/TESTS/DATOS_READONLY/fb2p_classperfile_text.cl_optiongroup.vc2 @@ -0,0 +1,51 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_classperfile_text.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +DEFINE CLASS cl_optiongroup AS optiongroup && descripcion + *< CLASSDATA: Baseclass="optiongroup" Timestamp="" Scale="Pixels" Uniqueid="" /> + + * + *m: propiedad_de_clase_con_valor_access + *m: propiedad_de_clase_con_valor_assign + *p: propiedad_de_clase_con_valor && Tiene un valor por defecto + *p: propiedad_de_clase_sin_valor && Una propiedad sin valor para heredar + * + + ButtonCount = 2 + Height = 46 + Name = "cl_optiongroup" + propiedad_de_clase_con_valor = UN VALOR DE LA CLASE && Tiene un valor por defecto + propiedad_de_clase_sin_valor = .F. && Una propiedad sin valor para heredar + Value = 1 + Width = 71 + Option1.Caption = "Option1" + Option1.Height = 17 + Option1.Left = 5 + Option1.Name = "Option1" + Option1.Top = 5 + Option1.Value = 1 + Option1.Width = 61 + Option2.Caption = "Option2" + Option2.Height = 17 + Option2.Left = 5 + Option2.Name = "Option2" + Option2.Top = 24 + Option2.Width = 61 + + PROCEDURE propiedad_de_clase_con_valor_access + *To do: Modify this routine for the Access method + RETURN THIS.propiedad_de_clase_con_valor + + ENDPROC + + PROCEDURE propiedad_de_clase_con_valor_assign + LPARAMETERS vNewVal + *To do: Modify this routine for the Assign method + THIS.propiedad_de_clase_con_valor = m.vNewVal + + ENDPROC + +ENDDEFINE diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.proj_hook.vc2 b/TESTS/DATOS_READONLY/fb2p_classperfile_text.proj_hook.vc2 new file mode 100644 index 0000000..84d9a31 --- /dev/null +++ b/TESTS/DATOS_READONLY/fb2p_classperfile_text.proj_hook.vc2 @@ -0,0 +1,14 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_classperfile_text.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +DEFINE CLASS proj_hook AS projecthook + *< CLASSDATA: Baseclass="projecthook" Timestamp="" Scale="Pixels" Uniqueid="" /> + + Height = 22 + Name = "proj_hook" + Width = 23 + +ENDDEFINE diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.vc2 b/TESTS/DATOS_READONLY/fb2p_classperfile_text.vc2 new file mode 100644 index 0000000..a5f8752 --- /dev/null +++ b/TESTS/DATOS_READONLY/fb2p_classperfile_text.vc2 @@ -0,0 +1,18 @@ +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +* (ES) AUTOGENERADO - ¡¡ATENCIÓN!! - ¡¡NO PENSADO PARA EJECUTAR!! USAR SOLAMENTE PARA INTEGRAR CAMBIOS Y ALMACENAR CON HERRAMIENTAS SCM!! +* (EN) AUTOGENERATED - ATTENTION!! - NOT INTENDED FOR EXECUTION!! USE ONLY FOR MERGING CHANGES AND STORING WITH SCM TOOLS!! +*-------------------------------------------------------------------------------------------------------------------------------------------------------- +*< FOXBIN2PRG: Version="1.19" SourceFile="fb2p_classperfile_text.vcx" /> (Solo para binarios VFP 9 / Only for VFP 9 binaries) +* +*-- EXTERNAL_CLASS identify external member Class names / EXTERNAL_CLASS identifica los nombres de las Clases externas +*< EXTERNAL_CLASS: Name="cl_commandgroup" Baseclass="commandgroup" /> +*< EXTERNAL_CLASS: Name="cl_form" Baseclass="form" /> +*< EXTERNAL_CLASS: Name="cl_imagen" Baseclass="image" /> +*< EXTERNAL_CLASS: Name="cl_olebound" Baseclass="oleboundcontrol" /> +*< EXTERNAL_CLASS: Name="cl_olecontrol" Baseclass="olecontrol" /> +*< EXTERNAL_CLASS: Name="cl_optiongroup" Baseclass="optiongroup" /> +*< EXTERNAL_CLASS: Name="proj_hook" Baseclass="projecthook" /> + +* +*< LIBCOMMENT: Comentario principal de "fb2p_test.vcx" /> +* \ No newline at end of file diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.vct b/TESTS/DATOS_READONLY/fb2p_classperfile_text.vct new file mode 100644 index 0000000..30bcaa6 Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_classperfile_text.vct differ diff --git a/TESTS/DATOS_READONLY/fb2p_classperfile_text.vcx b/TESTS/DATOS_READONLY/fb2p_classperfile_text.vcx new file mode 100644 index 0000000..aa7fd97 Binary files /dev/null and b/TESTS/DATOS_READONLY/fb2p_classperfile_text.vcx differ diff --git a/TESTS/ut__foxbin2prg.prg b/TESTS/ut__foxbin2prg.prg index 7e87011..d446bd2 100644 --- a/TESTS/ut__foxbin2prg.prg +++ b/TESTS/ut__foxbin2prg.prg @@ -1709,6 +1709,119 @@ DEFINE CLASS ut__foxbin2prg AS FxuTestCase OF FxuTestCase.prg ENDFUNC + ******************************************************************************************************************************************* + FUNCTION Evaluate_TX2_Output_Test_from_ClassPerFile_VCX + LPARAMETERS tcFileName + + IF PCOUNT() = 0 + THIS.messageout( "* Support method, not a valid test." ) + RETURN .T. + ENDIF + + LOCAL lnCodError, lnCodError_Esperado ; + , lc_File, lc_OutputFile, lc_OutputFileTx2, lc_OutputFileTx2s, lc_OutputFileBak, lcExt2, lcCFG, laFiles(1,5) ; + , 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 + TEXT TO lcCFG TEXTMERGE NOSHOW FLAGS 1+2 PRETEXT 1+2+4 + UseClassPerFile:1 + RedirectClassPerFileToMain:1 + ClassPerFileCheck:1 + ENDTEXT + STRTOFILE(lcCFG, FORCEPATH('foxbin2prg.cfg', oFXU_LIB.cPathDatosTest)) + loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG", "", 'TESTS\DATOS_TEST\foxbin2prg.cfg') + *loCnv = NEWOBJECT("c_foxbin2prg", "FOXBIN2PRG.PRG") + *loCnv.evaluateConfiguration( '1', '1', '1', '0', '1', '4', '1', '0' ) + *loCnv.l_Test = .T. + + + *-- DATOS DE ENTRADA + STORE 0 TO lnCodError, lnCodError_Esperado + + *-- Copio la librería en DATOS_TEST + lc_File = UPPER(tcFileName) + lcExt2 = loCnv.Get_Ext2FromExt( JUSTEXT( tcFileName ) ) + lc_OutputFile = FORCEPATH( lc_File, oFXU_LIB.cPathDatosTest ) + lc_OutputFileTx2 = FORCEPATH( FORCEEXT( lc_File, lcExt2 ), oFXU_LIB.cPathDatosTest ) + lc_OutputFileTx2s = FORCEPATH( JUSTSTEM(lc_File) + '*.' + lcExt2, oFXU_LIB.cPathDatosTest ) + lc_OutputFileBak = lc_OutputFileTx2 + '.bak' + + * Copio los .??2 + *oFXU_LIB.copiarArchivosParaTest( lc_OutputFileTx2s ) + FOR I = 1 TO ADIR(laFiles, FORCEPATH(lc_OutputFileTx2s, oFXU_LIB.cPathDatosReadOnly)) + COPY FILE (FORCEPATH( laFiles(I,1), oFXU_LIB.cPathDatosReadOnly )) TO (FORCEPATH( laFiles(I,1), oFXU_LIB.cPathDatosTest )) + ENDFOR + + * Creo los .??2.BAK correspondientes + FOR I = 1 TO ADIR(laFiles, lc_OutputFileTx2s) + COPY FILE (FORCEPATH( laFiles(I,1), oFXU_LIB.cPathDatosTest )) TO (FORCEPATH( laFiles(I,1) + '.bak', oFXU_LIB.cPathDatosTest )) + ENDFOR + + *-- Genero TX2 + *loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + + *-- Genero BIN + loCnv.execute( lc_OutputFileTx2, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + + *-- Genero TX2 + loCnv.execute( lc_OutputFile, .F., .F., .F., '1', '0', '1', '', '', .T., '', SYS(5)+CURDIR() ) + + *-- Comparo resultados + THIS.messageout( "Se compara el archivo de texto generado con el original luego de 2 regeneraciones, para saber si hay cambios" ) + *THIS.messageout( "OutputFileTx2 = " + lc_OutputFileTx2 ) + *THIS.messageout( "OutputFileBak = " + lc_OutputFileBak ) + *THIS.asserttrue( FILETOSTR( lc_OutputFileTx2 ) == FILETOSTR( lc_OutputFileBak ), "COMPARACIÓN DE ARCHIVOS TX2" ) + + FOR I = 1 TO ALEN(laFiles, 1) + THIS.messageout( "--------------------" ) + THIS.messageout( "OutputFileTx2 = " + laFiles(I,1) ) + THIS.messageout( "OutputFileBak = " + laFiles(I,1) + '.bak' ) + THIS.asserttrue( FILETOSTR( FORCEPATH( laFiles(I,1), oFXU_LIB.cPathDatosTest ) ) == FILETOSTR( FORCEPATH( laFiles(I,1) + '.bak', oFXU_LIB.cPathDatosTest ) ), "COMPARACIÓN DE ARCHIVOS TX2" ) + ENDFOR + + + 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 + RELEASE loCnv, loCtl + ENDTRY + + ENDFUNC + + + ******************************************************************************************************************************************* + FUNCTION Deberia_Ejecutar_FOXBIN2PRG_Para_generar_un__VCX__con_ClassPerFile_ValidarEl_VC2_GeneradoConElOriginal_Y_NoEncontrarDiferencias + 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 + + PUBLIC goFXU AS ut__foxbin2prg OF ut__foxbin2prg.prg + goFXU = THIS + loEx = NULL + + *-- Comparo resultados + THIS.Evaluate_TX2_Output_Test_from_ClassPerFile_VCX( 'fb2p_classperfile_text.vcx' ) + + ENDFUNC + + ENDDEFINE