/** * Pre Package event behaviour for backing up preserved paths. * * @param \Composer\Installer\PackageEvent $event */ public function postPackage(PackageEvent $event) { $packages = $this->getPackagesFromEvent($event); $paths = $this->getInstallPathsFromPackages($packages); $preserver = new PathRemover($paths, $this->getPathsToRemove(), $this->filesystem, $this->io); $preserver->remove(); }
public function testRemove() { // Create testfiles $file1 = $this->workDirectory . '/file1.txt'; file_put_contents($file1, 'Contents of file1'); $file2 = $this->workDirectory . '/file2.txt'; file_put_contents($file2, 'Contents of file2'); $file3 = $this->workDirectory . '/file3.txt'; file_put_contents($file3, 'Contents of file3'); // Create files nested in directories $dir1 = $this->workDirectory . '/dir1'; mkdir($dir1); $file4 = $dir1 . '/file4.txt'; file_put_contents($file4, 'Contents of file4'); $dir2 = $dir1 . '/dir2'; mkdir($dir2); $file5 = $dir2 . '/file5.txt'; file_put_contents($file5, 'Contents of file5'); $dir3 = $this->workDirectory . '/dir3'; mkdir($dir3); $installPaths = array($this->workDirectory); $removePaths = array($file1, $file2, $file2, $dir1); $remover = new PathRemover($installPaths, $removePaths, $this->fs, $this->io); $this->assertFileExists($file1, 'File1 created'); $this->assertFileExists($file2, 'File2 created'); $this->assertFileExists($file3, 'File3 created'); $this->assertFileExists($dir1, 'Dir1 created'); $this->assertFileExists($file4, 'File4 created'); $this->assertFileExists($dir2, 'Dir2 created'); $this->assertFileExists($file5, 'File5 created'); $this->assertFileExists($dir3, 'Dir3 created'); $remover->remove(); $this->assertFileNotExists($file1, 'File1 removed'); $this->assertFileNotExists($file2, 'File2 removed'); $this->assertFileExists($file3, 'File3 still exists'); $this->assertFileNotExists($file4, 'File4 removed'); $this->assertFileNotExists($file5, 'File5 removed'); $this->assertFileNotExists($dir1, 'Dir1 removed'); $this->assertFileNotExists($dir2, 'Dir2 removed'); $this->assertFileExists($dir3, 'Dir3 still exists'); }