forked from php-value-object/email
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEmailTest.php
74 lines (64 loc) · 2.58 KB
/
EmailTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
declare(strict_types=1);
namespace Tests\ValueObject\Email;
use InvalidArgumentException;
use PHPUnit\Framework\TestCase;
use ValueObject\Email\EmailAddress;
class EmailTest extends TestCase
{
public function testSimpleEmail()
{
$value = new EmailAddress('user@host');
$this->assertSame('host', $value->getHost());
$this->assertSame('user', $value->getUser());
$this->assertSame('user@host', $value->getEmail());
$this->assertNull($value->getName());
$this->assertNull($value->getTag());
$this->assertSame('user@host', $value->getValue());
}
public function testEmailWithTag()
{
$value = new EmailAddress('user+tag@host');
$this->assertSame('host', $value->getHost());
$this->assertSame('user', $value->getUser());
$this->assertSame('user+tag@host', $value->getEmail());
$this->assertNull($value->getName());
$this->assertSame('tag', $value->getTag());
$this->assertSame('user+tag@host', $value->getValue());
}
public function testEmailWithName()
{
$value = new EmailAddress('User <user@host>');
$this->assertSame('host', $value->getHost());
$this->assertSame('user', $value->getUser());
$this->assertSame('user@host', $value->getEmail());
$this->assertSame('User', $value->getName());
$this->assertNull($value->getTag());
$this->assertSame('User <user@host>', $value->getValue());
}
public function testEmailWithTagAndName()
{
$value = new EmailAddress('Mr. Nobody <user+tag@host>');
$this->assertSame('host', $value->getHost());
$this->assertSame('user', $value->getUser());
$this->assertSame('user+tag@host', $value->getEmail());
$this->assertSame('Mr. Nobody', $value->getName());
$this->assertSame('tag', $value->getTag());
$this->assertSame('"Mr. Nobody" <user+tag@host>', $value->getValue());
}
public function testEmailWithTagAndQuotedName()
{
$value = new EmailAddress('"Mr. Nobody" <user+tag@host>');
$this->assertSame('host', $value->getHost());
$this->assertSame('user', $value->getUser());
$this->assertSame('user+tag@host', $value->getEmail());
$this->assertSame('Mr. Nobody', $value->getName());
$this->assertSame('tag', $value->getTag());
$this->assertSame('"Mr. Nobody" <user+tag@host>', $value->getValue());
}
public function testThree()
{
$this->expectException(InvalidArgumentException::class);
new EmailAddress('test@tag@phpunit');
}
}