diff --git a/src/Storm/FileSystem/Disk.php b/src/Storm/FileSystem/Disk.php index b78c478d50e2ebf90065f40ac7979ebf68965f96..5a66a28e1212de2663bfb84aa718d2a152adac55 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 6faf6cacb141dfe0f90585bde38c844f16983e06..da128b2a62ca656a38104aa553e498bc3ce7dbb8 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 0c6db991cd402495aa21260d848c3e3d4a656c56..677344fec7ec6b70ec12f07ae378cc7217b569ed 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)); + } }