From 1a98b14c8cb93e8c0873c116e1bfbc0638408f0e Mon Sep 17 00:00:00 2001 From: Christian Kuhn <lolli@schwarzbu.ch> Date: Sun, 3 Dec 2017 21:27:59 +0100 Subject: [PATCH] [BUGFIX] Incomplete mocks in fluid tests Sanitize some view helper unit tests to not trigger PHP 7.2 warnings count()'ing non-arrays by proper mocking. Change-Id: I9929a02a03c9218ab73838f4a214165333d414aa Resolves: #83213 Releases: 7.6 Reviewed-on: https://review.typo3.org/54926 Tested-by: TYPO3com <no-reply@typo3.com> Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch> Tested-by: Christian Kuhn <lolli@schwarzbu.ch> --- .../Unit/Core/Parser/SyntaxTree/ViewHelperNodeTest.php | 6 +++++- .../Tests/Unit/Core/ViewHelper/AbstractViewHelperTest.php | 4 ++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/typo3/sysext/fluid/Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeTest.php b/typo3/sysext/fluid/Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeTest.php index 2cba275e4760..7b9c7eed420d 100644 --- a/typo3/sysext/fluid/Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeTest.php +++ b/typo3/sysext/fluid/Tests/Unit/Core/Parser/SyntaxTree/ViewHelperNodeTest.php @@ -85,9 +85,10 @@ class ViewHelperNodeTest extends \TYPO3\CMS\Core\Tests\UnitTestCase */ public function childNodeAccessFacetWorksAsExpected() { - $childNode = $this->getMock(\TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\TextNode::class, [], ['foo']); + $childNode = $this->getMock(\TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\TextNode::class, [], ['prepareArguments']); $mockViewHelper = $this->getMock(\TYPO3\CMS\Fluid\Tests\Unit\Core\Parser\Fixtures\ChildNodeAccessFacetViewHelper::class, ['setChildNodes', 'initializeArguments', 'render', 'prepareArguments']); + $mockViewHelper->expects($this->any())->method('prepareArguments')->willReturn([]); $viewHelperNode = new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode($mockViewHelper, []); $viewHelperNode->addChildNode($childNode); @@ -104,6 +105,7 @@ class ViewHelperNodeTest extends \TYPO3\CMS\Core\Tests\UnitTestCase { $mockViewHelper = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper::class, ['initializeArgumentsAndRender', 'prepareArguments']); $mockViewHelper->expects($this->once())->method('initializeArgumentsAndRender'); + $mockViewHelper->expects($this->any())->method('prepareArguments')->willReturn([]); $viewHelperNode = new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode($mockViewHelper, []); @@ -140,6 +142,7 @@ class ViewHelperNodeTest extends \TYPO3\CMS\Core\Tests\UnitTestCase { $mockViewHelper = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper::class, ['render', 'validateArguments', 'prepareArguments', 'setRenderingContext']); $mockViewHelper->expects($this->once())->method('setRenderingContext')->with($this->renderingContext); + $mockViewHelper->expects($this->any())->method('prepareArguments')->willReturn([]); $viewHelperNode = new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode($mockViewHelper, []); @@ -153,6 +156,7 @@ class ViewHelperNodeTest extends \TYPO3\CMS\Core\Tests\UnitTestCase { $mockViewHelper = $this->getMock(\TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper::class, ['render', 'validateArguments', 'prepareArguments', 'setViewHelperVariableContainer']); $mockViewHelper->expects($this->any())->method('render')->will($this->returnValue('String')); + $mockViewHelper->expects($this->any())->method('prepareArguments')->willReturn([]); $viewHelperNode = new \TYPO3\CMS\Fluid\Core\Parser\SyntaxTree\ViewHelperNode($mockViewHelper, []); diff --git a/typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/AbstractViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/AbstractViewHelperTest.php index 710857f8c9d4..66318883d71e 100644 --- a/typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/AbstractViewHelperTest.php +++ b/typo3/sysext/fluid/Tests/Unit/Core/ViewHelper/AbstractViewHelperTest.php @@ -69,6 +69,8 @@ class AbstractViewHelperTest extends \TYPO3\CMS\Core\Tests\UnitTestCase public function argumentsCanBeRegistered() { $viewHelper = $this->getAccessibleMock(\TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper::class, ['render'], [], '', false); + + $this->mockReflectionService->method('getMethodParameters')->willReturn([]); $viewHelper->injectReflectionService($this->mockReflectionService); $name = 'This is a name'; @@ -104,6 +106,7 @@ class AbstractViewHelperTest extends \TYPO3\CMS\Core\Tests\UnitTestCase public function overrideArgumentOverwritesExistingArgumentDefinition() { $viewHelper = $this->getAccessibleMock(\TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper::class, ['render'], [], '', false); + $this->mockReflectionService->method('getMethodParameters')->willReturn([]); $viewHelper->injectReflectionService($this->mockReflectionService); $name = 'argumentName'; @@ -137,6 +140,7 @@ class AbstractViewHelperTest extends \TYPO3\CMS\Core\Tests\UnitTestCase public function prepareArgumentsCallsInitializeArguments() { $viewHelper = $this->getAccessibleMock(\TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper::class, ['render', 'initializeArguments'], [], '', false); + $this->mockReflectionService->method('getMethodParameters')->willReturn([]); $viewHelper->injectReflectionService($this->mockReflectionService); $viewHelper->expects($this->once())->method('initializeArguments'); -- GitLab