<?php
namespace Melody\Validation\Constraints;
use Melody\Validation\Validator as v;
class EmailTest extends \PHPUnit_Framework_TestCase
{
/**
* @dataProvider providerForValidEmail
*/
public function test_valid_email_should_pass($validEmail)
{
$this->assertTrue(v::email()->validate($validEmail));
}
/**
* @dataProvider providerForInvalidEmail
*/
public function test_invalid_emails_should_fail_validation($invalidEmail)
{
$this->assertFalse(v::email()->validate($invalidEmail));
}
public function providerForValidEmail()
{
return array(
array('[email protected]'),
array('[email protected]'),
array('[email protected]'),
array('[email protected]')
);
}
public function providerForInvalidEmail()
{
return array(
array('test@test'),
array('test'),
array('test@тест.рф'),
array('@test.com'),
array('mail@[email protected]'),
array('test.test@'),
array('[email protected]'),
array('[email protected]'),
array('[email protected]'),
array('[email protected].'),
array('[email protected]')
);
}
public function test_not_string_argument_exception()
{
$this->setExpectedException('InvalidArgumentException');
$this->assertInstanceOf('InvalidArgumentException', v::email()->validate(null));
}
}
|