Suralc
12 years ago
1 changed files with 46 additions and 0 deletions
@ -0,0 +1,46 @@
|
||||
<?php |
||||
|
||||
namespace yiiunit\framework\validators; |
||||
|
||||
|
||||
use yii\validators\FilterValidator; |
||||
use yiiunit\data\validators\models\FakedValidationModel; |
||||
use yiiunit\TestCase; |
||||
|
||||
class FilterValidatorTest extends TestCase |
||||
{ |
||||
public function testAssureExceptionOnInit() |
||||
{ |
||||
$this->setExpectedException('yii\base\InvalidConfigException'); |
||||
$val = new FilterValidator(); |
||||
} |
||||
|
||||
public function testValidateAttribute() |
||||
{ |
||||
$m = FakedValidationModel::createWithAttributes(array( |
||||
'attr_one' => ' to be trimmed ', |
||||
'attr_two' => 'set this to null', |
||||
'attr_empty1' => '', |
||||
'attr_empty2' => null |
||||
)); |
||||
$val = new FilterValidator(array('filter' => 'trim')); |
||||
$val->validateAttribute($m, 'attr_one'); |
||||
$this->assertSame('to be trimmed', $m->attr_one); |
||||
$val->filter = function ($value) { |
||||
return null; |
||||
}; |
||||
$val->validateAttribute($m, 'attr_two'); |
||||
$this->assertNull($m->attr_two); |
||||
$val->filter = array($this, 'notToBeNull'); |
||||
$val->validateAttribute($m, 'attr_empty1'); |
||||
$this->assertSame($this->notToBeNull(''), $m->attr_empty1); |
||||
$val->skipOnEmpty = true; |
||||
$val->validateAttribute($m, 'attr_empty2'); |
||||
$this->assertNotNull($m->attr_empty2); |
||||
} |
||||
|
||||
public function notToBeNull($value) |
||||
{ |
||||
return 'not null'; |
||||
} |
||||
} |
Loading…
Reference in new issue