[TASK] Do not use constants in low-level classes 45/62345/6
authorBenni Mack <benni@typo3.org>
Tue, 19 Nov 2019 15:43:44 +0000 (16:43 +0100)
committerSusanne Moog <look@susi.dev>
Wed, 20 Nov 2019 14:19:06 +0000 (15:19 +0100)
There are certain PHP classes used in the testing framework that
use constants like "LF" which are defined by the SystemEnvironmentBuilder.

The testing framework depends on these classes, but should not
depend on global constants like "LF". The patch changes the lines to "\n"
allowing to continue slimming down testing framework.

Resolves: #89712
Releases: master, 9.5
Change-Id: Ieace867d13ab320a3273e1119a3a2ecc9268103b
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62345
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Susanne Moog <look@susi.dev>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Alexander Schnitzler <review.typo3.org@alexanderschnitzler.de>
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: Susanne Moog <look@susi.dev>
typo3/sysext/core/Classes/Configuration/ConfigurationManager.php
typo3/sysext/core/Classes/Core/ClassLoadingInformationGenerator.php
typo3/sysext/core/Classes/Utility/ArrayUtility.php

index ec3f5f8..f377c42 100644 (file)
@@ -371,10 +371,10 @@ class ConfigurationManager
         $configuration = ArrayUtility::sortByKeyRecursive($configuration);
         $result = GeneralUtility::writeFile(
             $localConfigurationFile,
-            '<?php' . LF .
+            "<?php\n" .
                 'return ' .
                     ArrayUtility::arrayExport($configuration) .
-                ';' . LF,
+                ";\n",
             true
         );
 
@@ -395,8 +395,7 @@ class ConfigurationManager
     {
         return GeneralUtility::writeFile(
             $this->getAdditionalConfigurationFileLocation(),
-            '<?php' . LF .
-                implode(LF, $additionalConfigurationLines) . LF
+            "<?php\n" . implode("\n", $additionalConfigurationLines) . "\n"
         );
     }
 
index 7902cbd..3dbad06 100644 (file)
@@ -230,12 +230,12 @@ EOF;
         ksort($classMap);
         ksort($psr4);
         foreach ($classMap as $class => $relativePath) {
-            $classMapFile .= sprintf('    %s => %s,', var_export($class, true), $this->getPathCode($relativePath)) . LF;
+            $classMapFile .= sprintf('    %s => %s,', var_export($class, true), $this->getPathCode($relativePath)) . "\n";
         }
         $classMapFile .= ");\n";
 
         foreach ($psr4 as $prefix => $relativePaths) {
-            $psr4File .= sprintf('    %s => array(%s),', var_export($prefix, true), implode(',', array_map([$this, 'getPathCode'], $relativePaths))) . LF;
+            $psr4File .= sprintf('    %s => array(%s),', var_export($prefix, true), implode(',', array_map([$this, 'getPathCode'], $relativePaths))) . "\n";
         }
         $psr4File .= ");\n";
 
@@ -299,7 +299,7 @@ EOF;
             'aliasToClassNameMapping' => $aliasToClassNameMapping,
             'classNameToAliasMapping' => $classNameToAliasMapping
         ];
-        $fileContent = '<?php' . chr(10) . 'return ';
+        $fileContent = "<?php\nreturn ";
         $fileContent .= var_export($exportArray, true);
         $fileContent .= ";\n";
         return $fileContent;
index 55c02a6..736f737 100644 (file)
@@ -396,7 +396,7 @@ class ArrayUtility
      */
     public static function arrayExport(array $array = [], $level = 0)
     {
-        $lines = '[' . LF;
+        $lines = "[\n";
         $level++;
         $writeKeyIndex = false;
         $expectedKeyIndex = 0;
@@ -420,25 +420,25 @@ class ArrayUtility
                 if (!empty($value)) {
                     $lines .= self::arrayExport($value, $level);
                 } else {
-                    $lines .= '[],' . LF;
+                    $lines .= "[],\n";
                 }
             } elseif (is_int($value) || is_float($value)) {
-                $lines .= $value . ',' . LF;
+                $lines .= $value . ",\n";
             } elseif ($value === null) {
-                $lines .= 'null,' . LF;
+                $lines .= "null,\n";
             } elseif (is_bool($value)) {
                 $lines .= $value ? 'true' : 'false';
-                $lines .= ',' . LF;
+                $lines .= ",\n";
             } elseif (is_string($value)) {
                 // Quote \ to \\
                 // Quote ' to \'
                 $stringContent = str_replace(['\\', '\''], ['\\\\', '\\\''], $value);
-                $lines .= '\'' . $stringContent . '\',' . LF;
+                $lines .= '\'' . $stringContent . "',\n";
             } else {
                 throw new \RuntimeException('Objects are not supported', 1342294987);
             }
         }
-        $lines .= str_repeat('    ', $level - 1) . ']' . ($level - 1 == 0 ? '' : ',' . LF);
+        $lines .= str_repeat('    ', $level - 1) . ']' . ($level - 1 == 0 ? '' : ",\n");
         return $lines;
     }
 
@@ -473,6 +473,7 @@ class ArrayUtility
      *
      * @param array $array The (relative) array to be converted
      * @param string $prefix The (relative) prefix to be used (e.g. 'section.')
+     * @param bool $keepDots
      * @return array
      */
     public static function flatten(array $array, $prefix = '', bool $keepDots = false)