‪TYPO3CMS  ‪main
VersionNumberUtilityTest.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;
24 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
25 
29 final class ‪VersionNumberUtilityTest extends UnitTestCase
30 {
31  public static function ‪getNumericTypo3VersionNumberDataProvider(): array
32  {
33  return [
34  [
35  '6.0-dev',
36  '6.0.0',
37  ],
38  [
39  '4.5-alpha',
40  '4.5.0',
41  ],
42  [
43  '4.5-beta',
44  '4.5.0',
45  ],
46  [
47  '4.5-RC',
48  '4.5.0',
49  ],
50  [
51  '6.0.1',
52  '6.0.1',
53  ],
54  [
55  '6.2.0beta5',
56  '6.2.0',
57  ],
58  ];
59  }
60 
65  #[DataProvider('getNumericTypo3VersionNumberDataProvider')]
66  #[Test]
67  public function ‪getNumericTypo3VersionNumber(string $currentVersion, string $expectedVersion): void
68  {
70  self::assertEquals($expectedVersion, ‪VersionNumberUtilityFixture::getNumericTypo3Version());
71  }
72 
77  {
78  return [
79  'everything ok' => [
80  '4.2.0-4.4.99',
81  [
82  '4.2.0',
83  '4.4.99',
84  ],
85  ],
86  'too high value' => [
87  '4.2.0-4.4.2990',
88  [
89  '4.2.0',
90  '4.4.999',
91  ],
92  ],
93  'empty high value' => [
94  '4.2.0-0.0.0',
95  [
96  '4.2.0',
97  '',
98  ],
99  ],
100  ];
101  }
102 
103  #[DataProvider('convertVersionsStringToVersionNumbersForcesVersionNumberInRangeDataProvider')]
104  #[Test]
105  public function ‪convertVersionsStringToVersionNumbersForcesVersionNumberInRange(string $versionString, array $expectedResult): void
106  {
108  self::assertEquals($expectedResult, $versions);
109  }
110 }
‪TYPO3\CMS\Core\Utility\VersionNumberUtility
Definition: VersionNumberUtility.php:26
‪TYPO3\CMS\Core\Tests\Unit\Utility\VersionNumberUtilityTest
Definition: VersionNumberUtilityTest.php:30
‪TYPO3\CMS\Core\Tests\Unit\Utility\VersionNumberUtilityTest\getNumericTypo3VersionNumberDataProvider
‪static getNumericTypo3VersionNumberDataProvider()
Definition: VersionNumberUtilityTest.php:31
‪TYPO3\CMS\Core\Tests\Unit\Utility
‪TYPO3\CMS\Core\Utility\VersionNumberUtility\getNumericTypo3Version
‪static getNumericTypo3Version()
Definition: VersionNumberUtility.php:51
‪TYPO3\CMS\Core\Utility\VersionNumberUtility\convertVersionsStringToVersionNumbers
‪static string[] convertVersionsStringToVersionNumbers(string $versionsString)
Definition: VersionNumberUtility.php:79
‪TYPO3\CMS\Core\Tests\Unit\Utility\Fixtures\VersionNumberUtilityFixture\$versionNumber
‪static string $versionNumber
Definition: VersionNumberUtilityFixture.php:27
‪TYPO3\CMS\Core\Tests\Unit\Utility\VersionNumberUtilityTest\convertVersionsStringToVersionNumbersForcesVersionNumberInRangeDataProvider
‪static convertVersionsStringToVersionNumbersForcesVersionNumberInRangeDataProvider()
Definition: VersionNumberUtilityTest.php:76
‪TYPO3\CMS\Core\Tests\Unit\Utility\VersionNumberUtilityTest\getNumericTypo3VersionNumber
‪getNumericTypo3VersionNumber(string $currentVersion, string $expectedVersion)
Definition: VersionNumberUtilityTest.php:67
‪TYPO3\CMS\Core\Tests\Unit\Utility\VersionNumberUtilityTest\convertVersionsStringToVersionNumbersForcesVersionNumberInRange
‪convertVersionsStringToVersionNumbersForcesVersionNumberInRange(string $versionString, array $expectedResult)
Definition: VersionNumberUtilityTest.php:105
‪TYPO3\CMS\Core\Tests\Unit\Utility\Fixtures\VersionNumberUtilityFixture
Definition: VersionNumberUtilityFixture.php:26