1 changed files with 61 additions and 0 deletions
			
			
		| @ -0,0 +1,61 @@ | ||||
| <?php | ||||
| 
 | ||||
| namespace yiiunit\framework\validators; | ||||
| 
 | ||||
| use DateTime; | ||||
| use yii\validators\DateValidator; | ||||
| use yiiunit\TestCase; | ||||
| 
 | ||||
| require_once __DIR__ . '/FakedValidationModel.php'; | ||||
| 
 | ||||
| class DateValidatorTest extends TestCase | ||||
| { | ||||
| 	public function testEnsureMessageIsSet() | ||||
| 	{ | ||||
| 		$val = new DateValidator; | ||||
| 		$this->assertTrue($val->message !== null && strlen($val->message) > 1); | ||||
| 	} | ||||
| 
 | ||||
| 	public function testValidateValue() | ||||
| 	{ | ||||
| 		$val = new DateValidator; | ||||
| 		$this->assertTrue($val->validateValue('2013-09-13')); | ||||
| 		$this->assertFalse($val->validateValue('31.7.2013')); | ||||
| 		$this->assertFalse($val->validateValue('31-7-2013')); | ||||
| 		$this->assertFalse($val->validateValue(time())); | ||||
| 		$val->format = 'U'; | ||||
| 		$this->assertTrue($val->validateValue(time())); | ||||
| 		$val->format = 'd.m.Y'; | ||||
| 		$this->assertTrue($val->validateValue('31.7.2013')); | ||||
| 		$val->format = 'Y-m-!d H:i:s'; | ||||
| 		$this->assertTrue($val->validateValue('2009-02-15 15:16:17')); | ||||
| 	} | ||||
| 
 | ||||
| 	public function testValidateAttribute() | ||||
| 	{ | ||||
| 		// error-array-add | ||||
| 		$val = new DateValidator; | ||||
| 		$model = new FakedValidationModel; | ||||
| 		$model->attr_date = '2013-09-13'; | ||||
| 		$val->validateAttribute($model, 'attr_date'); | ||||
| 		$this->assertFalse($model->hasErrors('attr_date')); | ||||
| 		$model = new FakedValidationModel; | ||||
| 		$model->attr_date = '1375293913'; | ||||
| 		$val->validateAttribute($model, 'attr_date'); | ||||
| 		$this->assertTrue($model->hasErrors('attr_date')); | ||||
| 		//// timestamp attribute | ||||
| 		$val = new DateValidator(array('timestampAttribute' => 'attr_timestamp')); | ||||
| 		$model = new FakedValidationModel; | ||||
| 		$model->attr_date = '2013-09-13'; | ||||
| 		$model->attr_timestamp = true; | ||||
| 		$val->validateAttribute($model, 'attr_date'); | ||||
| 		$this->assertFalse($model->hasErrors('attr_date')); | ||||
| 		$this->assertFalse($model->hasErrors('attr_timestamp')); | ||||
| 		$this->assertEquals( | ||||
| 			DateTime::createFromFormat($val->format, '2013-09-13')->getTimestamp(), | ||||
| 			$model->attr_timestamp | ||||
| 		); | ||||
| 
 | ||||
| 
 | ||||
| 	} | ||||
| } | ||||
					Loading…
					
					
				
		Reference in new issue