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