376b3f46eefedec0a349b91f994ea9b7ccbe2aaa
[Packages/TYPO3.CMS.git] / typo3 / sysext / form / Tests / Unit / Validator / RequiredValidatorTest.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 RequiredValidatorTest extends AbstractValidatorTest
21 {
22 /**
23 * @var string
24 */
25 protected $subjectClassName = \TYPO3\CMS\Form\Domain\Validator\RequiredValidator::class;
26
27 /**
28 * @return array
29 */
30 public function validDataProvider()
31 {
32 return array(
33 'a' => array('a'),
34 'a b' => array('a b'),
35 '"0"' => array('0'),
36 '0' => array(0)
37 );
38 }
39
40 /**
41 * @return array
42 */
43 public function invalidDataProvider()
44 {
45 return array(
46 'empty string' => array(''),
47 );
48 }
49
50 /**
51 * @test
52 * @dataProvider validDataProvider
53 */
54 public function validateForValidDataHasEmptyErrorResult($input)
55 {
56 $options = array('element' => uniqid('test'), 'errorMessage' => uniqid('error'));
57 $subject = $this->createSubject($options);
58
59 $this->assertEmpty(
60 $subject->validate($input)->getErrors()
61 );
62 }
63
64 /**
65 * @test
66 * @dataProvider invalidDataProvider
67 */
68 public function validateForInvalidDataHasNotEmptyErrorResult($input)
69 {
70 $options = array('element' => uniqid('test'), 'errorMessage' => uniqid('error'));
71 $subject = $this->createSubject($options);
72
73 $this->assertNotEmpty(
74 $subject->validate($input)->getErrors()
75 );
76 }
77 }