Antes de continuar es recomendable crear algunas pruebas unitarias, como por ejemplo la que muestra el siguiente código:
// test/unit/form/sfFormYamlEnhancerTest.php
include dirname(__FILE__).'/../../bootstrap/unit.php';
$t = new lime_test(3);
$configuration = $configuration->getApplicationConfiguration(
'frontend', 'test', true, null, $configuration->getEventDispatcher());
sfToolkit::clearDirectory(sfConfig::get('sf_app_cache_dir'));
$enhancer = new sfFormYamlEnhancer($configuration->getConfigCache());
// ->enhance()
$t->diag('->enhance()');
$form = new CommentForm();
$form->bind(array('body' => '+1'));
$enhancer->enhance($form);
$t->like($form['body']->renderLabel(), '/Please enter your comment/',
'->enhance() enhances labels');
$t->like($form['body']->render(), '/class="comment"/',
'->enhance() enhances widgets');
$t->like($form['body']->renderError(), '/You haven\'t written enough/',
'->enhance() enhances error messages');
Ejecuta la prueba anterior para verificar que sfFormYamlEnhancer
funciona
correctamente:
Ahora ya podemos seguir modificando el código con la confianza de que las pruebas nos avisarán si rompemos algo.