From 7b0d11f1ae8ddc5274b20fb5ed414ad9b6ac67db Mon Sep 17 00:00:00 2001
From: Henri-Damien LAURENT <hdlaurent@afi-sa.net>
Date: Fri, 14 Apr 2023 13:02:55 +0000
Subject: [PATCH] Ajout de test RTFix

---
 src/Storm/FileSystem/Disk.php       |  7 ++++---
 src/Storm/FileSystem/Volatile.php   | 11 ++++++-----
 tests/Storm/FileSystem/DiskTest.php | 19 ++++++++++++++-----
 3 files changed, 24 insertions(+), 13 deletions(-)

diff --git a/src/Storm/FileSystem/Disk.php b/src/Storm/FileSystem/Disk.php
index b78c478d..5a66a28e 100644
--- a/src/Storm/FileSystem/Disk.php
+++ b/src/Storm/FileSystem/Disk.php
@@ -30,7 +30,7 @@ class Storm_FileSystem_Disk extends Storm_FileSystem_Abstract {
   }
 
 
-  public function rmdir($path) {
+  public function rmdir(string $path) :bool {
     return rmdir($path);
   }
 
@@ -136,8 +136,9 @@ class Storm_FileSystem_Disk extends Storm_FileSystem_Abstract {
   }
 
 
-  public function deleteFilesAt($path) {
+  public function deleteFilesAt(string $path) : self {
     foreach ($this->fileNamesAt($path) as $filename)
-      $this->delete($path.'/'.$filename);
+      $this->delete($path. '/' .$filename);
+    return $this;
   }
 }
diff --git a/src/Storm/FileSystem/Volatile.php b/src/Storm/FileSystem/Volatile.php
index 6faf6cac..da128b2a 100644
--- a/src/Storm/FileSystem/Volatile.php
+++ b/src/Storm/FileSystem/Volatile.php
@@ -125,13 +125,13 @@ class Storm_FileSystem_Volatile extends Storm_FileSystem_Abstract {
   }
 
 
-  public function rm($path) {
+  public function rm($path) : self {
     $this->asPath($path)->rm();
     return $this;
   }
 
 
-  public function rmdir($path) {
+  public function rmdir(string $path) : self {
     $this->asPath($path)->rm();
     return $this;
   }
@@ -176,7 +176,7 @@ class Storm_FileSystem_Volatile extends Storm_FileSystem_Abstract {
   }
 
 
-  public function isDirectory($path) {
+  public function isDirectory(string $path) : bool {
     return $this->entryAt($path)->isDirectory();
   }
 
@@ -201,9 +201,10 @@ class Storm_FileSystem_Volatile extends Storm_FileSystem_Abstract {
   }
 
 
-  public function deleteFilesAt($path) {
+  public function deleteFilesAt(string $path) :self {
     foreach ($this->fileNamesAt($path) as $filename)
-      $this->delete($path.'/'.$filename);
+      $this->delete($path. '/' .$filename);
+    return $this;
   }
 }
 
diff --git a/tests/Storm/FileSystem/DiskTest.php b/tests/Storm/FileSystem/DiskTest.php
index 0c6db991..677344fe 100644
--- a/tests/Storm/FileSystem/DiskTest.php
+++ b/tests/Storm/FileSystem/DiskTest.php
@@ -42,12 +42,14 @@ class Storm_FileSystem_DiskBasicTest extends Storm_FileSystem_DiskTestCase {
   }
 
   public function tearDown() {
-    if (file_exists($this->_directory.'/testfile')){
-      chmod($this->_directory.'/testfile',0700);
-      unlink($this->_directory.'/testfile');
+    if (file_exists($this->_directory. '/testfile')){
+      chmod($this->_directory . '/testfile', 0700);
+      unlink($this->_directory . '/testfile');
+    }
+    if (file_exists($this->_directory. '/'. $this->_subdirectory)){
+      chmod($this->_directory . '/' . $this->_subdirectory, 0700);
+      rmdir($this->_directory . '/' . $this->_subdirectory);
     }
-    chmod($this->_directory.'/'.$this->_subdirectory,0700);
-    rmdir($this->_directory.'/'.$this->_subdirectory);
     rmdir($this->_directory);
     parent::tearDown();
   }
@@ -125,4 +127,11 @@ class Storm_FileSystem_DiskBasicTest extends Storm_FileSystem_DiskTestCase {
     $this->_fs->deleteFilesAt($this->_directory);
     $this->assertEmpty($this->_fs->fileNamesAt($this->_directory));
   }
+
+
+  /** @test */
+  public function rmdirShouldDeleteSubDirectory() {
+    $this->_fs->rmdir($this->_directory .'/'. $this->_subdirectory);
+    $this->assertFalse($this->_fs->fileExists($this->_directory .'/'. $this->_subdirectory));
+  }
 }
-- 
GitLab