Updated Drupal to 8.6. This goes with the following updates because it's possible...
[yaffs-website] / vendor / symfony / finder / Tests / Iterator / RealIteratorTestCase.php
index 94253c7ee7ca2f654c504428670873f44037f879..b0223b782b6a66a4d8a391a99931a0cd4db95563 100644 (file)
@@ -18,7 +18,7 @@ abstract class RealIteratorTestCase extends IteratorTestCase
 
     public static function setUpBeforeClass()
     {
-        self::$tmpDir = realpath(sys_get_temp_dir()).DIRECTORY_SEPARATOR.'symfony_finder';
+        self::$tmpDir = realpath(sys_get_temp_dir()).\DIRECTORY_SEPARATOR.'symfony_finder';
 
         self::$files = array(
             '.git/',
@@ -44,7 +44,7 @@ abstract class RealIteratorTestCase extends IteratorTestCase
         }
 
         foreach (self::$files as $file) {
-            if (DIRECTORY_SEPARATOR === $file[strlen($file) - 1]) {
+            if (\DIRECTORY_SEPARATOR === $file[\strlen($file) - 1]) {
                 mkdir($file);
             } else {
                 touch($file);
@@ -60,11 +60,20 @@ abstract class RealIteratorTestCase extends IteratorTestCase
 
     public static function tearDownAfterClass()
     {
-        foreach (array_reverse(self::$files) as $file) {
-            if (DIRECTORY_SEPARATOR === $file[strlen($file) - 1]) {
-                @rmdir($file);
+        $paths = new \RecursiveIteratorIterator(
+             new \RecursiveDirectoryIterator(self::$tmpDir, \RecursiveDirectoryIterator::SKIP_DOTS),
+             \RecursiveIteratorIterator::CHILD_FIRST
+         );
+
+        foreach ($paths as $path) {
+            if ($path->isDir()) {
+                if ($path->isLink()) {
+                    @unlink($path);
+                } else {
+                    @rmdir($path);
+                }
             } else {
-                @unlink($file);
+                @unlink($path);
             }
         }
     }
@@ -75,24 +84,24 @@ abstract class RealIteratorTestCase extends IteratorTestCase
          * Without the call to setUpBeforeClass() property can be null.
          */
         if (!self::$tmpDir) {
-            self::$tmpDir = realpath(sys_get_temp_dir()).DIRECTORY_SEPARATOR.'symfony_finder';
+            self::$tmpDir = realpath(sys_get_temp_dir()).\DIRECTORY_SEPARATOR.'symfony_finder';
         }
 
-        if (is_array($files)) {
+        if (\is_array($files)) {
             $f = array();
             foreach ($files as $file) {
-                if (is_array($file)) {
+                if (\is_array($file)) {
                     $f[] = self::toAbsolute($file);
                 } else {
-                    $f[] = self::$tmpDir.DIRECTORY_SEPARATOR.str_replace('/', DIRECTORY_SEPARATOR, $file);
+                    $f[] = self::$tmpDir.\DIRECTORY_SEPARATOR.str_replace('/', \DIRECTORY_SEPARATOR, $file);
                 }
             }
 
             return $f;
         }
 
-        if (is_string($files)) {
-            return self::$tmpDir.DIRECTORY_SEPARATOR.str_replace('/', DIRECTORY_SEPARATOR, $files);
+        if (\is_string($files)) {
+            return self::$tmpDir.\DIRECTORY_SEPARATOR.str_replace('/', \DIRECTORY_SEPARATOR, $files);
         }
 
         return self::$tmpDir;
@@ -102,7 +111,7 @@ abstract class RealIteratorTestCase extends IteratorTestCase
     {
         $f = array();
         foreach ($files as $file) {
-            $f[] = realpath(__DIR__.DIRECTORY_SEPARATOR.'..'.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.$file);
+            $f[] = realpath(__DIR__.\DIRECTORY_SEPARATOR.'..'.\DIRECTORY_SEPARATOR.'Fixtures'.\DIRECTORY_SEPARATOR.$file);
         }
 
         return $f;