<?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</title>
	<atom:link href="http://joaquinnunez.cl/blog/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-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</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><br />
<br />
<span class="co0"># first parameter MODULE_NAME</span><br />
<span class="co0"># second parameter MODEL_CLASS</span><br />
<span class="co0"># symfony project name</span><br />
<br />
<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><br />
<br />
<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><br />
<br />
<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><br />
<br />
<span class="re0">$browser</span><span class="sy0">-&gt;</span><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="sy0">;</span><br />
<br />
<span class="re0">$browser</span><span class="sy0">-&gt;</span><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&nbsp; <span class="co1">// TODO your wrong data should be here</span><br />
&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><br />
&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><br />
&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><br />
&nbsp; <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><br />
<br />
&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><br />
&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><br />
&nbsp; &nbsp; <span class="co1">// TODO any other check?</span><br />
&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><br />
&nbsp; <br />
&nbsp; <span class="co1">// TODO put your correct data here</span><br />
&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><br />
&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><br />
&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><br />
&nbsp; <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><br />
<br />
&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><br />
&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><br />
&nbsp; &nbsp; <span class="co1">// TODO any other check?</span><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="sy0">;</span><br />
<br />
<span class="co1">// XXX if you didnt use --with-show option, sorry for this :-)</span><br />
<span class="re0">$browser</span><span class="sy0">-&gt;</span><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&nbsp; <span class="co1">// XXX clicking the ##MODEL_CLASS## id</span><br />
&nbsp; click<span class="br0">&#40;</span><span class="st_h">'1'</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&nbsp; <span class="co1">// for our next set of test</span><br />
&nbsp; click<span class="br0">&#40;</span><span class="st_h">'Edit'</span><span class="br0">&#41;</span><br />
<span class="sy0">;</span><br />
<br />
<span class="re0">$browser</span><span class="sy0">-&gt;</span><br />
&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><br />
<br />
&nbsp; <span class="co1">// TODO again? maybe, your wrong data should be here &quot;if you want&quot;</span><br />
&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><br />
&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><br />
&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><br />
&nbsp; <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><br />
<br />
&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><br />
&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><br />
&nbsp; &nbsp; <span class="co1">// TODO any other check?</span><br />
&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><br />
&nbsp; <br />
&nbsp; <span class="co1">// TODO put your correct data here</span><br />
&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><br />
&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><br />
&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><br />
&nbsp; <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">-&gt;</span><br />
<br />
&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><br />
&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><br />
&nbsp; &nbsp; <span class="co1">// TODO any other check?</span><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<span class="sy0">;</span><br />
<br />
<span class="re0">$browser</span><span class="sy0">-&gt;</span><br />
&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><br />
&nbsp; <br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
&nbsp; &nbsp; <span class="me1">isStatusCode</span><span class="br0">&#40;</span>302<span class="br0">&#41;</span><span class="sy0">-&gt;</span><br />
&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><br />
&nbsp; <br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&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><br />
<br />
&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><br />
&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><br />
&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><br />
&nbsp; <a href="http://www.php.net/end"><span class="kw3">end</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><br />
<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>Formatear números con punto como separador de miles con javascript</title>
		<link>http://joaquinnunez.cl/blog/2010/09/20/formatear-numeros-con-punto-como-separador-de-miles-con-javascript/</link>
		<comments>http://joaquinnunez.cl/blog/2010/09/20/formatear-numeros-con-punto-como-separador-de-miles-con-javascript/#comments</comments>
		<pubDate>Mon, 20 Sep 2010 15:46:36 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[formatear]]></category>
		<category><![CDATA[formato]]></category>
		<category><![CDATA[mil]]></category>
		<category><![CDATA[miles]]></category>
		<category><![CDATA[numero]]></category>
		<category><![CDATA[punto]]></category>
		<category><![CDATA[separador]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=665</guid>
		<description><![CDATA[<pre>[code lang="javascript"]
Number.prototype.format = function(){
var number = new String(this);
var result = '';
while( number.length > 3 )
{
 result = '.' + number.substr(number.length - 3) + result;
 number = number.substring(0, number.length - 3);
}
result = number + result;
return result;
};
[/code]</pre>]]></description>
				<content:encoded><![CDATA[<p>Actualización: el código inicial, era poco óptimo, este es mejor.</p>
<pre><div class="codesnip-container" ><div class="javascript codesnip" style="font-family:monospace;">Number.<span class="me1">prototype</span>.<span class="me1">format</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
<span class="kw2">var</span> number <span class="sy0">=</span> <span class="kw2">new</span> String<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw2">var</span> result <span class="sy0">=</span> <span class="st0">''</span><span class="sy0">;</span><br />
<span class="kw1">while</span><span class="br0">&#40;</span> number.<span class="me1">length</span> <span class="sy0">&gt;</span> <span class="nu0">3</span> <span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp;result <span class="sy0">=</span> <span class="st0">'.'</span> <span class="sy0">+</span> number.<span class="me1">substr</span><span class="br0">&#40;</span>number.<span class="me1">length</span> <span class="sy0">-</span> 3<span class="br0">&#41;</span> <span class="sy0">+</span> result<span class="sy0">;</span><br />
&nbsp;number <span class="sy0">=</span> number.<span class="me1">substring</span><span class="br0">&#40;</span>0<span class="sy0">,</span> number.<span class="me1">length</span> <span class="sy0">-</span> 3<span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><br />
result <span class="sy0">=</span> number <span class="sy0">+</span> result<span class="sy0">;</span><br />
<span class="kw1">return</span> result<span class="sy0">;</span><br />
<span class="br0">&#125;</span><span class="sy0">;</span></div></div></pre>
<p>Saludos</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/09/20/formatear-numeros-con-punto-como-separador-de-miles-con-javascript/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Validar formato de patentes de autos en Chile con expresiones regulares</title>
		<link>http://joaquinnunez.cl/blog/2010/09/10/validar-formato-de-patentes-de-autos-en-chile-con-expresiones-regulares/</link>
		<comments>http://joaquinnunez.cl/blog/2010/09/10/validar-formato-de-patentes-de-autos-en-chile-con-expresiones-regulares/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 13:08:40 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[auto]]></category>
		<category><![CDATA[autos]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[chilena]]></category>
		<category><![CDATA[expresion regular]]></category>
		<category><![CDATA[expresiones regulares]]></category>
		<category><![CDATA[formato]]></category>
		<category><![CDATA[patente]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[sfValidatorPatente]]></category>
		<category><![CDATA[validacion]]></category>
		<category><![CDATA[validar]]></category>
		<category><![CDATA[validation]]></category>
		<category><![CDATA[validator]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=616</guid>
		<description><![CDATA[El validador de symfony y de jquery validate esta disponible dentro de este post.

[code lang="php"]
$patente = 'AB-12-34';
$regex = '/^[a-z]{2}[\.\- ]?[0-9]{2}[\.\- ]?[0-9]{2}&#124;[b-d,f-h,j-l,p,r-t,v-z]{2}[\-\. ]?[b-d,f-h,j-l,p,r-t,v-z]{2}[\.\- ]?[0-9]{2}$/i';
if (preg_match($regex, $patente))
  echo "Patente correcta";
else
  echo "Patente incorrecta";
[/code]

Saludos]]></description>
				<content:encoded><![CDATA[<p>Esta expresión regular valida el formato antiguo y el nuevo de la patente de autos en Chile, ojo, sólo valida el formato. Usé como separador los caracteres . (punto), &#8211; (guión) ó un espacio.</p>
<h3>Expresión regular</h3>
<pre>
<div class="codesnip-container" ><div class="php codesnip" style="font-family:monospace;"><span class="re0">$patente</span> <span class="sy0">=</span> <span class="st_h">'AB-12-34'</span><span class="sy0">;</span><br />
<span class="re0">$regex</span> <span class="sy0">=</span> <span class="st_h">'/^[a-z]{2}[\.\- ]?[0-9]{2}[\.\- ]?[0-9]{2}|[b-d,f-h,j-l,p,r-t,v-z]{2}[\-\. ]?[b-d,f-h,j-l,p,r-t,v-z]{2}[\.\- ]?[0-9]{2}$/i'</span><span class="sy0">;</span><br />
<span class="kw1">if</span> <span class="br0">&#40;</span><a href="http://www.php.net/preg_match"><span class="kw3">preg_match</span></a><span class="br0">&#40;</span><span class="re0">$regex</span><span class="sy0">,</span> <span class="re0">$patente</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
&nbsp; <span class="kw1">echo</span> <span class="st0">&quot;Patente correcta&quot;</span><span class="sy0">;</span><br />
<span class="kw1">else</span><br />
&nbsp; <span class="kw1">echo</span> <span class="st0">&quot;Patente incorrecta&quot;</span><span class="sy0">;</span></div></div>
</pre>
<hr />
<h3>Método para jQuery plugin Validation</h3>
<pre>
<div class="codesnip-container" ><div class="javascript codesnip" style="font-family:monospace;">$.<span class="me1">validator</span>.<span class="me1">addMethod</span><span class="br0">&#40;</span><span class="st0">&quot;patente&quot;</span><span class="sy0">,</span> <span class="kw2">function</span><span class="br0">&#40;</span>value<span class="sy0">,</span> element<span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; <span class="kw1">return</span> <span class="kw1">this</span>.<span class="me1">optional</span><span class="br0">&#40;</span>element<span class="br0">&#41;</span> <span class="sy0">||</span> value.<span class="me1">match</span><span class="br0">&#40;</span><span class="co2">/^[a-z]{2}[\.\- ]?[0-9]{2}[\.\- ]?[0-9]{2}|[b-d,f-h,j-l,p,r-t,v-z]{2}[\-\. ]?[b-d,f-h,j-l,p,r-t,v-z]{2}[\.\- ]?[0-9]{2}$/i</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="br0">&#125;</span><span class="sy0">,</span> <span class="st0">&quot;La patente ingresada no es valida.&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span></div></div>
</pre>
<hr />
<h3>Validador patente symfony</h3>
<pre>
<div class="codesnip-container" ><div class="php codesnip" style="font-family:monospace;"><span class="kw2">&lt;?php</span><br />
<br />
<span class="coMULTI">/* <br />
&nbsp;* Copyright (c) 2010 José Joaquín Núñez (josejnv@gmail.com) http://joaquinnunez.cl/ &nbsp;<br />
&nbsp;* Licensed under GPL (http://www.opensource.org/licenses/gpl-2.0.php)<br />
&nbsp;* Use only for non-commercial usage.<br />
&nbsp;*<br />
&nbsp;* Version : 0.1<br />
*/</span><br />
<br />
<span class="co4">/**<br />
&nbsp;* sfValidatorPatente validates patentes chilenas.<br />
&nbsp;*<br />
&nbsp;* @package &nbsp; &nbsp;symfony<br />
&nbsp;* @subpackage validator<br />
&nbsp;* @author &nbsp; &nbsp; José Joaquín Núñez &lt;josejnv@gmail.com&gt;<br />
&nbsp;*/</span><br />
<br />
<span class="kw2">class</span> sfValidatorPatente <span class="kw2">extends</span> sfValidatorRegex<br />
<span class="br0">&#123;</span><br />
&nbsp; <span class="kw2">const</span> REGEX_PATENTE <span class="sy0">=</span> <span class="st_h">'/^[a-z]{2}[\.\- ]?[0-9]{2}[\.\- ]?[0-9]{2}|[b-d,f-h,j-l,p,r-t,v-z]{2}[\-\. ]?[b-d,f-h,j-l,p,r-t,v-z]{2}[\.\- ]?[0-9]{2}$/i'</span><span class="sy0">;</span><br />
<br />
&nbsp; <span class="co4">/**<br />
&nbsp; &nbsp;* @see sfValidatorRegex<br />
&nbsp; &nbsp;*/</span><br />
&nbsp; protected <span class="kw2">function</span> configure<span class="br0">&#40;</span><span class="re0">$options</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> <span class="re0">$messages</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="br0">&#41;</span><br />
&nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; parent<span class="sy0">::</span><span class="me2">configure</span><span class="br0">&#40;</span><span class="re0">$options</span><span class="sy0">,</span> <span class="re0">$messages</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; &nbsp; <span class="re0">$this</span><span class="sy0">-&gt;</span><span class="me1">setOption</span><span class="br0">&#40;</span><span class="st_h">'pattern'</span><span class="sy0">,</span> <span class="kw2">self</span><span class="sy0">::</span><span class="me2">REGEX_PATENTE</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div></div>
</pre>
<p>Saludos</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/09/10/validar-formato-de-patentes-de-autos-en-chile-con-expresiones-regulares/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>sfWidgetFormChoiceChileanBanks</title>
		<link>http://joaquinnunez.cl/blog/2010/07/26/sfwidgetformchoicechileanbanks/</link>
		<comments>http://joaquinnunez.cl/blog/2010/07/26/sfwidgetformchoicechileanbanks/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 15:26:25 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[banco]]></category>
		<category><![CDATA[bancos]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[chilenos]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=601</guid>
		<description><![CDATA[Simple widget para symfony con listado de bancos chilenos tomados desde el sitio de la Superintendencia de Bancos e Instituciones Financieras de Chile aka SBIF para los amigos. Aquí la Lista de Instituciones Fiscalizadas Descarga [zip] [tar.gz] Saludos]]></description>
				<content:encoded><![CDATA[<p>Simple widget para symfony con listado de bancos chilenos tomados desde el sitio de la <a title="SBIF" href="http://www.sbif.cl">Superintendencia de Bancos e Instituciones Financieras de Chile</a> aka SBIF para los amigos.</p>
<p>Aquí la <a title="Lista de Instituciones Fizcalizadas por SBIF" href="http://www.sbif.cl/sbifweb/servlet/ConozcaSBIF?indice=7.5.1.1&amp;idContenido=483">Lista de Instituciones Fiscalizadas </a></p>
<p>Descarga <a title="sfWidgetFormChoiceChileanBanks" href="http://joaquinnunez.cl/download/sfWidgetFormChoiceChileanBanks.class.php.zip">[zip]</a> <a title="sfWidgetFormChoiceChileanBanks" href="http://joaquinnunez.cl/download/sfWidgetFormChoiceChileanBanks.class.php.tar.gz">[tar.gz]</a></p>
<p>Saludos</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/07/26/sfwidgetformchoicechileanbanks/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>jquery clock plugin</title>
		<link>http://joaquinnunez.cl/blog/2010/07/02/jquery-clock-plugin/</link>
		<comments>http://joaquinnunez.cl/blog/2010/07/02/jquery-clock-plugin/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 00:11:50 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[analog]]></category>
		<category><![CDATA[clock]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[date]]></category>
		<category><![CDATA[digital]]></category>
		<category><![CDATA[hour]]></category>
		<category><![CDATA[minutes]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[seconds]]></category>
		<category><![CDATA[time]]></category>
		<category><![CDATA[timezone]]></category>
		<category><![CDATA[world]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=593</guid>
		<description><![CDATA[jquery clock plugin is just another clock plugin, it comes with an analog and digital options and another option to handle timezones, warning! the analog clock only works with css3 for the analog clock (and almost all the plugin) i&#8217;m using the code and images from this article of css-tricks.com you can see this plugin [...]]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter" title="jquery clock plugin" src="http://joaquinnunez.cl/blog/wp-content/uploads/2010/07/clock.jpg" alt="jquery clock plugin" width="570" height="197" /><br />
<a title="jquery clock plugin" href="http://joaquinnunez.cl/jquery-clock-plugin/">jquery clock plugin</a> is just another clock plugin, it comes with an analog and digital options and another option to handle timezones, warning! the analog clock only works with css3</p>
<p>for the analog clock (and almost all the plugin) i&#8217;m using the code and images from this article of <a href="http://css-tricks.com/css3-clock/">css-tricks.com</a></p>
<p>you can see this plugin completely in action in this <a href="http://eco.netvibes.com/widgets/381247/world-clock">netvibes world clock widget</a></p>
<p>greetings</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/07/02/jquery-clock-plugin/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jquery enable disable plugin</title>
		<link>http://joaquinnunez.cl/blog/2010/03/11/jquery-enable-disable-plugin/</link>
		<comments>http://joaquinnunez.cl/blog/2010/03/11/jquery-enable-disable-plugin/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 22:59:31 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[checkbox]]></category>
		<category><![CDATA[disable]]></category>
		<category><![CDATA[disabled]]></category>
		<category><![CDATA[enable]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[radio]]></category>
		<category><![CDATA[radio button]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=550</guid>
		<description><![CDATA[This plugin can disable or enable easily an input, textarea or another form element by using a radio button, checkbox or a drop-down list,&#8230; ok i know, it doesn&#8217;t sound like something amazing &#8230; is just a simple and flexible plugin for complex forms. Homepage Download Demos Documentation jquery plugin page greetings (04-07-2010) update: drop-down [...]]]></description>
				<content:encoded><![CDATA[<p>This plugin can disable or enable easily an input, textarea or another form element by using a <a href="http://en.wikipedia.org/wiki/Radio_button">radio button</a>, <a href="http://en.wikipedia.org/wiki/Checkbox">checkbox</a> or a <a title="Drop-down list" href="http://en.wikipedia.org/wiki/Drop-down_list">drop-down list</a>,&#8230; ok i know, it doesn&#8217;t sound like something amazing &#8230; is just a simple and flexible plugin for complex forms.</p>
<p><a href="http://joaquinnunez.cl/jquery-enable-disable-plugin/">Homepage</a><br />
<a title="Download jquery enable disable plugin" href="http://joaquinnunez.cl/jquery-enable-disable-plugin/#download">Download</a><br />
<a title="Demos jquery enable disable plugin" href="http://joaquinnunez.cl/jquery-enable-disable-plugin/#demo_div">Demos</a><br />
<a title="Documentation jquery enable disable plugin" href="http://joaquinnunez.cl/jquery-enable-disable-plugin/#documentation">Documentation</a><br />
<a title="jquery enable disable plugin" href="http://plugins.jquery.com/project/jqueryenabledisable">jquery plugin page</a></p>
<p>greetings</p>
<p>(04-07-2010) update: drop-down list support was added by  <a href="http://prosares.co.cc/">Ajay Sawant</a> thank you!</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/03/11/jquery-enable-disable-plugin/feed/</wfw:commentRss>
		<slash:comments>10</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>jquery css cleaner</title>
		<link>http://joaquinnunez.cl/blog/2009/10/06/jquery-css-cleaner/</link>
		<comments>http://joaquinnunez.cl/blog/2009/10/06/jquery-css-cleaner/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 14:45:34 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cleaner]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[light]]></category>
		<category><![CDATA[loading time]]></category>
		<category><![CDATA[optimizing css]]></category>
		<category><![CDATA[unused css]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=520</guid>
		<description><![CDATA[this helper it&#8217;ll help you with the recognition of unused css selectors and properties/values, so you could delete this lines of your css file in order to make it lighter. if you are this kind of person worried about the loading time, optimizing everything, you would find this script very useful and you&#8217;ll love it. [...]]]></description>
				<content:encoded><![CDATA[<p>this helper it&#8217;ll help you with the recognition of unused css selectors and properties/values, so you could delete this lines of your css file in order to make it lighter.</p>
<p>if you are this kind of person worried about the loading time, optimizing everything, you would find this script very useful and you&#8217;ll love it.</p>
<p>i&#8217;ve improved the style of this script and the last one for make it more presentable and useful, so enjoy it</p>
<p>(again) this script with a css compressor like <a title="css compressor" href="http://www.cssdrive.com/index.php/main/csscompressor">this</a> or <a title="another css compressor" href="http://www.cleancss.com/">this</a> are a complet and useful tools for make your css files lighter</p>
<p><strong style="font-size:18px;">put this code in your html to try the script, you will see a box with the list of unused css in the right bottom</strong></p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;"><span class="sc2">&lt;<a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a>&gt;</span><br />
<span class="sc2">&lt;<a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;http://joaquinnunez.cl/download/jquery.css.cleaner.js&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a>&gt;</span></div>
</div>
<p>greetings</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2009/10/06/jquery-css-cleaner/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>jquery seo mini helper</title>
		<link>http://joaquinnunez.cl/blog/2009/09/29/jquery-seo-mini-helper/</link>
		<comments>http://joaquinnunez.cl/blog/2009/09/29/jquery-seo-mini-helper/#comments</comments>
		<pubDate>Tue, 29 Sep 2009 15:55:21 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[alt]]></category>
		<category><![CDATA[enlaces]]></category>
		<category><![CDATA[imagenes]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[links]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[title]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=503</guid>
		<description><![CDATA[in SEO there are important tips like: an image must have a title and an alt text or a link must have title. check all these thing is pretty bored&#8230;. so i wrote a jquery-based script that check for images or links without those things. the result es very basic, don&#8217;t expect nothing very impressive [...]]]></description>
				<content:encoded><![CDATA[<p>in SEO there are important tips like: an image must have a title and an alt text or a link must have title.<br />
check all these thing is pretty bored&#8230;. so i wrote a jquery-based script that check for images or links without those things.</p>
<p>the result es very basic, don&#8217;t expect nothing very impressive or really advanced. the beatiful part is that you can navigate through your pages and see inmediately the results</p>
<p>this script plus the <a href="http://sensational-seo.com/">senseo addon for firebug</a> are two very helpul tools for make SEO easy.</p>
<p>for use the script, you can put this code in your html file</p>
<div class="codesnip-container" >
<div class="html4strict codesnip" style="font-family:monospace;"><span class="sc2">&lt;<a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a>&gt;</span><br />
<span class="sc2">&lt;<a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a> <span class="kw3">src</span><span class="sy0">=</span><span class="st0">&quot;http://joaquinnunez.cl/download/jquery.seo.js&quot;</span> <span class="kw3">type</span><span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span>&gt;&lt;<span class="sy0">/</span><a href="http://december.com/html/4/element/script.html"><span class="kw2">script</span></a>&gt;</span></div>
</div>
<p>enjoy :D</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2009/09/29/jquery-seo-mini-helper/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>capitalizando texto con jquery</title>
		<link>http://joaquinnunez.cl/blog/2009/06/12/capitalizando-texto-con-jquery/</link>
		<comments>http://joaquinnunez.cl/blog/2009/06/12/capitalizando-texto-con-jquery/#comments</comments>
		<pubDate>Fri, 12 Jun 2009 22:56:39 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[capitalization]]></category>
		<category><![CDATA[capitalize]]></category>
		<category><![CDATA[input]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=498</guid>
		<description><![CDATA[Conociendo lo desordenado que son la mayoría de los usuarios de internet cuando por ejemplo, llenan un formulario, he creado un pequeñisimo &#8220;plugincito&#8221; de jquery para que el texto ingresado por un usuario en un &#60;input /&#62; se capitalize. Le puse jquery capitalize para mantener mi originalidad &#8230; acá los demos, documentación ( bien corta [...]]]></description>
				<content:encoded><![CDATA[<p>Conociendo lo desordenado que son la mayoría de los usuarios de internet cuando por ejemplo, llenan un formulario, he creado un pequeñisimo &#8220;plugincito&#8221; de jquery para que el texto ingresado por un usuario en un &lt;input /&gt; se <a href="http://en.wikipedia.org/wiki/Capitalization">capitalize</a>.</p>
<p>Le puse <a title="jquery capitalize" href="http://joaquinnunez.cl/jquery-capitalize/">jquery capitalize</a> para mantener mi originalidad &#8230; acá los <a title="demo jquery capitalize" href="http://joaquinnunez.cl/jquery-capitalize/#demo_div">demos</a>, <a title="documentacion jquery capitalize" href="http://joaquinnunez.cl/jquery-capitalize/#doc">documentación</a> ( bien corta ) y <a title="descarga jquery capitalize" href="http://joaquinnunez.cl/jquery-capitalize/#download">descarga</a>.</p>
<p>también la publiqué en los <a href="http://plugins.jquery.com/project/capitalize">proyectos de jquery</a>.</p>
<p>saludos :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2009/06/12/capitalizando-texto-con-jquery/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
