object = new IgepSmarty; } /** * Tears down the fixture, for example, closes a network connection. * This method is called after a test is executed. * * @access protected */ protected function tearDown() { } public function testIgepSmarty() { $this->assertEquals($this->object->preScript,'','inicializacion'); } public function testInicioVentana() { $this->object->inicioVentana(); $res =<<assertEquals($this->object->preScript,$res,'inicializacion'); } public function testAddPreScript() { $this->assertEquals($this->object->preScript,""); $this->object->addPreScript('x'); $this->assertEquals($this->object->preScript,"x\n"); $this->object->addPreScript('y'); $this->assertEquals($this->object->preScript,"x\ny\n"); } public function testGetPreScript() { $this->assertEquals($this->object->getPreScript(),""); $this->assertEquals($this->object->getPreScript(true),""); $this->assertEquals($this->object->getPreScript(false),""); $this->object->addPreScript('x'); $this->assertEquals($this->object->getPreScript(),"\n"); $this->assertEquals($this->object->getPreScript(true),"\n"); $this->assertEquals($this->object->getPreScript(false),"x\n"); } public function testAddPostScript() { $this->assertEquals($this->object->postScript,""); $this->object->addPostScript('x'); $this->assertEquals($this->object->postScript,"x\n"); $this->object->addPostScript('y'); $this->assertEquals($this->object->postScript,"x\ny\n"); } public function testGetPostScript() { $this->assertEquals($this->object->getPostScript(),""); $this->assertEquals($this->object->getPostScript(true),""); $this->assertEquals($this->object->getPostScript(false),""); $this->object->addPostScript('x'); $this->assertEquals($this->object->getPostScript(),"\n"); $this->assertEquals($this->object->getPostScript(true),"\n"); $this->assertEquals($this->object->getPostScript(false),"x\n"); } public function testAddScriptLoad() { $this->assertNull($this->object->scriptLoadIgep); $this->object->addScriptLoad('x'); $this->assertEquals($this->object->scriptLoadIgep,"x"); $this->object->addScriptLoad('x','IGEP'); $this->assertEquals($this->object->scriptLoadIgep,"xx"); $this->object->addScriptLoad('x','loquesea'); $this->assertEquals($this->object->scriptLoadIgep,"xxx"); $this->assertNull($this->object->scriptLoadUsuario); $this->object->addScriptLoad('y','USUARIO'); $this->assertEquals($this->object->scriptLoadUsuario,"y"); $this->object->addScriptLoad('y','USUARIO'); $this->assertEquals($this->object->scriptLoadUsuario,"yy"); } /** * script igep */ public function testGetScriptLoad01() { $this->assertEquals($this->object->getScriptLoad(),""); $this->assertEquals($this->object->getScriptLoad(true),""); $this->assertEquals($this->object->getScriptLoad(false),""); $this->object->addScriptLoad('x','IGEP'); $this->assertEquals($this->object->scriptLoadIgep,"x"); $this->assertNull($this->object->scriptLoadUsuario); $res = "\n"; $this->assertEquals($this->object->getScriptLoad(),$res); $this->assertSame($this->object->scriptLoadIgep,""); $this->assertEquals($this->object->getScriptLoad(),""); $this->object->addScriptLoad('x','IGEP'); $this->assertEquals($this->object->getScriptLoad(true),$res); $this->object->addScriptLoad('x','IGEP'); $this->assertEquals($this->object->getScriptLoad(false),"x\n;"); $this->assertEquals($this->object->getScriptLoad(),""); } /** * script usuario */ public function testGetScriptLoad02() { $this->object->addScriptLoad('y','USUARIO'); $this->assertNull($this->object->scriptLoadIgep); $this->assertEquals($this->object->scriptLoadUsuario,"y"); $this->assertEquals($this->object->getScriptLoad(),"\n"); $this->assertEquals($this->object->scriptLoadIgep,''); $this->object->addScriptLoad('z','USUARIO'); $this->assertEquals($this->object->getScriptLoad(true),"\n"); $this->assertEquals($this->object->getScriptLoad(false),"\n;yz"); } /** * script usuario+igep */ public function testGetScriptLoad03() { $this->object->addScriptLoad('x','IGEP'); $this->object->addScriptLoad('y','USUARIO'); $this->assertEquals($this->object->getScriptLoad(true),"\n"); $this->object->addScriptLoad('x','IGEP'); $this->assertEquals($this->object->getScriptLoad(false),"x\n;y"); } public function test_validaEvento() { $ev = 'x'; $this->assertFalse($this->object->_validaEvento($ev)); $this->assertSame($ev,'EVENTOINEXISTENTE'); $ev = 'onblur'; $this->assertTrue($this->object->_validaEvento($ev)); $this->assertSame($ev,'onBlur'); } public function testAddAccionEvento01() { $this->assertEquals(count($this->object->v_eventos),0); $this->assertEquals(count($this->object->v_eventosPesos),0); //TODO: cambiar dies por exception //$this->object->addAccionEvento('eventoraro',''); //$this->assertEquals(count($this->object->v_eventos),0); $this->object->addAccionEvento('onBlur','x'); $this->assertEquals(count($this->object->v_eventos),1); $this->assertEquals(count($this->object->v_eventos['onBlur']),1); $this->assertEquals($this->object->v_eventos['onBlur'][0],'x'); $this->object->addAccionEvento('onBlur','y', -1); $this->assertEquals(count($this->object->v_eventos),1); $this->assertEquals(count($this->object->v_eventos['onBlur']),2); $this->assertEquals($this->object->v_eventos['onBlur'][1],'y'); } public function testAddAccionEvento02() { $this->assertEquals(count($this->object->v_eventosPesos),0); $this->object->addAccionEvento('onBlur','y', 1); $this->assertEquals(count($this->object->v_eventosPesos),1); $this->assertEquals(count($this->object->v_eventosPesos['onBlur']),1); $this->assertEquals($this->object->v_eventosPesos['onBlur'][1],'y'); $this->object->addAccionEvento('onBlur','x', 1); $this->assertEquals($this->object->v_eventosPesos['onBlur'][2],'x'); $this->object->addAccionEvento('onBlur','j', 10); $this->assertEquals($this->object->v_eventosPesos['onBlur'][10],'j'); } public function test_getAccion() { $this->assertEquals($this->object->_getAccion('evento',null),' '); $this->assertEquals($this->object->_getAccion('evento',array()),'evento="javascript:if (this.readOnly != true) { };" '); $this->assertEquals($this->object->_getAccion('evento',array('a')),'evento="javascript:if (this.readOnly != true) { a;};" '); $this->assertEquals($this->object->_getAccion('evento',array('a','b')),'evento="javascript:if (this.readOnly != true) { a;b;};" '); } public function testGetAcciones() { $this->assertEquals($this->object->getAcciones(),' '); //TODO: comprobar otras situaciones } public function testEscapeIGEP() { $v = "ab\bc"; $this->assertSame($this->object->escapeIGEP($v),'ab!_b_!c'); $v = "ab\bc"; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),'ab!_b_!c'); $v = ""; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),''); $v = null; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),''); $v = "ab\fc"; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),'ab!_f_!c'); $v = "ab\rc"; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),'ab!_r_!c'); $v = "ab\nc"; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),'ab!_n_!c'); $v = 'ab\tc'; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),'ab!_t_!c'); $v = "ab'c"; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),'ab!_cs_!c'); $v = "ab\"c"; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),'ab!_cd_!c'); $v = "ab\\c"; $this->assertSame($this->object->escapeIGEP($v,'!_','_!'),'ab!_cb_!c'); } public function testDesescapeIGEP() { $v = 'ab!_b_!c'; $this->assertSame($this->object->desescapeIGEP($v),'ab\bc'); $v = 'ab!_b_!c'; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),'ab\bc'); $v = ""; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),''); $v = null; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),''); $v = 'ab!_f_!c'; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),"ab\fc"); $v = 'ab!_r_!c'; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),"ab\rc"); $v = 'ab!_n_!c'; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),"ab\nc"); $v = 'ab!_t_!c'; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),"ab\tc"); $v = 'ab!_cs_!c'; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),"ab'c"); $v = 'ab!_cd_!c'; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),'ab"c'); $v = 'ab!_cb_!c'; $this->assertSame($this->object->desescapeIGEP($v,'!_','_!'),'ab\c'); } public function testGetJsLista() { $this->assertSame($this->object->getJsLista('',array('lista'=>array(),'seleccionado'=>'sel')),"insertar_opcion(\"\",\"\",1);\ncambia(formulario,'',opciones);\nopciones.length = 0;\nif (formulario != 'F_fil') {eval('parent.document.forms[\"'+formulario+'\"].l.value=desescapeIGEPjs(\"sel\")');\n};"); $this->assertSame($this->object->getJsLista('campo',array('lista'=>array(),'seleccionado'=>'sel')),"insertar_opcion(\"\",\"\",1);\ncambia(formulario,'campo',opciones);\nopciones.length = 0;\nif (formulario != 'F_fil') {eval('parent.document.forms[\"'+formulario+'\"].lcampo.value=desescapeIGEPjs(\"sel\")');\n};"); $this->assertSame($this->object->getJsLista('campo',array('lista'=>array('a'=>array('valor'=>'v','descripcion'=>'d')),'seleccionado'=>'sel')),"insertar_opcion(\"v\",desescapeIGEPjs('d'),0);\ncambia(formulario,'campo',opciones);\nopciones.length = 0;\nif (formulario != 'F_fil') {eval('parent.document.forms[\"'+formulario+'\"].lcampo.value=desescapeIGEPjs(\"sel\")');\n};"); $this->assertSame($this->object->getJsLista('campo',array('lista'=>array('a'=>array('valor'=>'v','descripcion'=>'d')),'seleccionado'=>'v')),"insertar_opcion(\"v\",desescapeIGEPjs('d'),1);\ncambia(formulario,'campo',opciones);\nopciones.length = 0;\nif (formulario != 'F_fil') {eval('parent.document.forms[\"'+formulario+'\"].lcampo.value=desescapeIGEPjs(\"v\")');\n};"); } public function testGetJsMensaje() { $v = new IgepMensaje(); $this->assertSame($this->object->getJsMensaje($v),"aviso=parent.aviso;aviso.set('aviso', 'capaAviso', '', '', desescapeIGEPjs(''), desescapeIGEPjs(''));aviso.mostrarAviso();"); $v->setMensaje('x'); $this->assertSame($this->object->getJsMensaje($v),"aviso=parent.aviso;aviso.set('aviso', 'capaAviso', 'ERROR', 'IGEP-CODMSG', desescapeIGEPjs('Error en identificador de mensaje'), desescapeIGEPjs('Ha habido un problema en la codificación de errores. Consulte con el Administrador de la aplicación.'));aviso.mostrarAviso();"); $v->setMensaje('IGEP-1',array('param')); $this->assertSame($this->object->getJsMensaje($v),"aviso=parent.aviso;aviso.set('aviso', 'capaAviso', 'ERROR', 'IGEP-1', desescapeIGEPjs('Error al Insertar'), desescapeIGEPjs('Ha habido problemas al Insertar el registro en la Base de Datos. param'));aviso.mostrarAviso();"); } public function testGetJsSetCampoTexto() { $def =<<assertSame($this->object->getJsSetCampoTexto('campo'),$def); $this->assertSame($this->object->getJsSetCampoTexto('campo',''),$def); $def =<<assertSame($this->object->getJsSetCampoTexto('campo','val'),$def); } public function testGetJsSetSelected() { $this->assertSame($this->object->getJsSetSelected('campo'),$this->object->getJsSetSelected('campo','')); $this->assertSame($this->object->getJsSetSelected('campo'),"if (document.getElementById('oculto') == null) // estoy en el oculto\nmiFormulario = eval('parent.document.forms[\"'+formulario+'\"]');\nelse miFormulario = eval('document.forms[\"'+formulario+'\"]');\nmiSelector = miFormulario.campo;\nif(miSelector.type=='select-one')\n{\nsetSelectedOption(formulario,'campo', desescapeIGEPjs(\"\"));\n}\nelse if ((miSelector.length>1) && (miSelector[0].type=='radio')) \n{\nsetSelectedRadio(formulario,'campo', desescapeIGEPjs(\"\"));\n}\n"); $this->assertSame($this->object->getJsSetSelected('campo','x'),"if (document.getElementById('oculto') == null) // estoy en el oculto\nmiFormulario = eval('parent.document.forms[\"'+formulario+'\"]');\nelse miFormulario = eval('document.forms[\"'+formulario+'\"]');\nmiSelector = miFormulario.campo;\nif(miSelector.type=='select-one')\n{\nsetSelectedOption(formulario,'campo', desescapeIGEPjs(\"x\"));\n}\nelse if ((miSelector.length>1) && (miSelector[0].type=='radio')) \n{\nsetSelectedRadio(formulario,'campo', desescapeIGEPjs(\"x\"));\n}\n"); } public function testGetJsSetVisible() { $this->assertSame($this->object->getJsSetVisible('campo'),$this->object->getJsSetVisible('campo','')); //todo actualizar $this->assertSame($this->object->getJsSetVisible('campo'),""); // $this->assertSame($this->object->getJsSetVisible('campo',true),"\nvar capaVi = documento.getElementById('IGEPVisiblecampo');\nif (capaVi) \ncapaVi.style.visibility ='visible';\n"); // $this->assertSame($this->object->getJsSetVisible('campo',false),"\nvar capaVi = documento.getElementById('IGEPVisiblecampo');\nif (capaVi) \ncapaVi.style.visibility ='hidden';\n"); } public function testGetJsSetEnable() { $this->assertSame($this->object->getJsSetEnable('campo'),$this->object->getJsSetEnable('campo','')); $this->assertSame($this->object->getJsSetEnable('campo'),$this->object->getJsSetEnable('campo','',null)); //TODO: resto de combinaciones } public function testGetJsChecksMarcados() { $this->assertSame($this->object->getJsChecksMarcados(array()),""); $this->assertSame($this->object->getJsChecksMarcados(array('a')),"documento.getElementById('a').checked='true';"); $this->assertSame($this->object->getJsChecksMarcados(array('a','b')),"documento.getElementById('a').checked='true';documento.getElementById('b').checked='true';"); } public function testGetJsSetEstadoModificado() { $this->assertNull($this->object->getJsSetEstadoModificado("campo")); //TODO: resto de combinaciones } public function testGetJsLanzarFocusChanged() { $this->assertNotNull($this->object->getJsLanzarFocusChanged()); } public function testGetJsFijarFichaActiva() { $this->assertSame($this->object->getJsFijarFichaActiva('x','',''),$this->object->getJsFijarFichaActiva('y','','')); $this->assertSame($this->object->getJsFijarFichaActiva('x','',''),"\n"); $this->assertNotSame($this->object->getJsFijarFichaActiva('edi','',''),$this->object->getJsFijarFichaActiva('ediDetalle','','')); $this->assertSame($this->object->getJsFijarFichaActiva('edi','clase','ficha'),"\nnombrePanel ='edi';\nnombreFormulario ='F_'+'edi';\nnombreCapa ='P_'+'edi';\nformulario = eval('document.forms[nombreFormulario]');\nvisible = eval('document.getElementById(nombreCapa).style.display');\nif((formulario!=null)&&(visible!='none')){\nif (edi_paginacion.hayError() == false){\ndocument.forms[nombreFormulario].pagActual___clase.value='ficha';\nedi_paginacion.abrir_pagina(ficha);\n};\n};\n"); } public function testGetJsSetBttlState() { $this->assertSame($this->object->getJsSetBttlState('x','insertar'),$this->object->getJsSetBttlState('x','insertar',true)); $this->assertSame($this->object->getJsSetBttlState('x','insertar'),$this->object->getJsSetBttlState('x','INSERTAR')); $this->assertSame($this->object->getJsSetBttlState('x','y'),""); $this->assertSame($this->object->getJsSetBttlState('x','insertar'),"var documento = document;if (document.getElementById('oculto') == null) // estoy en el oculto\n{ documento = parent.document}\ndocumento.bttlInsertar_x.habilitarBoton();\n"); $this->assertSame($this->object->getJsSetBttlState('x','insertar',false),"var documento = document;if (document.getElementById('oculto') == null) // estoy en el oculto\n{ documento = parent.document}\ndocumento.bttlInsertar_x.deshabilitarBoton();\n"); } public function testGetJsNuevo() { $this->assertSame($this->object->getJsNuevo('x'),$this->object->getJsNuevo('y')); //todo $this->assertSame($this->object->getJsNuevo('x'),$this->object->getJsNuevo(true)); // $this->assertSame($this->object->getJsNuevo(''),"if(typeof bttlInsertar_edi!==\"undefined\"){bttlInsertar_edi.insertar();}if(typeof bttlInsertar_lis!==\"undefined\"){bttlInsertar_lis.insertar();}"); // $this->assertSame($this->object->getJsNuevo('xx'),"if(typeof bttlInsertar_ediDetalle!==\"undefined\"){bttlInsertar_ediDetalle.insertar();}if(typeof bttlInsertar_lisDetalle!==\"undefined\"){bttlInsertar_lisDetalle.insertar();}"); } public function testGetJsOpenWindow() { $this->assertNotSame($this->object->getJsOpenWindow('x'),$this->object->getJsOpenWindow('y')); } public function testGetJsSetCheck() { $this->assertNotSame($this->object->getJsSetCheck('', '', '', ''),""); $this->assertSame($this->object->getJsSetCheck('a', '1', 'c', 'd'),"eval('parent.document.forms[\"'+formulario+'\"].a.checked=1');\n".IgepSmarty::getJsSetCampoTexto('c','d')); } } ?>