‪TYPO3CMS  11.5
CoreVersionServiceTest.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 Prophecy\Argument;
21 use Prophecy\PhpUnit\ProphecyTrait;
26 use TYPO3\CMS\Install\Service\CoreVersionService;
27 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
28 
32 class ‪CoreVersionServiceTest extends UnitTestCase
33 {
34  use ProphecyTrait;
35 
39  protected ‪$resetSingletonInstances = true;
40 
41  public function ‪setUpApiResponse(string $url, array $responseData): void
42  {
43  $response = new ‪JsonResponse($responseData);
44  $requestFactory = $this->prophesize(RequestFactory::class);
45  $requestFactory->request('https://get.typo3.org/api/v1/' . $url, Argument::cetera())->willReturn($response);
46  GeneralUtility::addInstance(RequestFactory::class, $requestFactory->reveal());
47  }
48 
53  {
54  $this->‪setUpApiResponse(
55  'major/9',
56  [
57  'version' => 9.0,
58  'title' => 'TYPO3 v9',
59  'release_date' => '2018-01-30T00:00:00+01:00',
60  ]
61  );
62 
63  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledMajorVersion']);
64  $instance->expects(self::once())->method('getInstalledMajorVersion')->willReturn('9');
65 
66  $result = $instance->getMaintenanceWindow()->isSupportedByCommunity();
67 
68  self::assertFalse($result);
69  }
70 
75  {
76  $this->‪setUpApiResponse(
77  'major/9',
78  [
79  'version' => 9.0,
80  'title' => 'TYPO3 v9',
81  'release_date' => '2018-01-30T00:00:00+01:00',
82  'maintained_until' => '2222-01-30T00:00:00+01:00',
83  ]
84  );
85 
86  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledMajorVersion']);
87  $instance->expects(self::once())->method('getInstalledMajorVersion')->willReturn('9');
88 
89  $result = $instance->getMaintenanceWindow()->isSupportedByCommunity();
90 
91  self::assertTrue($result);
92  }
93 
98  {
99  $this->‪setUpApiResponse(
100  'major/7',
101  [
102  'version' => 7,
103  'title' => 'TYPO3 v7',
104  'maintained_until' => '2003-02-18T08:10:14+00:00',
105  'release_date' => '2002-06-03T12:01:07+00:00',
106  ]
107  );
108 
109  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledMajorVersion']);
110  $instance->expects(self::once())->method('getInstalledMajorVersion')->willReturn('7');
111 
112  $result = $instance->getMaintenanceWindow()->isSupportedByCommunity();
113 
114  self::assertFalse($result);
115  }
116 
121  {
122  $this->‪setUpApiResponse(
123  'major/9',
124  [
125  'version' => 9.0,
126  'title' => 'TYPO3 v9',
127  'release_date' => '2018-01-30T00:00:00+01:00',
128  ]
129  );
130 
131  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledMajorVersion']);
132  $instance->expects(self::once())->method('getInstalledMajorVersion')->willReturn('9');
133 
134  $result = $instance->getMaintenanceWindow()->isSupportedByElts();
135 
136  self::assertFalse($result);
137  }
138 
143  {
144  $this->‪setUpApiResponse(
145  'major/9',
146  [
147  'version' => 9.0,
148  'title' => 'TYPO3 v9',
149  'release_date' => '2018-01-30T00:00:00+01:00',
150  'elts_until' => '2222-01-30T00:00:00+01:00',
151  ]
152  );
153 
154  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledMajorVersion']);
155  $instance->expects(self::once())->method('getInstalledMajorVersion')->willReturn('9');
156 
157  $result = $instance->getMaintenanceWindow()->isSupportedByElts();
158 
159  self::assertTrue($result);
160  }
161 
166  {
167  $this->‪setUpApiResponse(
168  'major/7',
169  [
170  'version' => 7,
171  'title' => 'TYPO3 v7',
172  'maintained_until' => '2003-02-18T08:10:14+00:00',
173  'elts_until' => '2002-06-03T12:01:07+00:00',
174  ]
175  );
176 
177  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledMajorVersion']);
178  $instance->expects(self::once())->method('getInstalledMajorVersion')->willReturn('7');
179 
180  $result = $instance->getMaintenanceWindow()->isSupportedByElts();
181 
182  self::assertFalse($result);
183  }
184 
190  {
191  $this->‪setUpApiResponse(
192  'major',
193  [
194  [
195  'version' => 11,
196  'title' => 'TYPO3 11',
197  'maintained_until' => (new \DateTimeImmutable('+3 years'))->format(\DateTimeInterface::ATOM),
198  'elts_until' => (new \DateTimeImmutable('+ 6 years'))->format(\DateTimeInterface::ATOM),
199  ],
200  [
201  'version' => 10,
202  'title' => 'TYPO3 10 LTS',
203  'maintained_until' => (new \DateTimeImmutable('+2 years'))->format(\DateTimeInterface::ATOM),
204  'elts_until' => (new \DateTimeImmutable('+ 5 years'))->format(\DateTimeInterface::ATOM),
205  'lts' => 10.4,
206  ],
207  [
208  'version' => 9,
209  'title' => 'TYPO3 9 LTS',
210  'maintained_until' => (new \DateTimeImmutable('+2 months'))->format(\DateTimeInterface::ATOM),
211  'elts_until' => (new \DateTimeImmutable('+3 years'))->format(\DateTimeInterface::ATOM),
212  'lts' => 9.5,
213  ],
214  [
215  'version' => 8,
216  'title' => 'TYPO3 8 ELTS',
217  'maintained_until' => (new \DateTimeImmutable('-1 year'))->format(\DateTimeInterface::ATOM),
218  'elts_until' => (new \DateTimeImmutable('+2 years'))->format(\DateTimeInterface::ATOM),
219  'lts' => 8.7,
220  ],
221  [
222  'version' => 7,
223  'title' => 'TYPO3 7 ELTS',
224  'maintained_until' => (new \DateTimeImmutable('-3 years'))->format(\DateTimeInterface::ATOM),
225  'elts_until' => (new \DateTimeImmutable('+2 months'))->format(\DateTimeInterface::ATOM),
226  'lts' => 7.6,
227  ],
228  [
229  'version' => 6,
230  'title' => 'TYPO3 6 ELTS',
231  'maintained_until' => (new \DateTimeImmutable('-4 years'))->format(\DateTimeInterface::ATOM),
232  'elts_until' => (new \DateTimeImmutable('-5 months'))->format(\DateTimeInterface::ATOM),
233  'lts' => 6.2,
234  ],
235  ]
236  );
237 
238  $instance = $this->getAccessibleMock(CoreVersionService::class, ['dummy']);
239  $result = $instance->getSupportedMajorReleases();
240 
241  $expectation = [
242  'community' => ['11', '10.4', '9.5'],
243  'elts' => ['8.7', '7.6'],
244  ];
245  self::assertSame($expectation, $result);
246  }
247 
252  {
253  $this->‪setUpApiResponse(
254  'major/9/release/latest',
255  [
256  'version' => '9.1.0',
257  'date' => '2018-01-30T15:44:52+00:00',
258  'type' => 'regular',
259  'tar_package' => [
260  'sha1sum' => '3a277826d716eb4e82a36a2200deefd76d15378c',
261  ],
262  ]
263  );
264 
265  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledVersion', 'getInstalledMajorVersion']);
266  $instance->expects(self::atLeastOnce())->method('getInstalledMajorVersion')->willReturn('9');
267  $instance->expects(self::atLeastOnce())->method('getInstalledVersion')->willReturn('9.0.0');
268 
269  $coreRelease = $instance->getYoungestPatchRelease();
270  $result = $instance->isPatchReleaseSuitableForUpdate($coreRelease);
271 
272  self::assertTrue($result);
273  }
274 
279  {
280  $this->‪setUpApiResponse(
281  'major/9/release/latest',
282  [
283  'version' => '9.1.0',
284  'date' => '2018-01-30T15:44:52+00:00',
285  'type' => 'regular',
286  'tar_package' => [
287  'sha1sum' => '3a277826d716eb4e82a36a2200deefd76d15378c',
288  ],
289  ]
290  );
291 
292  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledVersion', 'getInstalledMajorVersion']);
293  $instance->expects(self::atLeastOnce())->method('getInstalledMajorVersion')->willReturn('9');
294  $instance->expects(self::atLeastOnce())->method('getInstalledVersion')->willReturn('9.1.0');
295 
296  $coreRelease = $instance->getYoungestPatchRelease();
297  $result = $instance->isPatchReleaseSuitableForUpdate($coreRelease);
298 
299  self::assertFalse($result);
300  }
301 
306  {
307  $coreRelease = new CoreRelease('8.7.5', new \DateTimeImmutable('2017-09-05T10:54:18+00:00'), 'security', 'e79466bffc81f270f5c262d01a125e82b2e1989a');
308 
309  $this->‪setUpApiResponse(
310  'major/8/release',
311  [
312  [
313  'version' => '8.7.1',
314  'date' => '2017-04-18T17:05:53+00:00',
315  'type' => 'regular',
316  'tar_package' => [
317  'sha1sum' => 'e79466bffc81f270f5c262d01a125e82b2e1989a',
318  ],
319  ],
320  [
321  'version' => '8.7.4',
322  'date' => '2017-07-25T16:47:27+00:00',
323  'type' => 'regular',
324  'tar_package' => [
325  'sha1sum' => '1129c740796aabbf2efbc5e43f892debe7e1d583',
326  ],
327  ],
328  [
329  'version' => '8.7.5',
330  'date' => '2017-09-05T10:54:18+00:00',
331  'type' => 'security',
332  'tar_package' => [
333  'sha1sum' => 'e79466bffc81f270f5c262d01a125e82b2e1989a',
334  ],
335  ],
336  ]
337  );
338 
339  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledVersion', 'getInstalledMajorVersion']);
340  $instance->expects(self::atLeastOnce())->method('getInstalledMajorVersion')->willReturn('8');
341  $instance->expects(self::atLeastOnce())->method('getInstalledVersion')->willReturn('8.7.1');
342 
343  $result = $instance->isUpdateSecurityRelevant($coreRelease);
344 
345  self::assertTrue($result);
346  }
347 
352  {
353  $coreRelease = new CoreRelease('8.7.6', new \DateTimeImmutable('2017-09-05T10:54:18+00:00'), 'security', 'e79466bffc81f270f5c262d01a125e82b2e1989a');
354 
355  $this->‪setUpApiResponse(
356  'major/8/release',
357  [
358  [
359  'version' => '8.7.5',
360  'date' => '2017-09-05T10:54:18+00:00',
361  'type' => 'security',
362  'tar_package' => [
363  'sha1sum' => 'e79466bffc81f270f5c262d01a125e82b2e1989a',
364  ],
365  ],
366  [
367  'version' => '8.7.6',
368  'date' => '2017-09-05T10:54:18+00:00',
369  'type' => 'regular',
370  'tar_package' => [
371  'sha1sum' => 'e79466bffc81f270f5c262d01a125e82b2e1989a',
372  ],
373  ],
374  [
375  'version' => '8.7.33',
376  'date' => '2020-05-12T00:00:00+02:00',
377  'type' => 'security',
378  'tar_package' => [
379  'sha1sum' => '2dd44ab6c98c3f07a0bbe4af6ccc5d7ced7e5856',
380  ],
381  ],
382  ]
383  );
384 
385  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledVersion', 'getInstalledMajorVersion']);
386  $instance->expects(self::atLeastOnce())->method('getInstalledMajorVersion')->willReturn('8');
387  $instance->expects(self::atLeastOnce())->method('getInstalledVersion')->willReturn('8.7.5');
388 
389  $result = $instance->isUpdateSecurityRelevant($coreRelease);
390 
391  self::assertFalse($result);
392  }
393 
398  {
399  $coreRelease = new CoreRelease('8.7.6', new \DateTimeImmutable('2017-09-05T10:54:18+00:00'), 'security', 'e79466bffc81f270f5c262d01a125e82b2e1989a');
400 
401  $this->‪setUpApiResponse(
402  'major/8/release',
403  [
404  [
405  'version' => '8.7.5',
406  'date' => '2017-09-05T10:54:18+00:00',
407  'type' => 'security',
408  'tar_package' => [
409  'sha1sum' => 'e79466bffc81f270f5c262d01a125e82b2e1989a',
410  ],
411  ],
412  [
413  'version' => '8.7.6',
414  'date' => '2017-09-05T10:54:18+00:00',
415  'type' => 'regular',
416  'tar_package' => [
417  'sha1sum' => 'e79466bffc81f270f5c262d01a125e82b2e1989a',
418  ],
419  ],
420  ]
421  );
422 
423  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledVersion', 'getInstalledMajorVersion']);
424  $instance->expects(self::atLeastOnce())->method('getInstalledVersion')->willReturn('8.7.5');
425  $instance->expects(self::atLeastOnce())->method('getInstalledMajorVersion')->willReturn('8');
426 
427  $result = $instance->isUpdateSecurityRelevant($coreRelease);
428 
429  self::assertFalse($result);
430  }
431 
436  public function ‪isCurrentInstalledVersionEltsReturnsExpectedResult(string $major, string $version, bool $expectation): void
437  {
438  $this->‪setUpApiResponse(
439  'major/8/release',
440  [
441  [
442  'version' => '8.7.1',
443  'date' => '2017-04-18T17:05:53+00:00',
444  'type' => 'regular',
445  'elts' => false,
446  'tar_package' => [
447  'sha1sum' => 'e79466bffc81f270f5c262d01a125e82b2e1989a',
448  ],
449  ],
450  [
451  'version' => '8.7.4',
452  'date' => '2017-07-25T16:47:27+00:00',
453  'type' => 'regular',
454  'elts' => false,
455  'tar_package' => [
456  'sha1sum' => '1129c740796aabbf2efbc5e43f892debe7e1d583',
457  ],
458  ],
459  [
460  'version' => '8.7.33',
461  'date' => '2020-05-12T00:00:00+02:00',
462  'type' => 'security',
463  'elts' => true,
464  'tar_package' => [
465  'sha1sum' => '2dd44ab6c98c3f07a0bbe4af6ccc5d7ced7e5856',
466  ],
467  ],
468  ]
469  );
470 
471  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledMajorVersion', 'getInstalledVersion']);
472  $instance->expects(self::atLeastOnce())->method('getInstalledMajorVersion')->willReturn($major);
473  $instance->expects(self::atLeastOnce())->method('getInstalledVersion')->willReturn($version);
474 
475  self::assertSame($expectation, $instance->isCurrentInstalledVersionElts());
476  }
477 
479  {
480  return [
481  ['8', '8.7.4', false],
482  ['8', '8.7.33', true],
483  ];
484  }
485 
490  public function ‪getYoungestPatchReleaseReturnsLatestReleaseForCurrentMajorVersion(string $major, array $response): void
491  {
492  $this->‪setUpApiResponse(
493  'major/' . $major . '/release/latest',
494  $response
495  );
496 
497  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledMajorVersion']);
498  $instance->expects(self::atLeastOnce())->method('getInstalledMajorVersion')->willReturn($major);
499 
500  $result = $instance->getYoungestPatchRelease();
501 
502  self::assertSame($response['version'], $result->getVersion());
503  self::assertEquals($response['date'], $result->getDate()->format(\DateTimeInterface::ATOM));
504  self::assertSame($response['type'] === 'security', $result->isSecurityUpdate());
505  self::assertEquals($response['tar_package']['sha1sum'], $result->getChecksum());
506  self::assertSame($response['elts'], $result->isElts());
507  }
508 
510  {
511  return [
512  [
513  '9',
514  [
515  'version' => '9.1.0',
516  'date' => '2018-01-30T15:44:52+00:00',
517  'type' => 'regular',
518  'elts' => false,
519  'tar_package' => [
520  'sha1sum' => '3a277826d716eb4e82a36a2200deefd76d15378c',
521  ],
522  ],
523  ],
524  [
525  '8',
526  [
527  'version' => '8.7.33',
528  'date' => '2020-05-12T00:00:00+02:00',
529  'type' => 'security',
530  'elts' => true,
531  'tar_package' => [
532  'sha1sum' => '2dd44ab6c98c3f07a0bbe4af6ccc5d7ced7e5856',
533  ],
534  ],
535  ],
536  ];
537  }
538 
543  {
544  $this->‪setUpApiResponse(
545  'major/8/release',
546  [
547  [
548  'version' => '8.7.1',
549  'date' => '2017-04-18T17:05:53+00:00',
550  'type' => 'regular',
551  'elts' => false,
552  'tar_package' => [
553  'sha1sum' => 'e79466bffc81f270f5c262d01a125e82b2e1989a',
554  ],
555  ],
556  [
557  'version' => '8.7.4',
558  'date' => '2017-07-25T16:47:27+00:00',
559  'type' => 'regular',
560  'elts' => false,
561  'tar_package' => [
562  'sha1sum' => '1129c740796aabbf2efbc5e43f892debe7e1d583',
563  ],
564  ],
565  [
566  'version' => '8.7.30',
567  'date' => '2019-12-17T10:51:34+01:00',
568  'type' => 'security',
569  'elts' => false,
570  'tar_package' => [
571  'sha1sum' => '3df3a112dc7e2857bf39cfd2bc2c0bb7842a824c',
572  ],
573  ],
574  [
575  'version' => '8.7.33',
576  'date' => '2020-05-12T00:00:00+02:00',
577  'type' => 'security',
578  'elts' => true,
579  'tar_package' => [
580  'sha1sum' => '2dd44ab6c98c3f07a0bbe4af6ccc5d7ced7e5856',
581  ],
582  ],
583  ]
584  );
585 
586  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledMajorVersion']);
587  $instance->expects(self::atLeastOnce())->method('getInstalledMajorVersion')->willReturn('8');
588 
589  $result = $instance->getYoungestCommunityPatchRelease();
590 
591  self::assertSame('8.7.30', $result->getVersion());
592  }
593 
598  {
599  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledVersion'], [], '', false);
600  $instance->expects(self::once())->method('getInstalledVersion')->willReturn('7.2.0');
601  self::assertTrue($instance->isInstalledVersionAReleasedVersion());
602  }
603 
608  {
609  $instance = $this->getAccessibleMock(CoreVersionService::class, ['getInstalledVersion'], [], '', false);
610  $instance->expects(self::once())->method('getInstalledVersion')->willReturn('7.4-dev');
611  self::assertFalse($instance->isInstalledVersionAReleasedVersion());
612  }
613 }
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\getYoungestPatchReleaseReturnsLatestReleaseForCurrentMajorVersionDataProvider
‪getYoungestPatchReleaseReturnsLatestReleaseForCurrentMajorVersionDataProvider()
Definition: CoreVersionServiceTest.php:507
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isPatchReleaseSuitableForUpdateReturnsFalseIfNoNewerVersionExists
‪isPatchReleaseSuitableForUpdateReturnsFalseIfNoNewerVersionExists()
Definition: CoreVersionServiceTest.php:276
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isUpdateSecurityRelevantReturnsFalseIfNoNewerSecurityUpdatesExist
‪isUpdateSecurityRelevantReturnsFalseIfNoNewerSecurityUpdatesExist()
Definition: CoreVersionServiceTest.php:395
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\getYoungestPatchReleaseReturnsLatestReleaseForCurrentMajorVersion
‪getYoungestPatchReleaseReturnsLatestReleaseForCurrentMajorVersion(string $major, array $response)
Definition: CoreVersionServiceTest.php:488
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isUpdateSecurityRelevantReturnsTrueIfNewerSecurityUpdateExists
‪isUpdateSecurityRelevantReturnsTrueIfNewerSecurityUpdateExists()
Definition: CoreVersionServiceTest.php:303
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isInstalledVersionAReleasedVersionReturnsFalseForDevelopmentVersion
‪isInstalledVersionAReleasedVersionReturnsFalseForDevelopmentVersion()
Definition: CoreVersionServiceTest.php:605
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isVersionActivelyEltsMaintainedReturnsTrueIfEltsUntilIsAfterToday
‪isVersionActivelyEltsMaintainedReturnsTrueIfEltsUntilIsAfterToday()
Definition: CoreVersionServiceTest.php:140
‪TYPO3\CMS\Install\CoreVersion\CoreRelease
Definition: CoreRelease.php:21
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isVersionActivelyCommunityMaintainedReturnsFalseIfMaintainedUntilIsNotSet
‪isVersionActivelyCommunityMaintainedReturnsFalseIfMaintainedUntilIsNotSet()
Definition: CoreVersionServiceTest.php:50
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\setUpApiResponse
‪setUpApiResponse(string $url, array $responseData)
Definition: CoreVersionServiceTest.php:39
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest
Definition: CoreVersionServiceTest.php:33
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isVersionActivelyCommunityMaintainedReturnsTrueIfMaintainedUntilIsAfterToday
‪isVersionActivelyCommunityMaintainedReturnsTrueIfMaintainedUntilIsAfterToday()
Definition: CoreVersionServiceTest.php:72
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isVersionActivelyEltsMaintainedReturnsFalseIfEltsUntilWasBeforeToday
‪isVersionActivelyEltsMaintainedReturnsFalseIfEltsUntilWasBeforeToday()
Definition: CoreVersionServiceTest.php:163
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isUpdateSecurityRelevantReturnsFalseIfNewerSecurityUpdateExistsButCannotGetUpgraded
‪isUpdateSecurityRelevantReturnsFalseIfNewerSecurityUpdateExistsButCannotGetUpgraded()
Definition: CoreVersionServiceTest.php:349
‪TYPO3\CMS\Core\Http\RequestFactory
Definition: RequestFactory.php:31
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isInstalledVersionAReleasedVersionReturnsTrueForNonDevelopmentVersion
‪isInstalledVersionAReleasedVersionReturnsTrueForNonDevelopmentVersion()
Definition: CoreVersionServiceTest.php:595
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isPatchReleaseSuitableForUpdateReturnsTrueIfNewerVersionExists
‪isPatchReleaseSuitableForUpdateReturnsTrueIfNewerVersionExists()
Definition: CoreVersionServiceTest.php:249
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isVersionActivelyCommunityMaintainedReturnsFalseIfMaintainedUntilWasBeforeToday
‪isVersionActivelyCommunityMaintainedReturnsFalseIfMaintainedUntilWasBeforeToday()
Definition: CoreVersionServiceTest.php:95
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isVersionActivelyEltsMaintainedReturnsFalseIfEltsUntilIsNotSet
‪isVersionActivelyEltsMaintainedReturnsFalseIfEltsUntilIsNotSet()
Definition: CoreVersionServiceTest.php:118
‪TYPO3\CMS\Core\Http\JsonResponse
Definition: JsonResponse.php:28
‪TYPO3\CMS\Core\Utility\GeneralUtility
Definition: GeneralUtility.php:50
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\getYoungestCommunityPatchReleaseReturnsLatestNonEltsRelease
‪getYoungestCommunityPatchReleaseReturnsLatestNonEltsRelease()
Definition: CoreVersionServiceTest.php:540
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isCurrentInstalledVersionEltsReturnsExpectedResult
‪isCurrentInstalledVersionEltsReturnsExpectedResult(string $major, string $version, bool $expectation)
Definition: CoreVersionServiceTest.php:434
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\$resetSingletonInstances
‪bool $resetSingletonInstances
Definition: CoreVersionServiceTest.php:37
‪TYPO3\CMS\Install\Tests\Unit\Service
Definition: ClearTableServiceTest.php:18
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\getSupportedMajorReleasesReturnsListOfVersions
‪getSupportedMajorReleasesReturnsListOfVersions()
Definition: CoreVersionServiceTest.php:187
‪TYPO3\CMS\Install\Tests\Unit\Service\CoreVersionServiceTest\isCurrentInstalledVersionEltsReturnsExpectedResultDataProvider
‪isCurrentInstalledVersionEltsReturnsExpectedResultDataProvider()
Definition: CoreVersionServiceTest.php:476