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);
}