Suralc
12 years ago
3 changed files with 105 additions and 0 deletions
@ -0,0 +1,53 @@ |
|||||||
|
<?php |
||||||
|
namespace yiiunit\framework\validators; |
||||||
|
use yiiunit\framework\validators\FakedValidationModel; |
||||||
|
use yii\validators\BooleanValidator; |
||||||
|
use yiiunit\TestCase; |
||||||
|
|
||||||
|
require_once __DIR__ . '/FakedValidationModel.php'; |
||||||
|
/** |
||||||
|
* BooleanValidatorTest |
||||||
|
*/ |
||||||
|
class BooleanValidatorTest extends TestCase |
||||||
|
{ |
||||||
|
public function testValidateValue() |
||||||
|
{ |
||||||
|
$val = new BooleanValidator; |
||||||
|
$this->assertTrue($val->validateValue(true)); |
||||||
|
$this->assertTrue($val->validateValue(false)); |
||||||
|
$this->assertTrue($val->validateValue('0')); |
||||||
|
$this->assertTrue($val->validateValue('1')); |
||||||
|
$this->assertTrue($val->validateValue(null)); |
||||||
|
$this->assertTrue($val->validateValue(array())); |
||||||
|
$val->strict = true; |
||||||
|
$this->assertTrue($val->validateValue('0')); |
||||||
|
$this->assertTrue($val->validateValue('1')); |
||||||
|
$this->assertFalse($val->validateValue(true)); |
||||||
|
$this->assertFalse($val->validateValue(false)); |
||||||
|
$val->trueValue = true; |
||||||
|
$val->falseValue = false; |
||||||
|
$this->assertFalse($val->validateValue('0')); |
||||||
|
$this->assertFalse($val->validateValue(array())); |
||||||
|
$this->assertTrue($val->validateValue(true)); |
||||||
|
$this->assertTrue($val->validateValue(false)); |
||||||
|
} |
||||||
|
|
||||||
|
public function testValidateAttributeAndError() |
||||||
|
{ |
||||||
|
$obj = new FakedValidationModel; |
||||||
|
$obj->attrA = true; |
||||||
|
$obj->attrB = '1'; |
||||||
|
$obj->attrC = '0'; |
||||||
|
$obj->attrD = array(); |
||||||
|
$val = new BooleanValidator; |
||||||
|
$val->validateAttribute($obj, 'attrA'); |
||||||
|
$this->assertFalse(isset($obj->errors['attrA'])); |
||||||
|
$val->validateAttribute($obj, 'attrC'); |
||||||
|
$this->assertFalse(isset($obj->errors['attrC'])); |
||||||
|
$val->strict = true; |
||||||
|
$val->validateAttribute($obj, 'attrB'); |
||||||
|
$this->assertFalse(isset($obj->errors['attrB'])); |
||||||
|
$val->validateAttribute($obj, 'attrD'); |
||||||
|
$this->assertTrue(isset($obj->errors['attrD'])); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,32 @@ |
|||||||
|
<?php |
||||||
|
namespace yiiunit\framework\validators; |
||||||
|
use yii\validators\DefaultValueValidator; |
||||||
|
use yiiunit\TestCase; |
||||||
|
|
||||||
|
/** |
||||||
|
* DefaultValueValidatorTest |
||||||
|
*/ |
||||||
|
class DefaultValueValidatorTest extends TestCase |
||||||
|
{ |
||||||
|
public function testValidateAttribute() |
||||||
|
{ |
||||||
|
$val = new DefaultValueValidator; |
||||||
|
$val->value = 'test_value'; |
||||||
|
$obj = new \stdclass; |
||||||
|
$obj->attrA = 'attrA'; |
||||||
|
$obj->attrB = null; |
||||||
|
$obj->attrC = ''; |
||||||
|
// original values to chek which attritubes where modified |
||||||
|
$objB = clone $obj; |
||||||
|
$val->validateAttribute($obj, 'attrB'); |
||||||
|
$this->assertEquals($val->value, $obj->attrB); |
||||||
|
$this->assertEquals($objB->attrA, $obj->attrA); |
||||||
|
$val->value = 'new_test_value'; |
||||||
|
$obj = clone $objB; // get clean object |
||||||
|
$val->validateAttribute($obj, 'attrC'); |
||||||
|
$this->assertEquals('new_test_value', $obj->attrC); |
||||||
|
$this->assertEquals($objB->attrA, $obj->attrA); |
||||||
|
$val->validateAttribute($obj, 'attrA'); |
||||||
|
$this->assertEquals($objB->attrA, $obj->attrA); |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,20 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
namespace yiiunit\framework\validators; |
||||||
|
|
||||||
|
/** |
||||||
|
* @codeCoverageIgnore |
||||||
|
*/ |
||||||
|
class FakedValidationModel |
||||||
|
{ |
||||||
|
public $errors = array(); |
||||||
|
public function getAttributeLabel($attr) |
||||||
|
{ |
||||||
|
return 'Attr-Label: '.$attr; |
||||||
|
} |
||||||
|
|
||||||
|
public function addError($attribute, $message) |
||||||
|
{ |
||||||
|
$this->errors[$attribute] = $message; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue