public function testLoginWithFilters() {
$subject = new Form(array(
'model' => __CLASS__,
'fields' => array('username'),
'filters' => array('username' => 'sha1'),
'validators' => array('password' => false)
));
$request = (object) array('data' => array('username' => 'Person'));
$expected = array('username' => sha1('Person'));
$result = $subject->check($request);
$this->assertEqual($expected, $result);
$subject = new Form(array(
'model' => __CLASS__,
'fields' => array('username', 'date'),
'filters' => array(
'username' => false,
'date' => function($date) {
return "{$date['year']}-{$date['month']}-{$date['day']}";
}
),
'validators' => array('password' => false)
));
$request = (object) array('data' => array(
'username' => 'bob',
'date' => array(
'year' => '2012', 'month' => '06', 'day' => '29'
)
));
$expected = array('username' => 'bob', 'date' => '2012-06-29');
$result = $subject->check($request);
$this->assertEqual($expected, $result);
}