TYPO3 CMS  TYPO3_7-6
DateValidatorTest.php
Go to the documentation of this file.
1 <?php
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 
21 {
25  protected $subjectClassName = \TYPO3\CMS\Form\Domain\Validator\DateValidator::class;
26 
30  public function validDateProvider()
31  {
32  return [
33  '28-03-2012' => [['%e-%m-%Y', '28-03-2012']],
34  '8-03-2012' => [['%e-%m-%Y', '8-03-2012']],
35  '29-02-2012' => [['%d-%m-%Y', '29-02-2012']]
36  ];
37  }
38 
42  public function invalidDateProvider()
43  {
44  return [
45  '32-03-2012' => [['%d-%m-%Y', '32-03-2012']],
46  '31-13-2012' => [['%d-%m-%Y', '31-13-2012']],
47  '29-02-2011' => [['%d-%m-%Y', '29-02-2011']]
48  ];
49  }
50 
56  public function validateForValidInputHasEmptyErrorResult(array $input)
57  {
58  $options = ['element' => uniqid('test'), 'errorMessage' => uniqid('error')];
59  $options['format'] = $input[0];
60  $subject = $this->createSubject($options);
61 
62  $this->assertEmpty(
63  $subject->validate($input[1])->getErrors()
64  );
65  }
66 
72  public function validateForInvalidInputHasNotEmptyErrorResult(array $input)
73  {
74  $options = ['element' => uniqid('test'), 'errorMessage' => uniqid('error')];
75  $options['format'] = $input[0];
76  $subject = $this->createSubject($options);
77 
78  $subject->expects($this->once())
79  ->method('humanReadableDateFormat')
80  ->willReturnArgument(0);
81 
82  $this->assertNotEmpty(
83  $subject->validate($input[1])->getErrors()
84  );
85  }
86 }