‪TYPO3CMS  10.4
DependencyUtilityTest.php
Go to the documentation of this file.
1 <?php
2 
3 /*
4  * This file is part of the TYPO3 CMS project.
5  *
6  * It is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU General Public License, either version 2
8  * of the License, or any later version.
9  *
10  * For the full copyright and license information, please read the
11  * LICENSE.txt file that was distributed with this source code.
12  *
13  * The TYPO3 project - inspiring people to share!
14  */
15 
17 
18 use Psr\EventDispatcher\EventDispatcherInterface;
26 use TYPO3\CMS\Extensionmanager\Utility\EmConfUtility;
28 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
29 
33 class ‪DependencyUtilityTest extends UnitTestCase
34 {
38  protected ‪$objectManagerMock;
39 
43  protected function ‪setUp(): void
44  {
45  parent::setUp();
46  $this->objectManagerMock = $this->getMockBuilder(ObjectManagerInterface::class)->getMock();
47  }
48 
53  {
54  $dependency = new ‪Dependency();
55  $dependency->setIdentifier('typo3');
56  $dependency->setLowestVersion('15.0.0');
57  $dependencies = new \SplObjectStorage();
58  $dependencies->attach($dependency);
59 
60  $extension = new ‪Extension();
61  $extension->setExtensionKey('foo');
62  $extension->setDependencies($dependencies);
63  $dependencyUtility = new ‪DependencyUtility();
64 
65  $dependencyUtility->checkDependencies($extension);
66  ‪$errors = $dependencyUtility->getDependencyErrors();
67 
68  self::assertSame(1399144499, ‪$errors['foo'][0]['code']);
69  }
70 
75  {
76  $dependency = new ‪Dependency();
77  $dependency->setHighestVersion('3.0.0');
78  $dependency->setLowestVersion('1.0.0');
79  $dependency->setIdentifier('typo3');
80  $dependencies = new \SplObjectStorage();
81  $dependencies->attach($dependency);
82 
83  $extension = new ‪Extension();
84  $extension->setExtensionKey('foo');
85  $extension->setDependencies($dependencies);
86  $dependencyUtility = new ‪DependencyUtility();
87 
88  $dependencyUtility->checkDependencies($extension);
89  ‪$errors = $dependencyUtility->getDependencyErrors();
90 
91  self::assertSame(1399144521, ‪$errors['foo'][0]['code']);
92  }
93 
99  {
100  $dependency = new ‪Dependency();
101  $dependency->setIdentifier('123');
102  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['dummy']);
103 
104  $this->expectException(ExtensionManagerException::class);
105  $this->expectExceptionCode(1399144551);
106  $dependencyUtility->_call('checkTypo3Dependency', $dependency);
107  }
108 
113  {
114  $dependency = new ‪Dependency();
115  $dependency->setHighestVersion('15.0.0');
116  $dependency->setLowestVersion('1.0.0');
117  $dependency->setIdentifier('typo3');
118  $dependencies = new \SplObjectStorage();
119  $dependencies->attach($dependency);
120 
121  $extension = new ‪Extension();
122  $extension->setExtensionKey('foo');
123  $extension->setDependencies($dependencies);
124  $dependencyUtility = new ‪DependencyUtility();
125 
126  $dependencyUtility->checkDependencies($extension);
127  ‪$errors = $dependencyUtility->getDependencyErrors();
128 
129  $dependency->setIdentifier('typo3');
130  self::assertCount(0, ‪$errors);
131  }
132 
137  {
138  $dependency = new ‪Dependency();
139  $dependency->setHighestVersion('');
140  $dependency->setLowestVersion('1.0.0');
141  $dependency->setIdentifier('typo3');
142  $dependencies = new \SplObjectStorage();
143  $dependencies->attach($dependency);
144 
145  $extension = new ‪Extension();
146  $extension->setExtensionKey('foo');
147  $extension->setDependencies($dependencies);
148  $dependencyUtility = new ‪DependencyUtility();
149 
150  $dependencyUtility->checkDependencies($extension);
151  ‪$errors = $dependencyUtility->getDependencyErrors();
152 
153  $dependency->setIdentifier('typo3');
154  self::assertCount(0, ‪$errors);
155  }
156 
161  {
162  $dependency = new ‪Dependency();
163  $dependency->setHighestVersion('15.0.0');
164  $dependency->setLowestVersion('');
165  $dependency->setIdentifier('typo3');
166  $dependencies = new \SplObjectStorage();
167  $dependencies->attach($dependency);
168 
169  $extension = new ‪Extension();
170  $extension->setExtensionKey('foo');
171  $extension->setDependencies($dependencies);
172  $dependencyUtility = new ‪DependencyUtility();
173 
174  $dependencyUtility->checkDependencies($extension);
175  ‪$errors = $dependencyUtility->getDependencyErrors();
176 
177  $dependency->setIdentifier('typo3');
178  self::assertCount(0, ‪$errors);
179  }
180 
185  {
186  $dependency = new ‪Dependency();
187  $dependency->setIdentifier('php');
188  $dependency->setLowestVersion('15.0.0');
189  $dependencies = new \SplObjectStorage();
190  $dependencies->attach($dependency);
191 
192  $extension = new ‪Extension();
193  $extension->setExtensionKey('foo');
194  $extension->setDependencies($dependencies);
195  $dependencyUtility = new ‪DependencyUtility();
196 
197  $dependencyUtility->checkDependencies($extension);
198  ‪$errors = $dependencyUtility->getDependencyErrors();
199 
200  self::assertSame(1377977857, ‪$errors['foo'][0]['code']);
201  }
202 
207  {
208  $dependency = new ‪Dependency();
209  $dependency->setIdentifier('php');
210  $dependency->setHighestVersion('3.0.0');
211  $dependency->setLowestVersion('1.0.0');
212  $dependencies = new \SplObjectStorage();
213  $dependencies->attach($dependency);
214 
215  $extension = new ‪Extension();
216  $extension->setExtensionKey('foo');
217  $extension->setDependencies($dependencies);
218  $dependencyUtility = new ‪DependencyUtility();
219 
220  $dependencyUtility->checkDependencies($extension);
221  ‪$errors = $dependencyUtility->getDependencyErrors();
222 
223  self::assertSame(1377977856, ‪$errors['foo'][0]['code']);
224  }
225 
231  {
232  $dependency = new ‪Dependency();
233  $dependency->setIdentifier('123');
234  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['dummy']);
235 
236  $this->expectException(ExtensionManagerException::class);
237  $this->expectExceptionCode(1377977858);
238  $dependencyUtility->_call('checkPhpDependency', $dependency);
239  }
240 
245  {
246  $dependency = new ‪Dependency();
247  $dependency->setIdentifier('php');
248  $dependency->setHighestVersion('15.0.0');
249  $dependency->setLowestVersion('1.0.0');
250  $dependencies = new \SplObjectStorage();
251  $dependencies->attach($dependency);
252 
253  $extension = new ‪Extension();
254  $extension->setExtensionKey('foo');
255  $extension->setDependencies($dependencies);
256  $dependencyUtility = new ‪DependencyUtility();
257 
258  $dependencyUtility->checkDependencies($extension);
259  ‪$errors = $dependencyUtility->getDependencyErrors();
260 
261  self::assertCount(0, ‪$errors);
262  }
263 
268  {
269  $dependency = new ‪Dependency();
270  $dependency->setIdentifier('php');
271  $dependency->setHighestVersion('');
272  $dependency->setLowestVersion('1.0.0');
273  $dependencies = new \SplObjectStorage();
274  $dependencies->attach($dependency);
275 
276  $extension = new ‪Extension();
277  $extension->setExtensionKey('foo');
278  $extension->setDependencies($dependencies);
279  $dependencyUtility = new ‪DependencyUtility();
280 
281  $dependencyUtility->checkDependencies($extension);
282  ‪$errors = $dependencyUtility->getDependencyErrors();
283 
284  self::assertCount(0, ‪$errors);
285  }
286 
291  {
292  $dependency = new ‪Dependency();
293  $dependency->setIdentifier('php');
294  $dependency->setHighestVersion('15.0.0');
295  $dependency->setLowestVersion('');
296  $dependencies = new \SplObjectStorage();
297  $dependencies->attach($dependency);
298 
299  $extension = new ‪Extension();
300  $extension->setExtensionKey('foo');
301  $extension->setDependencies($dependencies);
302  $dependencyUtility = new ‪DependencyUtility();
303 
304  $dependencyUtility->checkDependencies($extension);
305  ‪$errors = $dependencyUtility->getDependencyErrors();
306 
307  self::assertCount(0, ‪$errors);
308  }
309 
314  {
315  $availableExtensions = [
316  'dummy' => [],
317  'foo' => [],
318  'bar' => []
319  ];
320  $eventDispatcher = $this->prophesize(EventDispatcherInterface::class)->reveal();
321  $listUtilityMock = $this->getMockBuilder(ListUtility::class)
322  ->setMethods(['getAvailableExtensions'])
323  ->getMock();
324  $listUtilityMock->injectEventDispatcher($eventDispatcher);
325  $listUtilityMock->expects(self::atLeastOnce())->method('getAvailableExtensions')->willReturn($availableExtensions);
326  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['dummy']);
327  $dependencyUtility->_set('listUtility', $listUtilityMock);
328 
329  self::assertTrue($dependencyUtility->_call('isDependentExtensionAvailable', 'dummy'));
330  }
331 
336  {
337  $availableExtensions = [
338  'dummy' => [],
339  'foo' => [],
340  'bar' => []
341  ];
342  $eventDispatcher = $this->prophesize(EventDispatcherInterface::class)->reveal();
343  $listUtilityMock = $this->getMockBuilder(ListUtility::class)
344  ->setMethods(['getAvailableExtensions'])
345  ->getMock();
346  $listUtilityMock->injectEventDispatcher($eventDispatcher);
347  $listUtilityMock->expects(self::atLeastOnce())->method('getAvailableExtensions')->willReturn($availableExtensions);
348  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['dummy']);
349  $dependencyUtility->_set('listUtility', $listUtilityMock);
350 
351  self::assertFalse($dependencyUtility->_call('isDependentExtensionAvailable', '42'));
352  }
353 
358  {
359  $emConfUtility = $this->getMockBuilder(EmConfUtility::class)
360  ->setMethods(['includeEmConf'])
361  ->getMock();
362  $emConfUtility->expects(self::once())->method('includeEmConf')->willReturn([
363  'key' => 'dummy',
364  'version' => '1.0.0'
365  ]);
366  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['setAvailableExtensions', 'isVersionCompatible']);
367  $dependency = new ‪Dependency();
368  $dependency->setIdentifier('dummy');
369  $dependencyUtility->_set('emConfUtility', $emConfUtility);
370  $dependencyUtility->_set('availableExtensions', [
371  'dummy' => [
372  'foo' => '42'
373  ]
374  ]);
375  $dependencyUtility->expects(self::once())->method('setAvailableExtensions');
376  $dependencyUtility->expects(self::once())->method('isVersionCompatible')->with('1.0.0', self::anything());
377  $dependencyUtility->_call('isAvailableVersionCompatible', $dependency);
378  }
379 
384  {
385  $extensionRepositoryMock = $this->getMockBuilder(ExtensionRepository::class)
386  ->setMethods(['countByExtensionKey'])
387  ->setConstructorArgs([$this->objectManagerMock])
388  ->getMock();
389  $extensionRepositoryMock->expects(self::once())->method('countByExtensionKey')->with('test123')->willReturn(1);
390  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['dummy']);
391  $dependencyUtility->_set('extensionRepository', $extensionRepositoryMock);
392  $count = $dependencyUtility->_call('isExtensionDownloadableFromTer', 'test123');
393 
394  self::assertTrue($count);
395  }
396 
401  {
402  $extensionRepositoryMock = $this->getMockBuilder(ExtensionRepository::class)
403  ->setMethods(['countByExtensionKey'])
404  ->setConstructorArgs([$this->objectManagerMock])
405  ->getMock();
406  $extensionRepositoryMock->expects(self::once())->method('countByExtensionKey')->with('test123')->willReturn(0);
407  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['dummy']);
408  $dependencyUtility->_set('extensionRepository', $extensionRepositoryMock);
409  $count = $dependencyUtility->_call('isExtensionDownloadableFromTer', 'test123');
410 
411  self::assertFalse($count);
412  }
413 
418  {
419  $dependency = new ‪Dependency();
420  $dependency->setIdentifier('dummy');
421  $dependency->setHighestVersion('10.0.0');
422  $dependency->setLowestVersion('1.0.0');
423  $extensionRepositoryMock = $this->getMockBuilder(ExtensionRepository::class)
424  ->setMethods(['countByVersionRangeAndExtensionKey'])
425  ->setConstructorArgs([$this->objectManagerMock])
426  ->getMock();
427  $extensionRepositoryMock->expects(self::once())->method('countByVersionRangeAndExtensionKey')->with('dummy', 1000000, 10000000)->willReturn(2);
428  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['dummy']);
429  $dependencyUtility->_set('extensionRepository', $extensionRepositoryMock);
430  $count = $dependencyUtility->_call('isDownloadableVersionCompatible', $dependency);
431 
432  self::assertTrue($count);
433  }
434 
439  {
440  $dependency = new ‪Dependency();
441  $dependency->setIdentifier('dummy');
442  $extensionRepositoryMock = $this->getMockBuilder(ExtensionRepository::class)
443  ->setMethods(['countByVersionRangeAndExtensionKey'])
444  ->setConstructorArgs([$this->objectManagerMock])
445  ->getMock();
446  $extensionRepositoryMock->expects(self::once())->method('countByVersionRangeAndExtensionKey')->with('dummy', 1000000, 2000000)->willReturn(0);
447  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['getLowestAndHighestIntegerVersions']);
448  $dependencyUtility->_set('extensionRepository', $extensionRepositoryMock);
449  $dependencyUtility->expects(self::once())->method('getLowestAndHighestIntegerVersions')->willReturn([
450  'lowestIntegerVersion' => 1000000,
451  'highestIntegerVersion' => 2000000
452  ]);
453  $count = $dependencyUtility->_call('isDownloadableVersionCompatible', $dependency);
454 
455  self::assertFalse($count);
456  }
457 
462  {
463  $expectedVersions = [
464  'lowestIntegerVersion' => 1000000,
465  'highestIntegerVersion' => 2000000
466  ];
467 
468  $dependency = new ‪Dependency();
469  $dependency->setHighestVersion('2.0.0');
470  $dependency->setLowestVersion('1.0.0');
471  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['dummy']);
472  $versions = $dependencyUtility->_call('getLowestAndHighestIntegerVersions', $dependency);
473 
474  self::assertSame($expectedVersions, $versions);
475  }
476 
481  {
482  $suitableDependency = new ‪Dependency();
483  $suitableDependency->setIdentifier('typo3');
484  $suitableDependency->setLowestVersion('3.6.1');
485 
486  $suitableDependencies = new \SplObjectStorage();
487  $suitableDependencies->attach($suitableDependency);
488 
489  $unsuitableDependency = new ‪Dependency();
490  $unsuitableDependency->setIdentifier('typo3');
491  $unsuitableDependency->setHighestVersion('4.3.0');
492 
493  $unsuitableDependencies = new \SplObjectStorage();
494  $unsuitableDependencies->attach($unsuitableDependency);
495 
496  $extension1 = new ‪Extension();
497  $extension1->setExtensionKey('foo');
498  $extension1->setVersion('1.0.0');
499  $extension1->setDependencies($unsuitableDependencies);
500 
501  $extension2 = new ‪Extension();
502  $extension2->setExtensionKey('bar');
503  $extension2->setVersion('1.0.42');
504  $extension2->setDependencies($suitableDependencies);
505 
507  $myStorage->extensions[] = $extension1;
508  $myStorage->extensions[] = $extension2;
509  $dependency = new ‪Dependency();
510  $dependency->setIdentifier('foobar');
511  $dependencyUtility = $this->getAccessibleMock(DependencyUtility::class, ['getLowestAndHighestIntegerVersions']);
512  $dependencyUtility->expects(self::once())->method('getLowestAndHighestIntegerVersions')->willReturn([
513  'lowestIntegerVersion' => 1000000,
514  'highestIntegerVersion' => 2000000
515  ]);
516  $extensionRepositoryMock = $this->getMockBuilder(ExtensionRepository::class)
517  ->setMethods(['findByVersionRangeAndExtensionKeyOrderedByVersion'])
518  ->setConstructorArgs([$this->objectManagerMock])
519  ->getMock();
520  $extensionRepositoryMock->expects(self::once())->method('findByVersionRangeAndExtensionKeyOrderedByVersion')->with('foobar', 1000000, 2000000)->willReturn($myStorage);
521  $dependencyUtility->_set('extensionRepository', $extensionRepositoryMock);
522  $extension = $dependencyUtility->_call('getLatestCompatibleExtensionByIntegerVersionDependency', $dependency);
523 
524  self::assertInstanceOf(Extension::class, $extension);
525  self::assertSame('bar', $extension->getExtensionKey());
526  }
527 
532  {
533  // foo2 should be kept
534  $foo1 = new ‪Extension();
535  $foo1->setExtensionKey('foo');
536  $foo1->setVersion('1.0.0');
537  $foo2 = new ‪Extension();
538  $foo2->setExtensionKey('foo');
539  $foo2->setVersion('1.0.1');
540 
541  // bar1 should be kept
542  $bar1 = new ‪Extension();
543  $bar1->setExtensionKey('bar');
544  $bar1->setVersion('1.1.2');
545  $bar2 = new ‪Extension();
546  $bar2->setExtensionKey('bar');
547  $bar2->setVersion('1.1.1');
548  $bar3 = new ‪Extension();
549  $bar3->setExtensionKey('bar');
550  $bar3->setVersion('1.0.3');
551 
552  $input = [$foo1, $foo2, $bar1, $bar2, $bar3];
553  self::assertEquals(['foo' => $foo2, 'bar' => $bar1], (new ‪DependencyUtility())->filterYoungestVersionOfExtensionList($input, true));
554  }
555 
560  {
561  $suitableDependency = new ‪Dependency();
562  $suitableDependency->setIdentifier('typo3');
563  $suitableDependency->setLowestVersion('3.6.1');
564 
565  $suitableDependencies = new \SplObjectStorage();
566  $suitableDependencies->attach($suitableDependency);
567 
568  $unsuitableDependency = new ‪Dependency();
569  $unsuitableDependency->setIdentifier('typo3');
570  $unsuitableDependency->setHighestVersion('4.3.0');
571 
572  $unsuitableDependencies = new \SplObjectStorage();
573  $unsuitableDependencies->attach($unsuitableDependency);
574 
575  // foo1 should be kept
576  $foo1 = new ‪Extension();
577  $foo1->setExtensionKey('foo');
578  $foo1->setVersion('1.0.0');
579  $foo1->setDependencies($suitableDependencies);
580 
581  $foo2 = new ‪Extension();
582  $foo2->setExtensionKey('foo');
583  $foo2->setVersion('1.0.1');
584  $foo2->setDependencies($unsuitableDependencies);
585 
586  // bar2 should be kept
587  $bar1 = new ‪Extension();
588  $bar1->setExtensionKey('bar');
589  $bar1->setVersion('1.1.2');
590  $bar1->setDependencies($unsuitableDependencies);
591 
592  $bar2 = new ‪Extension();
593  $bar2->setExtensionKey('bar');
594  $bar2->setVersion('1.1.1');
595  $bar2->setDependencies($suitableDependencies);
596 
597  $input = [$foo1, $foo2, $bar1, $bar2];
598  self::assertEquals(['foo' => $foo1, 'bar' => $bar2], (new ‪DependencyUtility())->filterYoungestVersionOfExtensionList($input, false));
599  }
600 }
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkPhpDependencyThrowsExceptionIfVersionNumberIsTooHigh
‪checkPhpDependencyThrowsExceptionIfVersionNumberIsTooHigh()
Definition: DependencyUtilityTest.php:205
‪TYPO3\CMS\Extensionmanager\Domain\Model\Dependency
Definition: Dependency.php:26
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkTypo3DependencyCanHandleEmptyVersionHighestVersion
‪checkTypo3DependencyCanHandleEmptyVersionHighestVersion()
Definition: DependencyUtilityTest.php:135
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkTypo3DependencyThrowsExceptionIfIdentifierIsNotTypo3
‪checkTypo3DependencyThrowsExceptionIfIdentifierIsNotTypo3()
Definition: DependencyUtilityTest.php:97
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\isDownloadableVersionCompatibleReturnsTrueIfCompatibleVersionExists
‪isDownloadableVersionCompatibleReturnsTrueIfCompatibleVersionExists()
Definition: DependencyUtilityTest.php:416
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\isExtensionDownloadableFromTerReturnsFalseIfNoVersionExists
‪isExtensionDownloadableFromTerReturnsFalseIfNoVersionExists()
Definition: DependencyUtilityTest.php:399
‪TYPO3\CMS\Extensionmanager\Domain\Model\Extension
Definition: Extension.php:29
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkTypo3DependencyCanHandleEmptyVersionLowestVersion
‪checkTypo3DependencyCanHandleEmptyVersionLowestVersion()
Definition: DependencyUtilityTest.php:159
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\isExtensionDownloadableFromTerReturnsTrueIfOneVersionExists
‪isExtensionDownloadableFromTerReturnsTrueIfOneVersionExists()
Definition: DependencyUtilityTest.php:382
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\isAvailableVersionCompatibleCallsIsVersionCompatibleWithExtensionVersion
‪isAvailableVersionCompatibleCallsIsVersionCompatibleWithExtensionVersion()
Definition: DependencyUtilityTest.php:356
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility
Definition: DependencyUtilityTest.php:16
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkPhpDependencyThrowsExceptionIfIdentifierIsNotPhp
‪checkPhpDependencyThrowsExceptionIfIdentifierIsNotPhp()
Definition: DependencyUtilityTest.php:229
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkPhpDependencyErrorsIfVersionNumberIsTooLow
‪checkPhpDependencyErrorsIfVersionNumberIsTooLow()
Definition: DependencyUtilityTest.php:183
‪TYPO3\CMS\Extensionmanager\Utility\ListUtility
Definition: ListUtility.php:41
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkPhpDependencyReturnsTrueIfVersionNumberIsInRange
‪checkPhpDependencyReturnsTrueIfVersionNumberIsInRange()
Definition: DependencyUtilityTest.php:243
‪TYPO3\CMS\Extbase\Object\ObjectManagerInterface
Definition: ObjectManagerInterface.php:26
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkPhpDependencyCanHandleEmptyVersionLowestVersion
‪checkPhpDependencyCanHandleEmptyVersionLowestVersion()
Definition: DependencyUtilityTest.php:289
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\isDownloadableVersionCompatibleReturnsFalseIfIncompatibleVersionExists
‪isDownloadableVersionCompatibleReturnsFalseIfIncompatibleVersionExists()
Definition: DependencyUtilityTest.php:437
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkTypo3DependencyErrorsIfVersionNumberIsTooHigh
‪checkTypo3DependencyErrorsIfVersionNumberIsTooHigh()
Definition: DependencyUtilityTest.php:73
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\isDependentExtensionAvailableReturnsTrueIfExtensionIsAvailable
‪isDependentExtensionAvailableReturnsTrueIfExtensionIsAvailable()
Definition: DependencyUtilityTest.php:312
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\$objectManagerMock
‪TYPO3 CMS Extbase Object ObjectManagerInterface $objectManagerMock
Definition: DependencyUtilityTest.php:37
‪TYPO3\CMS\Extensionmanager\Utility\DependencyUtility
Definition: DependencyUtility.php:38
‪TYPO3\CMS\Extensionmanager\Domain\Repository\ExtensionRepository
Definition: ExtensionRepository.php:35
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest
Definition: DependencyUtilityTest.php:34
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\filterYoungestVersionOfExtensionListFiltersAListToLatestVersionWithOnlyCompatibleExtensions
‪filterYoungestVersionOfExtensionListFiltersAListToLatestVersionWithOnlyCompatibleExtensions()
Definition: DependencyUtilityTest.php:558
‪TYPO3\CMS\Extensionmanager\Exception\ExtensionManagerException
Definition: ExtensionManagerException.php:24
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\setUp
‪setUp()
Definition: DependencyUtilityTest.php:42
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Fixtures\LatestCompatibleExtensionObjectStorageFixture
Definition: LatestCompatibleExtensionObjectStorageFixture.php:22
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkTypo3DependencyReturnsTrueIfVersionNumberIsInRange
‪checkTypo3DependencyReturnsTrueIfVersionNumberIsInRange()
Definition: DependencyUtilityTest.php:111
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkTypo3DependencyErrorsIfVersionNumberIsTooLow
‪checkTypo3DependencyErrorsIfVersionNumberIsTooLow()
Definition: DependencyUtilityTest.php:51
‪$errors
‪$errors
Definition: annotationChecker.php:121
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\filterYoungestVersionOfExtensionListFiltersAListToLatestVersion
‪filterYoungestVersionOfExtensionListFiltersAListToLatestVersion()
Definition: DependencyUtilityTest.php:530
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\checkPhpDependencyCanHandleEmptyVersionHighestVersion
‪checkPhpDependencyCanHandleEmptyVersionHighestVersion()
Definition: DependencyUtilityTest.php:266
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\isDependentExtensionAvailableReturnsFalseIfExtensionIsNotAvailable
‪isDependentExtensionAvailableReturnsFalseIfExtensionIsNotAvailable()
Definition: DependencyUtilityTest.php:334
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\getLowestAndHighestIntegerVersionsReturnsArrayWithVersions
‪getLowestAndHighestIntegerVersionsReturnsArrayWithVersions()
Definition: DependencyUtilityTest.php:460
‪TYPO3\CMS\Extensionmanager\Tests\Unit\Utility\DependencyUtilityTest\getLatestCompatibleExtensionByIntegerVersionDependencyWillReturnExtensionModelOfLatestExtension
‪getLatestCompatibleExtensionByIntegerVersionDependencyWillReturnExtensionModelOfLatestExtension()
Definition: DependencyUtilityTest.php:479