‪TYPO3CMS  ‪main
ProcessorRegistryTest.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\Test;
25 use TYPO3\TestingFramework\Core\Unit\UnitTestCase;
26 
27 final class ‪ProcessorRegistryTest extends UnitTestCase
28 {
29  protected bool ‪$resetSingletonInstances = true;
30 
31  #[Test]
33  {
34  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['processors'] = [
35  [
36  'className' => LocalImageProcessor::class,
37  ],
38  ];
39  $subject = new ‪ProcessorRegistry(
41  );
42  $taskMock = $this->createMock(AbstractTask::class);
43  $taskMock->method('getType')->willReturn('Image');
44  $taskMock->method('getName')->willReturn('CropScaleMask');
45 
46  $processor = $subject->getProcessorByTask($taskMock);
47 
48  self::assertInstanceOf(LocalImageProcessor::class, $processor);
49  }
50 
51  #[Test]
52  public function ‪getProcessorWhenNoneIsRegistered(): void
53  {
54  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['processors'] = [];
55  $this->expectExceptionCode(1560876294);
56 
57  $subject = new ‪ProcessorRegistry(
59  );
60  $taskMock = $this->createMock(AbstractTask::class);
61  $subject->getProcessorByTask($taskMock);
62  }
63 
64  #[Test]
66  {
67  ‪$GLOBALS['TYPO3_CONF_VARS']['SYS']['fal']['processors'] = [
68  'LocalImageProcessor' => [
69  'className' => LocalImageProcessor::class,
70  ],
71  'AnotherLocalImageProcessor' => [
72  'className' => LocalImageProcessor::class,
73  'after' => 'LocalImageProcessor',
74  ],
75  ];
76  $subject = new ‪ProcessorRegistry(
78  );
79  $taskMock = $this->createMock(AbstractTask::class);
80  $taskMock->method('getType')->willReturn('Image');
81  $taskMock->method('getName')->willReturn('CropScaleMask');
82 
83  $processor = $subject->getProcessorByTask($taskMock);
84 
85  self::assertInstanceOf(LocalImageProcessor::class, $processor);
86  }
87 }
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing\ProcessorRegistryTest\$resetSingletonInstances
‪bool $resetSingletonInstances
Definition: ProcessorRegistryTest.php:29
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing\ProcessorRegistryTest\getProcessorWhenNoneIsRegistered
‪getProcessorWhenNoneIsRegistered()
Definition: ProcessorRegistryTest.php:52
‪TYPO3\CMS\Core\Resource\Processing\LocalImageProcessor
Definition: LocalImageProcessor.php:27
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing
Definition: LocalPreviewHelperTest.php:18
‪TYPO3\CMS\Core\Service\DependencyOrderingService
Definition: DependencyOrderingService.php:32
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing\ProcessorRegistryTest
Definition: ProcessorRegistryTest.php:28
‪$GLOBALS
‪$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['adminpanel']['modules']
Definition: ext_localconf.php:25
‪TYPO3\CMS\Core\Resource\Processing\AbstractTask
Definition: AbstractTask.php:29
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing\ProcessorRegistryTest\getProcessorWhenSameProcessorIsRegisteredTwice
‪getProcessorWhenSameProcessorIsRegisteredTwice()
Definition: ProcessorRegistryTest.php:65
‪TYPO3\CMS\Core\Resource\Processing\ProcessorRegistry
Definition: ProcessorRegistry.php:27
‪TYPO3\CMS\Core\Tests\Unit\Resource\Processing\ProcessorRegistryTest\getProcessorWhenOnlyOneIsRegistered
‪getProcessorWhenOnlyOneIsRegistered()
Definition: ProcessorRegistryTest.php:32