Esempio n. 1
0
 /**
  * generateDirectoryStructure
  *
  * @param       $destDir
  * @param array $dirs
  * @return $this
  */
 public function generateDirectoryStructure($destDir, array $dirs = [])
 {
     foreach ($dirs as $dirPath) {
         $dirPath = Path::join($destDir, $dirPath);
         if (!$this->files->exists($dirPath)) {
             $this->files->makeDirectory($dirPath, 0755, true);
         }
     }
     return $this;
 }
Esempio n. 2
0
 public function testMirrorCopiesFilesAndDirectoriesRecursively()
 {
     $sourcePath = $this->workspace . DIRECTORY_SEPARATOR . 'source' . DIRECTORY_SEPARATOR;
     $directory = $sourcePath . 'directory' . DIRECTORY_SEPARATOR;
     $file1 = $directory . 'file1';
     $file2 = $sourcePath . 'file2';
     mkdir($sourcePath);
     mkdir($directory);
     file_put_contents($file1, 'FILE1');
     file_put_contents($file2, 'FILE2');
     $targetPath = $this->workspace . DIRECTORY_SEPARATOR . 'target' . DIRECTORY_SEPARATOR;
     $this->filesystem->mirror($sourcePath, $targetPath);
     $this->assertTrue(is_dir($targetPath));
     $this->assertTrue(is_dir($targetPath . 'directory'));
     $this->assertFileEquals($file1, $targetPath . 'directory' . DIRECTORY_SEPARATOR . 'file1');
     $this->assertFileEquals($file2, $targetPath . 'file2');
     $this->filesystem->remove($file1);
     $this->filesystem->mirror($sourcePath, $targetPath, null, array('delete' => false));
     $this->assertTrue($this->filesystem->exists($targetPath . 'directory' . DIRECTORY_SEPARATOR . 'file1'));
     $this->filesystem->mirror($sourcePath, $targetPath, null, array('delete' => true));
     $this->assertFalse($this->filesystem->exists($targetPath . 'directory' . DIRECTORY_SEPARATOR . 'file1'));
     file_put_contents($file1, 'FILE1');
     $this->filesystem->mirror($sourcePath, $targetPath, null, array('delete' => true));
     $this->assertTrue($this->filesystem->exists($targetPath . 'directory' . DIRECTORY_SEPARATOR . 'file1'));
     $this->filesystem->remove($directory);
     $this->filesystem->mirror($sourcePath, $targetPath, null, array('delete' => true));
     $this->assertFalse($this->filesystem->exists($targetPath . 'directory'));
     $this->assertFalse($this->filesystem->exists($targetPath . 'directory' . DIRECTORY_SEPARATOR . 'file1'));
 }