<?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</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Titulos al estilo Alejandro con jQuery</title>
		<link>http://joaquinnunez.cl/blog/2010/11/09/titulos-al-estilo-alejandro-con-jquery/</link>
		<comments>http://joaquinnunez.cl/blog/2010/11/09/titulos-al-estilo-alejandro-con-jquery/#comments</comments>
		<pubDate>Tue, 09 Nov 2010 04:24:03 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[sin espacios]]></category>
		<category><![CDATA[span]]></category>
		<category><![CDATA[titulo]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=696</guid>
		<description><![CDATA[Este mini-plugin va en honor a Alejandro Adriasola amo y señor de las páginas web y el diseño. Lo que hace es bien sencillo, toma un texto y lo junta envolviendolo con spans alternando las clases para obtener un lindo resultado si se usa con un css adecuado. /* Copyright (c) 2009 José Joaquí­n Núñez [...]]]></description>
			<content:encoded><![CDATA[<p>Este mini-plugin va en honor a <a href="http://www.facebook.com/ceromascero">Alejandro Adriasola</a> amo y señor de las <a href="http://www.designa.cl/">páginas web y el diseño</a>.</p>
<p>Lo que hace es bien sencillo, toma un texto y lo junta envolviendolo con spans alternando las clases para obtener un lindo resultado si se usa con un css adecuado.</p>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;"><span class="coMULTI">/* Copyright (c) 2009 José Joaquí­n Núñez (josejnv@gmail.com) http://joaquinnunez.cl/blog/<br />
&nbsp;* Licensed under CBSDLLIAT (http://twitter.com/joaquin_nunez/status/1852053223636992)<br />
&nbsp;*<br />
&nbsp;* Version : 0.1<br />
&nbsp;*<br />
&nbsp;* Requires: jQuery 1.4+<br />
&nbsp;*/</span></p>
<p><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span>$<span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
&nbsp; jQuery.<span class="me1">fn</span>.<span class="me1">AlejandroTitle</span> <span class="sy0">=</span> <span class="kw2">function</span><span class="br0">&#40;</span>options<span class="br0">&#41;</span><br />
&nbsp; <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw2">var</span> defaults <span class="sy0">=</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; firstClass<span class="sy0">:</span> &nbsp;<span class="st0">&#8216;green&#8217;</span><span class="sy0">,</span><br />
&nbsp; &nbsp; &nbsp; secondClass<span class="sy0">:</span> <span class="st0">&#8216;gray&#8217;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; <span class="kw2">var</span> opts <span class="sy0">=</span> $.<span class="me1">extend</span><span class="br0">&#40;</span>defaults<span class="sy0">,</span> options<span class="br0">&#41;</span><span class="sy0">;</span></p>
<p>&nbsp; &nbsp; <span class="kw1">this</span>.<span class="me1">each</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw2">var</span> title <span class="sy0">=</span> jQuery<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">html</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw2">var</span> words <span class="sy0">=</span> title.<span class="me1">split</span><span class="br0">&#40;</span><span class="st0">&#8216; &#8216;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw2">var</span> newTitle <span class="sy0">=</span> <span class="st0">&#8221;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; jQuery<span class="br0">&#40;</span>words<span class="br0">&#41;</span>.<span class="me1">each</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span>index<span class="sy0">,</span> word<span class="br0">&#41;</span><span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; cssClass <span class="sy0">=</span> index <span class="sy0">%</span> 2 <span class="sy0">==</span> 0 <span class="sy0">?</span> defaults.<span class="me1">firstClass</span> <span class="sy0">:</span> defaults.<span class="me1">secondClass</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; newTitle <span class="sy0">+=</span> <span class="st0">&#8216;&lt;span class=&quot;&#8217;</span><span class="sy0">+</span>cssClass<span class="sy0">+</span><span class="st0">&#8216;&quot;&gt;&#8217;</span> <span class="sy0">+</span> word <span class="sy0">+</span> <span class="st0">&#8216;&lt;/span&gt;&#8217;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; jQuery<span class="br0">&#40;</span><span class="kw1">this</span><span class="br0">&#41;</span>.<span class="me1">html</span><span class="br0">&#40;</span>newTitle<span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="br0">&#40;</span>jQuery<span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/11/09/titulos-al-estilo-alejandro-con-jquery/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<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>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>
<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>
<span class="kw2">var</span> result <span class="sy0">=</span> <span class="st0">''</span><span class="sy0">;</span>
<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>
<span class="br0">&#123;</span>
&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>
&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>
<span class="br0">&#125;</span>
result <span class="sy0">=</span> number <span class="sy0">+</span> result<span class="sy0">;</span>
<span class="kw1">return</span> result<span class="sy0">;</span>
<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>1</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>
<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>
<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>
&nbsp; <span class="kw1">echo</span> <span class="st0">&quot;Patente correcta&quot;</span><span class="sy0">;</span>
<span class="kw1">else</span>
&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>
&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>
<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>

<span class="coMULTI">/* 
&nbsp;* Copyright (c) 2010 José Joaquín Núñez (josejnv@gmail.com) http://joaquinnunez.cl/ &nbsp;
&nbsp;* Licensed under GPL (http://www.opensource.org/licenses/gpl-2.0.php)
&nbsp;* Use only for non-commercial usage.
&nbsp;*
&nbsp;* Version : 0.1
*/</span>

<span class="co4">/**
&nbsp;* sfValidatorPatente validates patentes chilenas.
&nbsp;*
&nbsp;* @package &nbsp; &nbsp;symfony
&nbsp;* @subpackage validator
&nbsp;* @author &nbsp; &nbsp; José Joaquín Núñez &lt;josejnv@gmail.com&gt;
&nbsp;*/</span>

<span class="kw2">class</span> sfValidatorPatente <span class="kw2">extends</span> sfValidatorRegex
<span class="br0">&#123;</span>
&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>

&nbsp; <span class="co4">/**
&nbsp; &nbsp;* @see sfValidatorRegex
&nbsp; &nbsp;*/</span>
&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>
&nbsp; <span class="br0">&#123;</span>
&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>

&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>
&nbsp; <span class="br0">&#125;</span>
<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>2</slash:comments>
		</item>
		<item>
		<title>www.itinerariofacil.tk ahora es móvil.</title>
		<link>http://joaquinnunez.cl/blog/2010/08/31/www-itinerariofacil-tk-ahora-es-movi/</link>
		<comments>http://joaquinnunez.cl/blog/2010/08/31/www-itinerariofacil-tk-ahora-es-movi/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 15:09:25 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[horario]]></category>
		<category><![CDATA[horarios]]></category>
		<category><![CDATA[itinerario]]></category>
		<category><![CDATA[itinerariofacil]]></category>
		<category><![CDATA[metro]]></category>
		<category><![CDATA[quilpué]]></category>
		<category><![CDATA[tren]]></category>
		<category><![CDATA[valparaíso]]></category>
		<category><![CDATA[viña del mar]]></category>
		<category><![CDATA[villa alemana]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=607</guid>
		<description><![CDATA[Hace un par de semanas que actualizamos itinerariofacil y tenía pendiente avisar por aquí sobre los cambios, para los que no lo conozcan, itinerariofacil es una simple herramienta que permite saber los horarios del metro tren de Valparaíso, si sólo eso. La actualización consta de una interfaz web móvil para el creciente número de chilenos [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" title="Itineraiofacil" src="http://joaquinnunez.cl/itinerariofacil/images/logo_tren.png" alt="Itineraiofacil" width="98" height="79" /></p>
<p style="text-align: left;">Hace un par de semanas que actualizamos <a title="itinerariofacil" href="http://joaquinnunez.cl/itinerariofacil/">itinerariofacil</a> y tenía pendiente avisar por aquí sobre los cambios, para los que no lo conozcan, itinerariofacil es una simple herramienta que permite saber los horarios del metro tren de Valparaíso, <acronym title="hace una sólo cosa, pero la hace bien =)">si sólo eso.</acronym></p>
<p style="text-align: left;">La actualización consta de una interfaz <a title="itinerariofacil móvil" href="http://joaquinnunez.cl/itinerariofacil/mobile/">web móvil</a> para el creciente número de chilenos con internet en celulares, y para los más humildes como yo :-) una <a title="itinerariofacil para celulares" href="http://joaquinnunez.cl/itinerariofacil/itinerariofacil.zip">versión descargable</a> en para celulares con soporte para Java.</p>
<p style="text-align: left;">En cuanto a la versión descargable para celulares, si tienen problemas instalando, por favor! primero lean el manual de su celular, busquen por internet como instalar aplicaciones o juegos Java, si aún así tienen problemas, dejen un comentario acá y podré responderles si el tiempo me deja hacerlo =)</p>
<p style="text-align: left;">Saludos</p>
<p style="text-align: left;">&#8211;fin del comunicado&#8211;</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/08/31/www-itinerariofacil-tk-ahora-es-movi/feed/</wfw:commentRss>
		<slash:comments>3</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>0</slash:comments>
		</item>
		<item>
		<title>Custom SQL queries in symfony 1.4 with Propel</title>
		<link>http://joaquinnunez.cl/blog/2010/07/01/custom-sql-queries-in-symfony-1-4-with-propel/</link>
		<comments>http://joaquinnunez.cl/blog/2010/07/01/custom-sql-queries-in-symfony-1-4-with-propel/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 12:45:32 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[symfony]]></category>
		<category><![CDATA[1.4]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[pdo]]></category>
		<category><![CDATA[propel]]></category>
		<category><![CDATA[queries]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=577</guid>
		<description><![CDATA[The solution is quite simple, use PDO directly. All the information that you need is in the pdo php page $connection = Propel::getConnection&#40;&#41;; $sql = &#34;YOUR SQL QUERY&#34;; $statement = $connection-&#62;prepare&#40;$sql&#41;; $statement-&#62;execute&#40;&#41;; while&#40;$result = $statement-&#62;fetch&#40;PDO::FETCH_ASSOC&#41;&#41; &#123; // do something &#125; greetings]]></description>
			<content:encoded><![CDATA[<p>The solution is quite simple, use PDO directly. All the information that you need is in the <a href="http://cl.php.net/pdo">pdo php page</a></p>
<div class="codesnip-container" >
<div class="php codesnip" style="font-family:monospace;"><span class="re0">$connection</span> <span class="sy0">=</span> Propel<span class="sy0">::</span><span class="me2">getConnection</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="re0">$sql</span> <span class="sy0">=</span> <span class="st0">&quot;YOUR SQL QUERY&quot;</span><span class="sy0">;</span><br />
<span class="re0">$statement</span> <span class="sy0">=</span> <span class="re0">$connection</span><span class="sy0">-&gt;</span><span class="me1">prepare</span><span class="br0">&#40;</span><span class="re0">$sql</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="re0">$statement</span><span class="sy0">-&gt;</span><span class="me1">execute</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span></p>
<p><span class="kw1">while</span><span class="br0">&#40;</span><span class="re0">$result</span> <span class="sy0">=</span> <span class="re0">$statement</span><span class="sy0">-&gt;</span><span class="me1">fetch</span><span class="br0">&#40;</span>PDO<span class="sy0">::</span><span class="me2">FETCH_ASSOC</span><span class="br0">&#41;</span><span class="br0">&#41;</span><br />
<span class="br0">&#123;</span><br />
<span class="co1">// do something</span><br />
<span class="br0">&#125;</span></div>
</div>
<p>greetings</p>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/07/01/custom-sql-queries-in-symfony-1-4-with-propel/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Disabling a input without using disabled=&#8221;disabled&#8221; with jquery</title>
		<link>http://joaquinnunez.cl/blog/2010/03/12/disabling-a-input-without-using-disabled%e2%80%9ddisabled%e2%80%9d-with-jquery/</link>
		<comments>http://joaquinnunez.cl/blog/2010/03/12/disabling-a-input-without-using-disabled%e2%80%9ddisabled%e2%80%9d-with-jquery/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 00:59:57 +0000</pubDate>
		<dc:creator>Joaquín Núñez</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[disabled]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[input]]></category>

		<guid isPermaLink="false">http://joaquinnunez.cl/blog/?p=645</guid>
		<description><![CDATA[$&#40;'.you_cant_change_this_input_unless_you_have_linux_and_you_use_the_middle_mouse_button_or_you_use_a_javascript_console_a_bookmarklet_or_something_like_that'&#41;.keydown&#40;function&#40;&#41;&#123; &#160; return false; &#125;&#41;.mousedown&#40;function&#40;&#41;&#123; &#160; return false; &#125;&#41;;]]></description>
			<content:encoded><![CDATA[<pre>
<div class="codesnip-container" >
<div class="javascript codesnip" style="font-family:monospace;">$<span class="br0">&#40;</span><span class="st0">'.you_cant_change_this_input_unless_you_have_linux_and_you_use_the_middle_mouse_button_or_you_use_a_javascript_console_a_bookmarklet_or_something_like_that'</span><span class="br0">&#41;</span>.<span class="me1">keydown</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
&nbsp; <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span>.<span class="me1">mousedown</span><span class="br0">&#40;</span><span class="kw2">function</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#123;</span>
&nbsp; <span class="kw1">return</span> <span class="kw2">false</span><span class="sy0">;</span>
<span class="br0">&#125;</span><span class="br0">&#41;</span><span class="sy0">;</span></div>
</div>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://joaquinnunez.cl/blog/2010/03/12/disabling-a-input-without-using-disabled%e2%80%9ddisabled%e2%80%9d-with-jquery/feed/</wfw:commentRss>
		<slash:comments>0</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>
	</channel>
</rss>

