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