Fix return value email validator

add tests for email validator
This commit is contained in:
unknown 2011-05-04 13:19:55 +04:00
parent f98843b6cf
commit 0615574123
2 changed files with 56 additions and 1 deletions

View file

@ -11,6 +11,6 @@ class Email extends AbstractRule
return false;
}
return filter_var($input, FILTER_VALIDATE_EMAIL);
return (bool) filter_var($input, FILTER_VALIDATE_EMAIL);
}
}

View file

@ -0,0 +1,55 @@
<?php
namespace Respect\Validation\Rules;
class EmailTest extends \PHPUnit_Framework_TestCase
{
/**
* @dataProvider providerForValidEmail
*/
public function testEmailValid($validEmail)
{
$validator = new Email();
$this->assertTrue($validator->validate($validEmail));
}
/**
* @dataProvider providerForInvalidEmail
* @expectedException Respect\Validation\Exceptions\EmailException
*/
public function testEmailInvalid($invalidEmail)
{
$validator = new Email();
$this->assertFalse($validator->validate($invalidEmail));
$this->assertFalse($validator->assert($invalidEmail));
}
public function providerForValidEmail()
{
return array(
array('test@test.com'),
array('mail+mail@gmail.com'),
array('mail.email@e.test.com'),
array('a@a.a')
);
}
public function providerForInvalidEmail()
{
return array(
array('test@test'),
array('test'),
array('test@тест.рф'),
array('@test.com'),
array('mail@test@test.com'),
array('test.test@'),
array('test.@test.com'),
array('test@.test.com'),
array('test@test..com'),
array('test@test.com.'),
array('.test@test.com')
);
}
}