From fedbd3eeefcbc97234edd19a3d95096ee33f651f Mon Sep 17 00:00:00 2001 From: Nikita Hovratov <nikita.h@live.de> Date: Sat, 12 Nov 2022 18:17:48 +0100 Subject: [PATCH] [TASK] Replace prophecy in EXT:core FlexFormToolsTest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolves: #98753 Releases: main Change-Id: Ibd1b655f8d7563165683e4d8307c9445ac9d3398 Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/76574 Tested-by: core-ci <typo3@b13.com> Tested-by: Oliver Klee <typo3-coding@oliverklee.de> Tested-by: Stefan Bürk <stefan@buerk.tech> Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de> Reviewed-by: Stefan Bürk <stefan@buerk.tech> --- Build/phpstan/phpstan-baseline.neon | 5 --- .../FlexForm/FlexFormToolsTest.php | 43 +++---------------- 2 files changed, 5 insertions(+), 43 deletions(-) diff --git a/Build/phpstan/phpstan-baseline.neon b/Build/phpstan/phpstan-baseline.neon index a0ea097d33f4..81605ce7f33a 100644 --- a/Build/phpstan/phpstan-baseline.neon +++ b/Build/phpstan/phpstan-baseline.neon @@ -1430,11 +1430,6 @@ parameters: count: 1 path: ../../typo3/sysext/core/Tests/Unit/Cache/Frontend/PhpFrontendTest.php - - - message: "#^Result of method TYPO3\\\\CMS\\\\Core\\\\Configuration\\\\FlexForm\\\\FlexFormTools\\:\\:traverseFlexFormXMLData_recurse\\(\\) \\(void\\) is used\\.$#" - count: 2 - path: ../../typo3/sysext/core/Tests/Unit/Configuration/FlexForm/FlexFormToolsTest.php - - message: "#^Parameter \\#2 \\$coreCache of class TYPO3\\\\CMS\\\\Core\\\\ExpressionLanguage\\\\ProviderConfigurationLoader constructor expects TYPO3\\\\CMS\\\\Core\\\\Cache\\\\Frontend\\\\PhpFrontend, TYPO3\\\\CMS\\\\Core\\\\Cache\\\\Frontend\\\\FrontendInterface given\\.$#" count: 1 diff --git a/typo3/sysext/core/Tests/Unit/Configuration/FlexForm/FlexFormToolsTest.php b/typo3/sysext/core/Tests/Unit/Configuration/FlexForm/FlexFormToolsTest.php index 2d0e05b73807..4da7631d9f67 100644 --- a/typo3/sysext/core/Tests/Unit/Configuration/FlexForm/FlexFormToolsTest.php +++ b/typo3/sysext/core/Tests/Unit/Configuration/FlexForm/FlexFormToolsTest.php @@ -17,44 +17,13 @@ declare(strict_types=1); namespace TYPO3\CMS\Core\Tests\Unit\Configuration\FlexForm; -use Prophecy\Argument; -use Prophecy\PhpUnit\ProphecyTrait; -use Psr\EventDispatcher\EventDispatcherInterface; -use TYPO3\CMS\Core\Cache\CacheManager; -use TYPO3\CMS\Core\Cache\Frontend\FrontendInterface; use TYPO3\CMS\Core\Configuration\FlexForm\FlexFormTools; +use TYPO3\CMS\Core\EventDispatcher\NoopEventDispatcher; use TYPO3\CMS\Core\Tests\Unit\Fixtures\EventDispatcher\MockEventDispatcher; -use TYPO3\CMS\Core\Utility\GeneralUtility; use TYPO3\TestingFramework\Core\Unit\UnitTestCase; class FlexFormToolsTest extends UnitTestCase { - use ProphecyTrait; - - protected bool $resetSingletonInstances = true; - - /** - * @var EventDispatcherInterface - */ - protected object $nullDispatcher; - - /** - * Set up - */ - public function setUp(): void - { - parent::setUp(); - // Underlying static GeneralUtility::xml2array() uses caches that have to be mocked here - $cacheManagerProphecy = $this->prophesize(CacheManager::class); - $cacheProphecy = $this->prophesize(FrontendInterface::class); - $cacheManagerProphecy->getCache('runtime')->willReturn($cacheProphecy->reveal()); - $cacheProphecy->get(Argument::cetera())->willReturn(false); - $cacheProphecy->set(Argument::cetera())->willReturn(false); - GeneralUtility::setSingletonInstance(CacheManager::class, $cacheManagerProphecy->reveal()); - - $this->nullDispatcher = new MockEventDispatcher(); - } - /** * @test */ @@ -71,7 +40,7 @@ class FlexFormToolsTest extends UnitTestCase ]; $editData = []; $subject = $this->getMockBuilder(FlexFormTools::class) - ->setConstructorArgs([$this->nullDispatcher]) + ->setConstructorArgs([new MockEventDispatcher()]) ->onlyMethods(['executeCallBackMethod']) ->getMock(); $subject->expects(self::never())->method('executeCallBackMethod'); @@ -99,10 +68,8 @@ class FlexFormToolsTest extends UnitTestCase ], ]; $editData2 = []; - $subject = $this->createMock(FlexFormTools::class); - self::assertEquals( - $subject->traverseFlexFormXMLData_recurse($dataStruct, $editData, $pA), - $subject->traverseFlexFormXMLData_recurse($dataStruct, $editData2, $pA) - ); + $flexFormTools = new FlexFormTools(new NoopEventDispatcher()); + $flexFormTools->traverseFlexFormXMLData_recurse($dataStruct, $editData, $pA); + $flexFormTools->traverseFlexFormXMLData_recurse($dataStruct, $editData2, $pA); } } -- GitLab