From ed43671d33ee6296a864da77508b9317129724bd Mon Sep 17 00:00:00 2001
From: Jan Helke <typo3@helke.de>
Date: Fri, 16 Mar 2018 20:20:34 +0100
Subject: [PATCH] [TASK] Make TypolinkViewHelper notice free

Releases: master
Resolves: #84373
Change-Id: I793ef881ef085c80f6c90a8281f6a88dcc56d642
Reviewed-on: https://review.typo3.org/56252
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
---
 .../ViewHelpers/Link/TypolinkViewHelper.php   | 22 +++++++++----------
 .../Link/TypolinkViewHelperTest.php           |  9 +++-----
 2 files changed, 14 insertions(+), 17 deletions(-)

diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Link/TypolinkViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Link/TypolinkViewHelper.php
index 97b4d0dfe90d..bd4102e2d573 100644
--- a/typo3/sysext/fluid/Classes/ViewHelpers/Link/TypolinkViewHelper.php
+++ b/typo3/sysext/fluid/Classes/ViewHelpers/Link/TypolinkViewHelper.php
@@ -92,17 +92,17 @@ class TypolinkViewHelper extends AbstractViewHelper
      */
     public static function renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)
     {
-        $parameter = $arguments['parameter'];
-        $target = $arguments['target'];
-        $class = $arguments['class'];
-        $title = $arguments['title'];
-        $additionalParams = $arguments['additionalParams'];
-        $additionalAttributes = $arguments['additionalAttributes'];
-        $useCacheHash = $arguments['useCacheHash'];
-        $addQueryString = $arguments['addQueryString'];
-        $addQueryStringMethod = $arguments['addQueryStringMethod'];
-        $addQueryStringExclude = $arguments['addQueryStringExclude'];
-        $absolute = $arguments['absolute'];
+        $parameter = $arguments['parameter'] ?? '';
+        $target = $arguments['target'] ?? '';
+        $class = $arguments['class'] ?? '';
+        $title = $arguments['title'] ?? '';
+        $additionalParams = $arguments['additionalParams'] ?? '';
+        $additionalAttributes = $arguments['additionalAttributes'] ?? [];
+        $useCacheHash = $arguments['useCacheHash'] ?? false;
+        $addQueryString = $arguments['addQueryString'] ?? false;
+        $addQueryStringMethod = $arguments['addQueryStringMethod'] ?? 'GET';
+        $addQueryStringExclude = $arguments['addQueryStringExclude'] ?? '';
+        $absolute = $arguments['absolute'] ?? false;
 
         // Merge the $parameter with other arguments
         $typolinkParameter = self::createTypolinkParameterArrayFromArguments($parameter, $target, $class, $title, $additionalParams);
diff --git a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/TypolinkViewHelperTest.php b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/TypolinkViewHelperTest.php
index 2b24230bdb4b..18f0f05350c2 100644
--- a/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/TypolinkViewHelperTest.php
+++ b/typo3/sysext/fluid/Tests/Unit/ViewHelpers/Link/TypolinkViewHelperTest.php
@@ -1,4 +1,5 @@
 <?php
+declare(strict_types=1);
 namespace TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Link;
 
 /*
@@ -16,6 +17,7 @@ namespace TYPO3\CMS\Fluid\Tests\Unit\ViewHelpers\Link;
 
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Fluid\Core\Rendering\RenderingContext;
+use TYPO3\CMS\Fluid\Tests\Unit\Core\Rendering\RenderingContextFixture;
 use TYPO3\CMS\Fluid\ViewHelpers\Link\TypolinkViewHelper;
 use TYPO3\CMS\Frontend\ContentObject\ContentObjectRenderer;
 use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
@@ -25,11 +27,6 @@ use TYPO3\TestingFramework\Fluid\Unit\ViewHelpers\ViewHelperBaseTestcase;
  */
 class TypolinkViewHelperTest extends ViewHelperBaseTestcase
 {
-    /**
-     * Subject is not notice free, disable E_NOTICES
-     */
-    protected static $suppressNotices = true;
-
     /**
      * @var TypolinkViewHelper|\PHPUnit_Framework_MockObject_MockObject|\TYPO3\TestingFramework\Core\AccessibleObjectInterface
      */
@@ -42,7 +39,7 @@ class TypolinkViewHelperTest extends ViewHelperBaseTestcase
     {
         $this->subject = $this->getAccessibleMock(TypolinkViewHelper::class, ['renderChildren']);
         /** @var RenderingContext $renderingContext */
-        $renderingContext = $this->createMock(\TYPO3\CMS\Fluid\Tests\Unit\Core\Rendering\RenderingContextFixture::class);
+        $renderingContext = $this->createMock(RenderingContextFixture::class);
         $this->subject->setRenderingContext($renderingContext);
     }
 
-- 
GitLab