$f = new sfForm(array('first_name' => 'Fabien')); $t->is($f->getDefaults(), array('first_name' => 'Fabien'), '__construct() can take an array of default values as its first argument'); $f = new FormTest(array(), array(), 'secret'); $v = $f->getValidatorSchema(); $t->ok($f->isCSRFProtected(), '__construct() takes a CSRF secret as its second argument'); $t->is($v[sfForm::getCSRFFieldName()]->getOption('token'), '*secret*', '__construct() takes a CSRF secret as its second argument'); sfForm::enableCSRFProtection(); $f = new FormTest(array(), array(), false); $t->ok(!$f->isCSRFProtected(), '__construct() can disable the CSRF protection by passing false as the second argument'); $f = new FormTest(); $t->ok($f->isCSRFProtected(), '__construct() uses CSRF protection if null is passed as the second argument and it\'s enabled globally'); // ->getOption() ->setOption() ->getOptions() $t->diag('->getOption() ->setOption()'); $f = new FormTest(array(), array('foo' => 'bar')); $t->is($f->getOption('foo'), 'bar', '__construct takes an option array as its second argument'); $f->setOption('bar', 'foo'); $t->is($f->getOption('bar'), 'foo', '->setOption() changes the value of an option'); $t->is_deeply($f->getOptions(), array('foo' => 'bar', 'bar' => 'foo'), '->getOptions() returns all options'); sfForm::disableCSRFProtection(); // ->setDefault() ->getDefault() ->hasDefault() ->setDefaults() ->getDefaults() $t->diag('->setDefault() ->getDefault() ->hasDefault() ->setDefaults() ->getDefaults()'); $f = new FormTest(); $f->setDefaults(array('first_name' => 'Fabien')); $t->is($f->getDefaults(), array('first_name' => 'Fabien'), 'setDefaults() sets the form default values'); $f->setDefault('last_name', 'Potencier'); $t->is($f->getDefaults(), array('first_name' => 'Fabien', 'last_name' => 'Potencier'), 'setDefault() sets a default value'); $t->is($f->hasDefault('first_name'), true, 'hasDefault() returns true if the form has a default value for the given field'); $t->is($f->hasDefault('name'), false, 'hasDefault() returns false if the form does not have a default value for the given field'); $t->is($f->getDefault('first_name'), 'Fabien', 'getDefault() returns a default value for a given field'); $t->is($f->getDefault('name'), null, 'getDefault() returns null if the form does not have a default value for a given field'); sfForm::enableCSRFProtection('*mygreatsecret*');