[TASK] Streamline phpdoc annotations in EXT:extbase
[Packages/TYPO3.CMS.git] / typo3 / sysext / extbase / Tests / Unit / Validation / Validator / StringValidatorTest.php
1 <?php
2 declare(strict_types = 1);
3 namespace TYPO3\CMS\Extbase\Tests\Unit\Validation\Validator;
4
5 /*
6 * This file is part of the TYPO3 CMS project.
7 *
8 * It is free software; you can redistribute it and/or modify it under
9 * the terms of the GNU General Public License, either version 2
10 * of the License, or any later version.
11 *
12 * For the full copyright and license information, please read the
13 * LICENSE.txt file that was distributed with this source code.
14 *
15 * The TYPO3 project - inspiring people to share!
16 */
17
18 use TYPO3\CMS\Extbase\Validation\Validator\StringValidator;
19 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
20
21 /**
22 * Testcase for the string length validator
23 */
24 class StringValidatorTest extends UnitTestCase
25 {
26 /**
27 * @test
28 */
29 public function stringValidatorShouldValidateString()
30 {
31 $this->assertFalse((new StringValidator())->validate('Hello World')->hasErrors());
32 }
33
34 /**
35 * @test
36 */
37 public function stringValidatorShouldReturnErrorIfNumberIsGiven()
38 {
39 /** @var StringValidator $validator */
40 $validator = $this->getMockBuilder(StringValidator::class)
41 ->setMethods(['translateErrorMessage'])
42 ->getMock();
43
44 $this->assertTrue($validator->validate(42)->hasErrors());
45 }
46
47 /**
48 * @test
49 */
50 public function stringValidatorShouldReturnErrorIfObjectWithToStringMethodStringIsGiven()
51 {
52 /** @var StringValidator $validator */
53 $validator = $this->getMockBuilder(StringValidator::class)
54 ->setMethods(['translateErrorMessage'])
55 ->getMock();
56
57 $object = new class() {
58 /** @return string */
59 public function __toString()
60 {
61 return 'ASDF';
62 }
63 };
64
65 $this->assertTrue($validator->validate($object)->hasErrors());
66 }
67 }