From e3ad2bd098fb6e090a14d93a1e9d32f5d2bfe5da Mon Sep 17 00:00:00 2001 From: Oliver Bartsch <bo@cedev.de> Date: Fri, 22 May 2020 11:26:18 +0200 Subject: [PATCH] [TASK] Move iconFactory initialization out of loop Resolves: #91459 Relates: #91302 Releases: master Change-Id: Ic4af3247d7557a6c12a8d538e85795c507eab69a Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64561 Tested-by: TYPO3com <noreply@typo3.com> Tested-by: Benni Mack <benni@typo3.org> Tested-by: Daniel Goerz <daniel.goerz@posteo.de> Reviewed-by: Benni Mack <benni@typo3.org> Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de> Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by: Daniel Goerz <daniel.goerz@posteo.de> --- .../Classes/Form/FormDataProvider/AbstractItemProvider.php | 2 +- .../Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/typo3/sysext/backend/Classes/Form/FormDataProvider/AbstractItemProvider.php b/typo3/sysext/backend/Classes/Form/FormDataProvider/AbstractItemProvider.php index 41b232a9ba3e..d8a6a12f6dce 100644 --- a/typo3/sysext/backend/Classes/Form/FormDataProvider/AbstractItemProvider.php +++ b/typo3/sysext/backend/Classes/Form/FormDataProvider/AbstractItemProvider.php @@ -520,6 +520,7 @@ abstract class AbstractItemProvider } $fileRepository = GeneralUtility::makeInstance(FileRepository::class); + $iconFactory = GeneralUtility::makeInstance(IconFactory::class); while ($foreignRow = $queryResult->fetch()) { BackendUtility::workspaceOL($foreignTable, $foreignRow); @@ -546,7 +547,6 @@ abstract class AbstractItemProvider } } else { // Else, determine icon based on record type, or a generic fallback - $iconFactory = GeneralUtility::makeInstance(IconFactory::class); $icon = $iconFactory->mapRecordTypeToIconIdentifier($foreignTable, $foreignRow); } // Add the item diff --git a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php index 6f7813438039..d0e7c5f9d699 100644 --- a/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php +++ b/typo3/sysext/backend/Tests/Unit/Form/FormDataProvider/TcaSelectTreeItemsTest.php @@ -121,6 +121,7 @@ class TcaSelectTreeItemsTest extends UnitTestCase $iconFactoryProphecy = $this->prophesize(IconFactory::class); GeneralUtility::addInstance(IconFactory::class, $iconFactoryProphecy->reveal()); + GeneralUtility::addInstance(IconFactory::class, $iconFactoryProphecy->reveal()); $fileRepositoryProphecy = $this->prophesize(FileRepository::class); $fileRepositoryProphecy->findByRelation(Argument::cetera())->shouldNotBeCalled(); @@ -191,6 +192,7 @@ class TcaSelectTreeItemsTest extends UnitTestCase $iconFactoryProphecy = $this->prophesize(IconFactory::class); GeneralUtility::addInstance(IconFactory::class, $iconFactoryProphecy->reveal()); + GeneralUtility::addInstance(IconFactory::class, $iconFactoryProphecy->reveal()); $fileRepositoryProphecy = $this->prophesize(FileRepository::class); $fileRepositoryProphecy->findByRelation(Argument::cetera())->shouldNotBeCalled(); -- GitLab