Revert "[BUGFIX] Test ifBlank with strlen again" 21/56421/2
authorOliver Hader <oliver@typo3.org>
Thu, 22 Mar 2018 08:40:09 +0000 (09:40 +0100)
committerOliver Hader <oliver.hader@typo3.org>
Thu, 22 Mar 2018 10:46:07 +0000 (11:46 +0100)
This reverts commit ac72c832b9d037c837a244b318984a6e1f4abd50.

The patch for issue #84434 introduced a different behavior for the
stdWrap.ifBlank feature. The current implementation now ignores
whitespace characters (tab, spaces, new lines, carriage return)
which was not the case in previous TYPO3 versions - as a comparison:

* TYPO3 v7: trim($content) === ''
* TYPO3 v6.2: !strlen(trim($content))
* TYPO3 v.4.5: !strlen(trim($content))
* TYPO3 v4.3: !strlen(trim($content)

Thus, the trim() part is basically missing currently. To avoid this
regression concerning the change of behavior, the change is reverted.

Related: #84434
Resolves: #84520
Releases: master, 8.7
Change-Id: I1fcbd0d249e18d06a96d481bf44a39de0662bed1
Reviewed-on: https://review.typo3.org/56421
Reviewed-by: Susanne Moog <susanne.moog@typo3.org>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Jigal van Hemert <jigal.van.hemert@typo3.org>
Reviewed-by: Frank Naegler <frank.naegler@typo3.org>
Tested-by: Susanne Moog <susanne.moog@typo3.org>
Reviewed-by: Oliver Hader <oliver.hader@typo3.org>
Tested-by: Oliver Hader <oliver.hader@typo3.org>
typo3/sysext/frontend/Classes/ContentObject/ContentObjectRenderer.php
typo3/sysext/frontend/Tests/Unit/ContentObject/ContentObjectRendererTest.php

index c0c25bb..3253296 100644 (file)
@@ -1906,7 +1906,7 @@ class ContentObjectRenderer
      */
     public function stdWrap_ifBlank($content = '', $conf = [])
     {
-        if (strlen($content) === 0) {
+        if (trim($content) === '') {
             $content = $conf['ifBlank'];
         }
         return $content;
index 22c95b4..f5e5385 100644 (file)
@@ -5578,13 +5578,13 @@ class ContentObjectRendererTest extends \TYPO3\TestingFramework\Core\Unit\UnitTe
             'null is blank' => [$alt, null, $conf],
             'false is blank' => [$alt, false, $conf],
             'empty string is blank' => [$alt, '', $conf],
+            'whitespace is blank' => [$alt, TAB . '', $conf],
             // non-blank cases
             'string is not blank' => ['string', 'string', $conf],
             'zero is not blank' => [0, 0, $conf],
             'zero string is not blank' => ['0', '0', $conf],
             'zero float is not blank' => [0.0, 0.0, $conf],
             'true is not blank' => [true, true, $conf],
-            'whitespace is not blank' => ['  ', '  ', $conf],
         ];
     }