<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Joaquín Nuñez &#187; generator</title>
	<atom:link href="http://joaquinnunez.cl/blog/tag/generator/feed/" rel="self" type="application/rss+xml" />
	<link>http://joaquinnunez.cl/blog</link>
	<description>web2.0, symfony, jquery, javascript, php, web, develpment</description>
	<lastBuildDate>Thu, 06 Oct 2011 19:44:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Generador de pruebas para modulos symfony</title>
		<link>http://joaquinnunez.cl/blog/2010/09/27/generador-de-pruebas-para-modulos-symfony/</link>
		<comments>http://joaquinnunez.cl/blog/2010/09/27/generador-de-pruebas-para-modulos-symfony/#comments</comments>
		<pubDate>Mon, 27 Sep 2010 21:15:12 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[generador]]></category>
		<category><![CDATA[generate]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[lime]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[modulos]]></category>
		<category><![CDATA[plantilla]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[pruebas]]></category>
		<category><![CDATA[sh]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=680</guid>
		<description><![CDATA[Si hay algo que años atrás me hizo decidirme por symfony como framework principal para trabajar, eso fue sus generadores. No voy a hablar mucho de ellos, eso da para un post muy largo seguramente encontrarán información al respecto en otros lugares. En este articulo quería compartir con Ud. una plantilla que utilizo para poder [...]]]></description>
			<content:encoded><![CDATA[<p>Si hay algo que años atrás me hizo decidirme por symfony como framework principal para trabajar, eso fue sus generadores. No voy a hablar mucho de ellos, eso da para un post muy largo seguramente encontrarán información al respecto en otros lugares.</p>
<p>En este articulo quería compartir con Ud. una plantilla que utilizo para poder generar pruebas para los modulos generados con el comando <span style="font-family:monospace;;">propel:generate-module</span>. Son un conjunto de pruebas básicas, (nada excepcional) hechas para testear lo básico de los modulos generados que por alguna razón sólo tienen una prueba.</p>
<p>Si bien me gustaría que detectará sólo los campos de los formularios, que validara más cosas, etc. Esto es un buen punto de partida para empezar a escribir tus pruebas.</p>
<p>Se logra con un archivo .sh llamado desde la terminal y un archivo .php con la plantilla de las pruebas. Para mayor información lea el código del comando.</p>
<p>Saludos.</p>
<h3>Usage example</h3>
<pre>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;">$ .<span class="sy0">/</span>your-sh-file.sh blog Blog BlogProject</div>
</div>
</pre>
<h3>Bash file</h3>
<pre>
<div class="codesnip-container" >
<div class="bash codesnip" style="font-family:monospace;"><span class="co0">#!/bin/bash</span>

<span class="co0"># first parameter MODULE_NAME</span>
<span class="co0"># second parameter MODEL_CLASS</span>
<span class="co0"># symfony project name</span>

<span class="kw2">cat</span> symfony<span class="sy0">/</span>actionTest.php <span class="sy0">|</span> <span class="kw2">sed</span> <span class="st0">&quot;s/##MODULE_NAME##/$1/&quot;</span> <span class="sy0">|</span> <span class="kw2">sed</span> <span class="st0">&quot;s/##MODEL_CLASS##/$2/&quot;</span> <span class="sy0">&gt;</span> $<span class="nu0">3</span><span class="sy0">/</span>test<span class="sy0">/</span>functional<span class="sy0">/</span>frontend<span class="sy0">/</span>$1ActionsTest.php</div>
</div>
</pre>
<h3>actionTest.php</h3>
<pre>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;"><span class="kw2">&lt;?php</span>

<span class="kw1">include</span><span class="br0">&#40;</span><a href="http://www.php.net/dirname"><span class="kw3">dirname</span></a><span class="br0">&#40;</span><span class="kw4">__FILE__</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st_h">'/../../bootstrap/functional.php'</span><span class="br0">&#41;</span><span class="sy0">;</span>

<span class="re0">$browser</span> <span class="sy0">=</span> <span class="kw2">new</span> sfTestFunctional<span class="br0">&#40;</span><span class="kw2">new</span> sfBrowser<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span>

<span class="re0">$browser</span><span class="sy0">-&gt;</span>
&nbsp; <span class="me1">info</span><span class="br0">&#40;</span><span class="st_h">'##MODEL_CLASS##s Tests'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <span class="me1">info</span><span class="br0">&#40;</span><span class="st_h">' &nbsp;1.0 Index'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <span class="me1">get</span><span class="br0">&#40;</span><span class="st_h">'/##MODULE_NAME##/index'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'index'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isStatusCode</span><span class="br0">&#40;</span><span class="nu0">200</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'h1:contains(&quot;##MODEL_CLASS##s List&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;New&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="sy0">;</span>

<span class="re0">$browser</span><span class="sy0">-&gt;</span>
&nbsp; <span class="me1">info</span><span class="br0">&#40;</span><span class="st_h">' &nbsp;1.1 New &amp; Create'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <span class="me1">click</span><span class="br0">&#40;</span><span class="st_h">'New'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'new'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isStatusCode</span><span class="br0">&#40;</span><span class="nu0">200</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'h1:contains(&quot;New ##MODEL_CLASS##&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;Back to list&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="co1">// TODO your wrong data should be here</span>
&nbsp; click<span class="br0">&#40;</span><span class="st_h">'Save'</span><span class="sy0">,</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'##MODULE_NAME##'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
&nbsp; &nbsp; <span class="st_h">'your-field'</span> &nbsp; &nbsp;<span class="sy0">=&gt;</span> <span class="st_h">'your-wrong-data'</span><span class="sy0">,</span>
&nbsp; &nbsp; <span class="st_h">'another-field'</span> <span class="sy0">=&gt;</span> <span class="st_h">'another-wrong-data'</span><span class="sy0">,</span>
&nbsp; <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'form'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">hasErrors</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="co1">// TODO any other check?</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; 
&nbsp; <span class="co1">// TODO put your correct data here</span>
&nbsp; click<span class="br0">&#40;</span><span class="st_h">'Save'</span><span class="sy0">,</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'##MODULE_NAME##'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
&nbsp; &nbsp; <span class="st_h">'your-field'</span> &nbsp; &nbsp;<span class="sy0">=&gt;</span> <span class="st_h">'your-data'</span><span class="sy0">,</span>
&nbsp; &nbsp; <span class="st_h">'another-field'</span> <span class="sy0">=&gt;</span> <span class="st_h">'another-data'</span><span class="sy0">,</span>
&nbsp; <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'form'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">hasErrors</span><span class="br0">&#40;</span><span class="kw4">false</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="co1">// TODO any other check?</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'create'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">isRedirected</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">followRedirect</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'edit'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'h1:contains(&quot;Edit ##MODEL_CLASS##&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;Back to list&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;Delete&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="sy0">;</span>

<span class="co1">// XXX if you didnt use --with-show option, sorry for this :-)</span>
<span class="re0">$browser</span><span class="sy0">-&gt;</span>
&nbsp; <span class="me1">info</span><span class="br0">&#40;</span><span class="st_h">' &nbsp;1.2 List &amp; Show'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <span class="me1">click</span><span class="br0">&#40;</span><span class="st_h">'Back to list'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'index'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isStatusCode</span><span class="br0">&#40;</span><span class="nu0">200</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'h1:contains(&quot;##MODEL_CLASS##s List&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;New&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'table tbody tr td a'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="co1">// XXX clicking the ##MODEL_CLASS## id</span>
&nbsp; click<span class="br0">&#40;</span><span class="st_h">'1'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'show'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isStatusCode</span><span class="br0">&#40;</span><span class="nu0">200</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;Back to list&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;Edit&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="co1">// for our next set of test</span>
&nbsp; click<span class="br0">&#40;</span><span class="st_h">'Edit'</span><span class="br0">&#41;</span>
<span class="sy0">;</span>

<span class="re0">$browser</span><span class="sy0">-&gt;</span>
&nbsp; <span class="me1">info</span><span class="br0">&#40;</span><span class="st_h">' &nbsp;1.3 Edit &amp; Update'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="co1">// TODO again? maybe, your wrong data should be here &quot;if you want&quot;</span>
&nbsp; click<span class="br0">&#40;</span><span class="st_h">'Save'</span><span class="sy0">,</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'##MODULE_NAME##'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
&nbsp; &nbsp; <span class="st_h">'your-field'</span> &nbsp; &nbsp;<span class="sy0">=&gt;</span> <span class="st_h">'your-wrong-data'</span><span class="sy0">,</span>
&nbsp; &nbsp; <span class="st_h">'another-field'</span> <span class="sy0">=&gt;</span> <span class="st_h">'another-wrong-data'</span><span class="sy0">,</span>
&nbsp; <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'form'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">hasErrors</span><span class="br0">&#40;</span><span class="nu0">2</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="co1">// TODO any other check?</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; 
&nbsp; <span class="co1">// TODO put your correct data here</span>
&nbsp; click<span class="br0">&#40;</span><span class="st_h">'Save'</span><span class="sy0">,</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'##MODULE_NAME##'</span> <span class="sy0">=&gt;</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span>
&nbsp; &nbsp; <span class="st_h">'your-field'</span> &nbsp; &nbsp;<span class="sy0">=&gt;</span> <span class="st_h">'your-data'</span><span class="sy0">,</span>
&nbsp; &nbsp; <span class="st_h">'another-field'</span> <span class="sy0">=&gt;</span> <span class="st_h">'another-data'</span><span class="sy0">,</span>
&nbsp; <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'form'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">hasErrors</span><span class="br0">&#40;</span><span class="kw4">false</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="co1">// TODO any other check?</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'update'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">isRedirected</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">followRedirect</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'edit'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'h1:contains(&quot;Edit ##MODEL_CLASS##&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;Back to list&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;Delete&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="sy0">;</span>

<span class="re0">$browser</span><span class="sy0">-&gt;</span>
&nbsp; <span class="me1">info</span><span class="br0">&#40;</span><span class="st_h">' &nbsp;1.4 Delete'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; 
&nbsp; <span class="me1">click</span><span class="br0">&#40;</span><span class="st_h">'Delete'</span><span class="sy0">,</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">,</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="st_h">'method'</span> <span class="sy0">=&gt;</span> <span class="st_h">'delete'</span><span class="sy0">,</span> <span class="st_h">'_with_csrf'</span> <span class="sy0">=&gt;</span> <span class="kw4">true</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'delete'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isMethod</span><span class="br0">&#40;</span><span class="st_h">'delete'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isStatusCode</span><span class="br0">&#40;</span>302<span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; 
&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">isRedirected</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">followRedirect</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'request'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'module'</span><span class="sy0">,</span> <span class="st_h">'##MODULE_NAME##'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">isParameter</span><span class="br0">&#40;</span><span class="st_h">'action'</span><span class="sy0">,</span> <span class="st_h">'index'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>

&nbsp; <span class="me1">with</span><span class="br0">&#40;</span><span class="st_h">'response'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><span class="me1">begin</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'h1:contains(&quot;##MODEL_CLASS##s List&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; &nbsp; <span class="me1">checkElement</span><span class="br0">&#40;</span><span class="st_h">'a:contains(&quot;New&quot;)'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span>
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span>
<span class="sy0">;</span></div>
</div>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/09/27/generador-de-pruebas-para-modulos-symfony/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>form populator es aún más rápido</title>
		<link>http://joaquinnunez.cl/blog/2010/01/22/form-populator-es-aun-mas-rapido/</link>
		<comments>http://joaquinnunez.cl/blog/2010/01/22/form-populator-es-aun-mas-rapido/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 11:59:46 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[autocompletado]]></category>
		<category><![CDATA[bookmarklet]]></category>
		<category><![CDATA[bookmarklet generator]]></category>
		<category><![CDATA[form populator]]></category>
		<category><![CDATA[formulario]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[populate]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=541</guid>
		<description><![CDATA[Bueno el titulo dice en gran parte que es lo nuevo de esta herramienta, para los que no la conocen, form populator es un generador de bookmarklets para completar tus formularios con datos reales completamente configurable. El motivo de este post es contarles que he agregado un bookmarklet que recoge la información del formulario que [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno el titulo dice en gran parte que es lo nuevo de esta herramienta, para los que no la conocen, <a title="form populator" href="http://joaquinnunez.cl/fp/">form populator</a> es un generador de <a href="http://es.wikipedia.org/wiki/Bookmarklet">bookmarklets</a> para completar tus formularios con <strong>datos reales</strong> completamente configurable.</p>
<p>El motivo de este post es contarles que he agregado un bookmarklet que recoge la información del formulario que quieran llenar, considerando lo lento del proceso anterior al hacerlo manualmente creo que amarán esta nueva funcionalidad. He subido un video tutorial para que puedan aprender a usarla.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="505" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/6Xl_r7OD_N8&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="505" src="http://www.youtube.com/v/6Xl_r7OD_N8&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<h3>Que es lo que viene?</h3>
<p>Los siguientes pasos son migrar la herramienta entera a sourceforge.net, por lo que pueden imaginarse la herramienta será <acronym title="digo oficial porqué el código es sólo html+javascript por lo que cualquier persona pudo haber descargado la herramienta">oficialmente</acronym> open source.</p>
<p>Durante los próximos días haré un listado de lo nuevo que debería tener y lo pondré aquí esperando que puedan ayudar con sus comentarios. Algunas de las cosas nuevas que tengo en mente son:</p>
<ul>
<li>Envio automatico del formulario</li>
<li>Soporte Safari</li>
<li>Creación de datos relacionados</li>
<li>Internacionalización</li>
<li>Nuevos tipos de datos: <acronym title="como en html-ipsum.com">texto enriquecido</acronym>, ciudades, comunas y paises, etc</li>
</ul>
<p>Eso es todo por hoy saludos y bienvenidas sean sus sugerencias, criticas e insultos.</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/01/22/form-populator-es-aun-mas-rapido/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>form populator</title>
		<link>http://joaquinnunez.cl/blog/2009/01/16/form-populator/</link>
		<comments>http://joaquinnunez.cl/blog/2009/01/16/form-populator/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 04:27:09 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[autocompletado]]></category>
		<category><![CDATA[form populator]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=286</guid>
		<description><![CDATA[form populator es un generador de bookmarklets para llenar formularios con datos reales. Porque? Como desarrollador web, muchas veces tuve campos llenos con adsasd, asdasdasd, adsa, ddfgdfg ertr, y otras variantes. Sin mencionar lo feo que se ve esto, el tan sólo llenar estos formularios quita tiempo al desarrollador (que con el tiempo descubri es [...]]]></description>
			<content:encoded><![CDATA[<p><a title="form populator" href="http://joaquinnunez.cl/fp/">form populator</a> es un generador de bookmarklets para llenar formularios con datos reales.</p>
<h3>Porque?</h3>
<p>Como desarrollador web, muchas veces tuve campos llenos con adsasd, asdasdasd, adsa, ddfgdfg ertr, y otras variantes.<br />
Sin mencionar lo feo que se ve esto, el tan sólo llenar estos formularios quita tiempo al desarrollador (que con el tiempo descubri es bastante). He creado esta herramienta para que los desarrolladores web o diseñadores puedan configurar que tipos de datos quieren en sus formularios y que obtengan estos datos tan solo aprentando un botón.</p>
<h3>Como funciona?</h3>
<p>He decido borrar las explicaciones para dejar paso al video tutorial 2 que viene con un bookmarklet que hace sólo todo lo que antes había que hacer manual. Les recomiendo verlo en pantalla completa. Saludos</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="505" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/6Xl_r7OD_N8&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="505" src="http://www.youtube.com/v/6Xl_r7OD_N8&amp;hl=en_US&amp;fs=1&amp;rel=0&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>El video anterior que muestra el proceso manual lo pueden ver <a href="http://www.youtube.com/watch?v=lmrFouhxrsc&amp;fmt=18">aquí</a>.</p>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2009/01/16/form-populator/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Generando criterias con pseudo-sql</title>
		<link>http://joaquinnunez.cl/blog/2008/11/06/generando-criterias-con-pseudo-sql/</link>
		<comments>http://joaquinnunez.cl/blog/2008/11/06/generando-criterias-con-pseudo-sql/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 01:10:00 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[orm]]></category>
		<category><![CDATA[propel]]></category>

		<guid isPermaLink="false">http://joaquinnunez.tumblr.com/post/58399875</guid>
		<description><![CDATA[Propel Criteria Builder es un generador de criteria para el ORM de que usa symfony: Propel. La verdad es que para una persona que se inicia en el uso de criterias es una herramienta muy útil, solo necesita saber pseudo-sql. Por otra parte si conoces el funcionamiento de los criterias, te puede ser muy util [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Propel Criteria Builder" href="http://propel.jondh.me.uk/criteria/analyse" target="_blank">Propel Criteria Builder</a> es un generador de criteria para el <a title="ORM" href="http://en.wikipedia.org/wiki/Object-relational_mapping" target="_blank">ORM</a> de que usa <a title="Symfony" href="http://www.symfony-project.org/" target="_blank">symfony</a>: <a title="Propel" href="http://propel.phpdb.org/trac/" target="_blank">Propel</a>.</p>
<p>La verdad es que para una persona que se inicia en el uso de criterias es una herramienta muy útil, solo necesita saber pseudo-sql. Por otra parte si conoces el funcionamiento de los criterias, te puede ser muy util cuando tienes una sentencia demasiado largo, con muchos “criteriones”.</p>
<p>El funcionamiento es bastante sencillo, escribes el pseudo-sql, que en la página explican como escribirlo, y tienes el criteria armado en un abrir y cerrar de ojos.</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2008/11/06/generando-criterias-con-pseudo-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

