[BUGFIX] EXT:form Validation of email
[Packages/TYPO3.CMS.git] / typo3 / sysext / form / Tests / Unit / Validator / EmailValidatorTest.php
1 <?php
2 namespace TYPO3\CMS\Form\Tests\Unit\Validator;
3
4 /*
5 * This file is part of the TYPO3 CMS project.
6 *
7 * It is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU General Public License, either version 2
9 * of the License, or any later version.
10 *
11 * For the full copyright and license information, please read the
12 * LICENSE.txt file that was distributed with this source code.
13 *
14 * The TYPO3 project - inspiring people to share!
15 */
16
17 /**
18 * Test case
19 */
20 class EmailValidatorTest extends AbstractValidatorTest
21 {
22 /**
23 * @var string
24 */
25 protected $subjectClassName = \TYPO3\CMS\Form\Domain\Validator\EmailValidator::class;
26
27 /**
28 * @return array
29 */
30 public function validEmailProvider()
31 {
32 return array(
33 'a@b.de' => array('a@b.de'),
34 'somebody@mymac.local' => array('somebody@mymac.local'),
35 'empty value' => array(''),
36 'unexpected value' => array(array()),
37 );
38 }
39
40 /**
41 * @return array
42 */
43 public function invalidEmailProvider()
44 {
45 return array(
46 'myemail@' => array('myemail@'),
47 'myemail' => array('myemail'),
48 'somebody@localhost' => array('somebody@localhost'),
49 );
50 }
51
52 /**
53 * @test
54 * @dataProvider validEmailProvider
55 */
56 public function validateForValidInputHasEmptyErrorResult($input)
57 {
58 $options = array('element' => uniqid('test'), 'errorMessage' => uniqid('error'));
59 $subject = $this->createSubject($options);
60
61 $this->assertEmpty(
62 $subject->validate($input)->getErrors()
63 );
64 }
65
66 /**
67 * @test
68 * @dataProvider invalidEmailProvider
69 */
70 public function validateForInvalidInputHasNotEmptyErrorResult($input)
71 {
72 $options = array('element' => uniqid('test'), 'errorMessage' => uniqid('error'));
73 $subject = $this->createSubject($options);
74
75 $this->assertNotEmpty(
76 $subject->validate($input)->getErrors()
77 );
78 }
79 }