[TASK] Throw exception when StringUtility is called with array 58/56158/5
authorSascha Löffler <lsascha@gmail.com>
Thu, 15 Mar 2018 10:34:59 +0000 (11:34 +0100)
committerChristian Kuhn <lolli@schwarzbu.ch>
Thu, 15 Mar 2018 12:46:15 +0000 (13:46 +0100)
Throw exception when calling StringUtility with array and
remove suppressNotices in StringUtilityTest.

Change-Id: Ic2b7075f2943bda284d4747b8aaa4f4b6fb70e3b
Resolves: #84276
Releases: master
Reviewed-on: https://review.typo3.org/56158
Reviewed-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: Anja Leichsenring <aleichsenring@ab-softlab.de>
Tested-by: TYPO3com <no-reply@typo3.com>
Reviewed-by: Christian Kuhn <lolli@schwarzbu.ch>
Tested-by: Christian Kuhn <lolli@schwarzbu.ch>
typo3/sysext/core/Classes/Utility/StringUtility.php
typo3/sysext/core/Tests/Unit/Utility/StringUtilityTest.php

index 5678fc0..5e0b77d 100644 (file)
@@ -31,13 +31,13 @@ class StringUtility
     public static function beginsWith($haystack, $needle)
     {
         // Sanitize $haystack and $needle
-        if (is_object($haystack) || $haystack === null || (string)$haystack != $haystack) {
+        if (is_array($haystack) || is_object($haystack) || $haystack === null || (string)$haystack != $haystack) {
             throw new \InvalidArgumentException(
                 '$haystack can not be interpreted as string',
                 1347135546
             );
         }
-        if (is_object($needle) || (string)$needle != $needle || strlen($needle) < 1) {
+        if (is_array($needle) || is_object($needle) || (string)$needle != $needle || strlen($needle) < 1) {
             throw new \InvalidArgumentException(
                 '$needle can not be interpreted as string or has zero length',
                 1347135547
@@ -60,13 +60,13 @@ class StringUtility
     public static function endsWith($haystack, $needle)
     {
         // Sanitize $haystack and $needle
-        if (is_object($haystack) || $haystack === null || (string)$haystack != $haystack) {
+        if (is_array($haystack) || is_object($haystack) || $haystack === null || (string)$haystack != $haystack) {
             throw new \InvalidArgumentException(
                 '$haystack can not be interpreted as string',
                 1347135544
             );
         }
-        if (is_object($needle) || (string)$needle != $needle || strlen($needle) < 1) {
+        if (is_array($needle) || is_object($needle) || (string)$needle != $needle || strlen($needle) < 1) {
             throw new \InvalidArgumentException(
                 '$needle can not be interpreted as string or has no length',
                 1347135545
index 41f0b4e..3bcb4fc 100644 (file)
@@ -21,10 +21,6 @@ use TYPO3\CMS\Core\Utility\StringUtility;
  */
 class StringUtilityTest extends \TYPO3\TestingFramework\Core\Unit\UnitTestCase
 {
-    /**
-     * Subject is not notice free, disable E_NOTICES
-     */
-    protected static $suppressNotices = true;
 
     /**
      * Data provider for endsWithReturnsTrueForMatchingFirstPart