$t->is($w->getDefaults(), array('w1' => 'foo', 'w2' => 'foo'), '->setDefault() sets a default value for a given field'); // ->needsMultipartForm() $t->diag('->needsMultipartForm()'); $w = new sfWidgetFormSchema(array('w1' => $w1)); $t->is($w->needsMultipartForm(), false, '->needsMultipartForm() returns false if the form schema does not have a widget that needs a multipart form'); $w['w2'] = new sfWidgetFormInputFile(); $t->is($w->needsMultipartForm(), true, '->needsMultipartForm() returns true if the form schema does not have a widget that needs a multipart form'); // ->renderField() $t->diag('->renderField()'); $w = new sfWidgetFormSchema(array('first_name' => $w1)); $t->is($w->renderField('first_name', 'Fabien'), '<input class="foo1" type="text" name="first_name" value="Fabien" id="first_name" />', '->renderField() renders a field to HTML'); $ww = clone $w1; $ww->setAttribute('id', 'foo'); $ww->setAttribute('style', 'color: blue'); $w = new sfWidgetFormSchema(array('first_name' => $ww)); $t->is($w->renderField('first_name', 'Fabien'), '<input class="foo1" id="foo" style="color: blue" type="text" name="first_name" value="Fabien" />', '->renderField() renders a field to HTML'); try { $w->renderField('last_name', 'Potencier'); $t->fail('->renderField() throws an InvalidArgumentException if the field does not exist'); } catch (InvalidArgumentException $e) { $t->pass('->renderField() throws an InvalidArgumentException if the field does not exist'); } // ->setPositions() ->getPositions() $t->diag('->setPositions() ->getPositions()'); $w = new sfWidgetFormSchema(); $w['w1'] = $w1; $w['w2'] = $w2; $w->setPositions(array('w2', 'w1')); $t->is($w->getPositions(), array('w2', 'w1'), '->setPositions() changes all field positions'); $w->setPositions(array('w1', 'w2')); $t->is($w->getPositions(), array('w1', 'w2'), '->setPositions() changes all field positions');