mirror of
https://github.com/vlucas/valitron.git
synced 2025-12-30 23:01:52 +00:00
Add test coverage for 'addRule' method
This commit is contained in:
parent
4beb5f6075
commit
0f96c883bc
@ -510,5 +510,78 @@ class ValidateTest extends \PHPUnit_Framework_TestCase
|
||||
|
||||
$this->assertEquals($v1->errors(), $v2->errors());
|
||||
}
|
||||
|
||||
/**
|
||||
* Custom rules and callbacks
|
||||
*/
|
||||
|
||||
public function testAddRuleClosure()
|
||||
{
|
||||
$v = new Validator(array('name' => 'Chester Tester'));
|
||||
$v->addRule('testRule', function() { return true; });
|
||||
$v->rule('testRule', 'name');
|
||||
$this->assertTrue($v->validate());
|
||||
}
|
||||
|
||||
public function testAddRuleClosureReturnsFalse()
|
||||
{
|
||||
$v = new Validator(array('name' => 'Chester Tester'));
|
||||
$v->addRule('testRule', function() { return false; });
|
||||
$v->rule('testRule', 'name');
|
||||
$this->assertFalse($v->validate());
|
||||
}
|
||||
|
||||
public function testAddRuleClosureWithFieldArray()
|
||||
{
|
||||
$v = new Validator(array('name' => 'Chester Tester', 'email' => 'foo@example.com'));
|
||||
$v->addRule('testRule', function() { return true; });
|
||||
$v->rule('testRule', array('name', 'email'));
|
||||
$this->assertTrue($v->validate());
|
||||
}
|
||||
|
||||
public function testAddRuleClosureWithArrayAsExtraParameter()
|
||||
{
|
||||
$v = new Validator(array('name' => 'Chester Tester'));
|
||||
$v->addRule('testRule', function() { return true; });
|
||||
$v->rule('testRule', 'name', array('foo', 'bar'));
|
||||
$this->assertTrue($v->validate());
|
||||
}
|
||||
|
||||
public function testAddRuleCallback()
|
||||
{
|
||||
$v = new Validator(array('name' => 'Chester Tester'));
|
||||
$v->addRule('testRule', 'sampleFunctionCallback');
|
||||
$v->rule('testRule', 'name');
|
||||
$this->assertTrue($v->validate());
|
||||
}
|
||||
|
||||
public function sampleObjectCallback() { return true; }
|
||||
public function sampleObjectCallbackFalse() { return false; }
|
||||
public function testAddRuleCallbackArray()
|
||||
{
|
||||
$v = new Validator(array('name' => 'Chester Tester'));
|
||||
$v->addRule('testRule', array($this, 'sampleObjectCallback'));
|
||||
$v->rule('testRule', 'name');
|
||||
$this->assertTrue($v->validate());
|
||||
}
|
||||
|
||||
public function testAddRuleCallbackArrayWithArrayAsExtraParameter()
|
||||
{
|
||||
$v = new Validator(array('name' => 'Chester Tester'));
|
||||
$v->addRule('testRule', array($this, 'sampleObjectCallback'));
|
||||
$v->rule('testRule', 'name', array('foo', 'bar'));
|
||||
$this->assertTrue($v->validate());
|
||||
}
|
||||
|
||||
public function testAddRuleCallbackArrayWithArrayAsExtraParameterAndCustomMessage()
|
||||
{
|
||||
$v = new Validator(array('name' => 'Chester Tester'));
|
||||
$v->addRule('testRule', array($this, 'sampleObjectCallbackFalse'));
|
||||
$v->rule('testRule', 'name', array('foo', 'bar'))->message('Invalid name selected.');
|
||||
$this->assertFalse($v->validate());
|
||||
}
|
||||
}
|
||||
|
||||
function sampleFunctionCallback($field, $value, array $params) {
|
||||
return true;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user