@@ -45,16 +45,13 @@ private function destroyEnvironment()
4545 */
4646 private function removeDirectory ($ directory )
4747 {
48- if (!file_exists ($ directory ))
49- {
48+ if (!file_exists ($ directory )) {
5049 return ;
5150 }
5251 $ items = array_diff (scandir ($ directory ), [". " , ".. " ]);
53- foreach ($ items as $ item )
54- {
52+ foreach ($ items as $ item ) {
5553 $ item = $ directory . "/ " . $ item ;
56- if (file_exists ($ item ) and is_dir ($ item ))
57- {
54+ if (file_exists ($ item ) and is_dir ($ item )) {
5855 $ this ->removeDirectory ($ item );
5956 continue ;
6057 }
@@ -65,29 +62,27 @@ private function removeDirectory($directory)
6562
6663 /**
6764 * @param string $name
68- * @param array $items
65+ * @param array $items
6966 */
7067 private function createStructure ($ name , $ items )
7168 {
72- if (!file_exists ($ name ))
73- {
69+ if (!file_exists ($ name )) {
7470 mkdir ($ name );
7571 }
76- foreach ($ items as $ key => $ item )
77- {
78- if (is_array ($ item ))
79- {
72+ foreach ($ items as $ key => $ item ) {
73+ if (is_array ($ item )) {
8074 $ this ->createStructure ($ name . "/ " . $ key , $ item );
8175 continue ;
8276 }
83- if (Strings::endsWith ($ item , ".txt " ) && !file_exists ($ name . "/ " . $ item ))
84- {
77+ if (Strings::endsWith ($ item , ".txt " ) && !file_exists ($ name . "/ " . $ item )) {
8578 $ file = fopen ($ name . "/ " . $ item , "w " );
8679 fwrite ($ file , $ item );
8780 fclose ($ file );
8881 continue ;
8982 }
90- if (!file_exists ($ name . "/ " . $ item )) mkdir ($ name . "/ " . $ item );
83+ if (!file_exists ($ name . "/ " . $ item )) {
84+ mkdir ($ name . "/ " . $ item );
85+ }
9186 }
9287 }
9388
@@ -132,6 +127,14 @@ public function testCopy()
132127 self ::assertException (function () { FileSystem::copy ($ this ->baseDir . "/var/directory_4 " , "" ); }, InvalidArgumentException::class);
133128 }
134129
130+ public function testMirror ()
131+ {
132+ $ source = $ this ->baseDir . "/var/directory_1 " ;
133+ $ destination = $ this ->baseDir . "/var/copied_directory_1 " ;
134+ FileSystem::mirror ($ source , $ destination );
135+ self ::assertSameSize (FileSystem::scanDirectory ($ source , FileSystem::SCAN_ALL , true ), FileSystem::scanDirectory ($ destination , FileSystem::SCAN_ALL , true ));
136+ }
137+
135138 public function testAppend ()
136139 {
137140 $ filename = $ this ->baseDir . "/var/directory_1/file_2.txt " ;
@@ -210,14 +213,12 @@ public function testReadLineByLine()
210213 $ filename = $ this ->baseDir . "/var/directory_1/file_2.txt " ;
211214 FileSystem::append ($ filename , "Appended line! " );
212215 $ count = 0 ;
213- foreach (FileSystem::readLineByLine ($ filename ) as $ line )
214- {
216+ foreach (FileSystem::readLineByLine ($ filename ) as $ line ) {
215217 $ count ++;
216218 }
217219 self ::assertEquals (2 , $ count );
218220 self ::assertException (function () {
219- foreach (FileSystem::readLineByLine ("" ) as $ line )
220- {
221+ foreach (FileSystem::readLineByLine ("" ) as $ line ) {
221222 }
222223 }, InvalidArgumentException::class);
223224 }
@@ -307,28 +308,22 @@ public function testIterateDirectory()
307308 $ filesRecursively = [];
308309 $ directoriesRecursively = [];
309310 $ allRecursively = [];
310- foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_FILES ) as $ path )
311- {
311+ foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_FILES ) as $ path ) {
312312 $ files [] = $ path ;
313313 }
314- foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_DIRECTORIES ) as $ path )
315- {
314+ foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_DIRECTORIES ) as $ path ) {
316315 $ directories [] = $ path ;
317316 }
318- foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_ALL ) as $ path )
319- {
317+ foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_ALL ) as $ path ) {
320318 $ all [] = $ path ;
321319 }
322- foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_FILES , true ) as $ path )
323- {
320+ foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_FILES , true ) as $ path ) {
324321 $ filesRecursively [] = $ path ;
325322 }
326- foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_DIRECTORIES , true ) as $ path )
327- {
323+ foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_DIRECTORIES , true ) as $ path ) {
328324 $ directoriesRecursively [] = $ path ;
329325 }
330- foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_ALL , true ) as $ path )
331- {
326+ foreach (FileSystem::iterateDirectory ($ this ->baseDir . "/var " , FileSystem::SCAN_ALL , true ) as $ path ) {
332327 $ allRecursively [] = $ path ;
333328 }
334329 self ::assertEquals (0 , count ($ files ));
0 commit comments