2016-09-10 01:41:21 +03:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace bkrukowski\Gordianus\Tests;
|
|
|
|
|
|
|
|
use bkrukowski\Gordianus\Gordianus;
|
|
|
|
use bkrukowski\Gordianus\InvalidEmailException;
|
|
|
|
|
|
|
|
class GordianusTest extends \PHPUnit_Framework_TestCase
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @dataProvider providerValidator
|
|
|
|
*
|
|
|
|
* @param string $email
|
|
|
|
* @param bool $validEmail
|
|
|
|
*/
|
|
|
|
public function testValidator(string $email, bool $validEmail)
|
|
|
|
{
|
|
|
|
if (!$validEmail) {
|
|
|
|
$this->expectException(InvalidEmailException::class);
|
|
|
|
}
|
|
|
|
(new Gordianus())->getPrimaryEmail($email);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function providerValidator()
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
['john.doe@gmail.comm', true],
|
|
|
|
['john doe@gmail.com', false],
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @dataProvider providerGetPrimaryEmail
|
|
|
|
*
|
|
|
|
* @param Gordianus $gordianus
|
|
|
|
* @param string $email
|
|
|
|
* @param string $expectedEmail
|
|
|
|
*/
|
|
|
|
public function testGetPrimaryEmail(Gordianus $gordianus, string $email, string $expectedEmail)
|
|
|
|
{
|
|
|
|
$this->assertSame($expectedEmail, $gordianus->getPrimaryEmail($email));
|
|
|
|
}
|
|
|
|
|
|
|
|
public function providerGetPrimaryEmail()
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
[new Gordianus([Gordianus::SERVICE_TLEN_PL]), 'john.doe+alias@gmail.com', 'john.doe+alias@gmail.com'],
|
|
|
|
[new Gordianus(), 'john.doe+alias@gmail.com', 'johndoe@gmail.com'],
|
2016-09-10 02:39:01 +03:00
|
|
|
[new Gordianus([]), 'John.Doe@example.com', 'john.doe@example.com'],
|
|
|
|
[new Gordianus([], true), 'John.Doe@example.com', 'John.Doe@example.com'],
|
2016-09-10 10:26:16 +03:00
|
|
|
[new Gordianus(Gordianus::ALL_SERVICES, true), 'John.Doe@gmail.com', 'johndoe@gmail.com'],
|
2016-09-10 13:15:37 +03:00
|
|
|
[new Gordianus(), 'Jane.Doe+receipts@hotmail.com', 'jane.doe@hotmail.com'],
|
2016-09-10 01:41:21 +03:00
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|