$t->is($w->getLabels(), array('first_name' => 'A first name'), '->getLabels() returns all current labels'); $w->setLabels(array('first_name' => 'The first name')); $t->is($w->getFormFormatter()->generateLabelName('first_name'), 'The first name', '->setLabels() changes all current labels'); $w->setLabel('first_name', 'A first name'); $t->is($w->getFormFormatter()->generateLabelName('first_name'), 'A first name', '->setLabel() sets a label value'); // ->setHelps() ->getHelps() ->setHelp() ->getHelp() $t->diag('->setHelps() ->getHelps() ->setHelp() ->getHelp()'); $w = new sfWidgetFormSchema(); $w->setHelps(array('first_name', 'Please, provide your first name')); $t->is($w->getHelps(), array('first_name', 'Please, provide your first name'), '->setHelps() changes all help messages'); $w->setHelp('last_name', 'Please, provide your last name'); $t->is($w->getHelp('last_name'), 'Please, provide your last name', '->setHelp() changes one help message'); // ->getLabel() ->setLabel() ->getLabels() ->setLabels() $t->diag('->getLabel() ->setLabel() ->getLabels() ->setLabels()'); $w = new sfWidgetFormSchema(array('w1' => $w1, 'w2' => $w2)); $w->setLabels(array('w1' => 'foo')); $t->is($w->getLabels(), array('w1' => 'foo', 'w2' => null), '->getLabels() returns the labels'); $t->is($w->getLabel('w1'), 'foo', '->getLabel() returns the label for a given field'); $w->setLabel('w2', 'foo'); $t->is($w->getLabels(), array('w1' => 'foo', 'w2' => 'foo'), '->setLabel() sets a label for a given field'); $w->setLabel('foo'); $t->is($w->getLabel(), 'foo', '->setLabel() can also set the label for the widget schema'); // ->getDefault() ->setDefault() ->getDefaults() ->setDefaults() $t->diag('->getDefault() ->setDefault() ->getDefaults() ->setDefaults()'); $w = new sfWidgetFormSchema(array('w1' => $w1, 'w2' => $w2)); $w->setDefaults(array('w1' => 'foo')); $t->is($w->getDefaults(), array('w1' => 'foo', 'w2' => null), '->getDefaults() returns the default values'); $t->is($w->getDefault('w1'), 'foo', '->getDefault() returns the default value for a given field'); $w->setDefault('w2', 'foo'); $t->is($w->getDefaults(), array('w1' => 'foo', 'w2' => 'foo'), '->setDefault() sets a default value for a given field'); // ->needsMultipartForm()
$t->pass('setTranslationCallable() throws InvalidException if i18n callable is not a valid callable'); } catch (Exception $e) { $t->fail('setTranslationCallable() throws unexpected exception'); } $t->diag('->translate()'); $f = new MyFormatter(new sfWidgetFormSchema()); $t->is($f->translate('label'), '[label]', 'translate() call i18n sfCallable as expected'); MyFormatter::setTranslationCallable(array('myI18n', '__')); $t->is($f->translate('label'), '[label]', 'translate() call i18n callable as expected'); $t->diag('->generateLabel() ->generateLabelName() ->setLabel() ->setLabels()'); MyFormatter::dropTranslationCallable(); $w = new sfWidgetFormSchema(array('author_id' => new sfWidgetFormInputText(), 'first_name' => new sfWidgetFormInputText(), 'last_name' => new sfWidgetFormInputText())); $f = new MyFormatter($w); $t->is($f->generateLabelName('first_name'), 'First Name', '->generateLabelName() generates a label value from a label name'); $t->is($f->generateLabelName('author_id'), 'Author', '->generateLabelName() removes _id from auto-generated labels'); $w->setLabels(array('first_name' => 'The first name')); $t->is($f->generateLabelName('first_name'), 'The first name', '->setLabels() changes all current labels'); $w->setLabel('first_name', 'A first name'); $t->is($f->generateLabelName('first_name'), 'A first name', '->setLabel() sets a label value'); $w->setLabel('first_name', false); $t->is($f->generateLabel('first_name'), '', '->generateLabel() returns an empty string if the label is false'); $w->setLabel('first_name', 'Your First Name'); $t->is($f->generateLabel('first_name'), '<label for="first_name">Your First Name</label>', '->generateLabelName() returns a label tag'); $t->is($f->generateLabel('first_name', array('class' => 'foo')), '<label class="foo" for="first_name">Your First Name</label>', '->generateLabelName() returns a label tag with optional HTML attributes'); $t->is($f->generateLabel('first_name', array('for' => 'myid')), '<label for="myid">Your First Name</label>', '->generateLabelName() returns a label tag with specified for-id'); $w->setLabel('last_name', 'Your Last Name'); $t->is($f->generateLabel('last_name'), '<label for="last_name">Your Last Name</label>', '->generateLabelName() returns a label tag'); MyFormatter::setTranslationCallable('my__'); $t->is($f->generateLabel('last_name'), '<label for="last_name">[Your Last Name]</label>', '->generateLabelName() returns a i18ned label tag'); // ->setTranslationCatalogue() ->getTranslationCatalogue() class MyFormatter2 extends sfWidgetFormSchemaFormatter