Source

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