‪TYPO3CMS  ‪main
FloatValidatorTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
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 
19 
20 use PHPUnit\Framework\Attributes\DataProvider;
21 use PHPUnit\Framework\Attributes\Test;
26 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
27 
28 final class ‪FloatValidatorTest extends FunctionalTestCase
29 {
30  protected function ‪setUp(): void
31  {
32  parent::setUp();
33  ‪$GLOBALS['LANG'] = $this->get(LanguageServiceFactory::class)->create('default');
34  $request = (new ‪ServerRequest())->withAttribute('applicationType', ‪SystemEnvironmentBuilder::REQUESTTYPE_BE);
35  ‪$GLOBALS['TYPO3_REQUEST'] = $request;
36  }
37 
38  public static function ‪validFloats(): array
39  {
40  return [
41  [1029437.234726],
42  ['123.45'],
43  ['+123.45'],
44  ['-123.45'],
45  ['123.45e3'],
46  [123450.0],
47  ];
48  }
49 
50  #[DataProvider('validFloats')]
51  #[Test]
52  public function ‪floatValidatorReturnsNoErrorsForAValidFloat(float|string $float): void
53  {
55  ‪$validator->setOptions([]);
56  self::assertFalse(‪$validator->validate($float)->hasErrors());
57  }
58 
59  public static function ‪invalidFloats(): array
60  {
61  return [
62  [1029437],
63  ['1029437'],
64  ['not a number'],
65  ];
66  }
67 
68  #[DataProvider('invalidFloats')]
69  #[Test]
70  public function ‪floatValidatorReturnsErrorForAnInvalidFloat(int|string $float): void
71  {
73  ‪$validator->setOptions([]);
74  self::assertTrue(‪$validator->validate($float)->hasErrors());
75  }
76 
81  {
83  ‪$validator->setOptions([]);
84  self::assertCount(1, ‪$validator->validate(123456)->getErrors());
85  }
86 }
‪TYPO3\CMS\Core\Localization\LanguageServiceFactory
Definition: LanguageServiceFactory.php:25
‪TYPO3\CMS\Extbase\Tests\Functional\Validation\Validator
Definition: AlphanumericValidatorTest.php:18
‪TYPO3\CMS\Extbase\Tests\Functional\Validation\Validator\FloatValidatorTest\floatValidatorReturnsErrorForAnInvalidFloat
‪floatValidatorReturnsErrorForAnInvalidFloat(int|string $float)
Definition: FloatValidatorTest.php:70
‪TYPO3\CMS\Extbase\Tests\Functional\Validation\Validator\FloatValidatorTest\floatValidatorReturnsNoErrorsForAValidFloat
‪floatValidatorReturnsNoErrorsForAValidFloat(float|string $float)
Definition: FloatValidatorTest.php:52
‪TYPO3\CMS\Core\Core\SystemEnvironmentBuilder
Definition: SystemEnvironmentBuilder.php:41
‪TYPO3\CMS\Core\Core\SystemEnvironmentBuilder\REQUESTTYPE_BE
‪const REQUESTTYPE_BE
Definition: SystemEnvironmentBuilder.php:45
‪TYPO3\CMS\Extbase\Tests\Functional\Validation\Validator\FloatValidatorTest\invalidFloats
‪static invalidFloats()
Definition: FloatValidatorTest.php:59
‪TYPO3\CMS\Extbase\Tests\Functional\Validation\Validator\FloatValidatorTest\setUp
‪setUp()
Definition: FloatValidatorTest.php:30
‪TYPO3\CMS\Extbase\Tests\Functional\Validation\Validator\FloatValidatorTest\validFloats
‪static validFloats()
Definition: FloatValidatorTest.php:38
‪$validator
‪if(isset($args['d'])) $validator
Definition: validateRstFiles.php:262
‪TYPO3\CMS\Extbase\Tests\Functional\Validation\Validator\FloatValidatorTest\floatValidatorCreatesTheCorrectErrorForAnInvalidSubject
‪floatValidatorCreatesTheCorrectErrorForAnInvalidSubject()
Definition: FloatValidatorTest.php:80
‪TYPO3\CMS\Core\Http\ServerRequest
Definition: ServerRequest.php:39
‪TYPO3\CMS\Extbase\Tests\Functional\Validation\Validator\FloatValidatorTest
Definition: FloatValidatorTest.php:29
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Extbase\Validation\Validator\FloatValidator
Definition: FloatValidator.php:24