writeFileIfMissingOrChanged($file); } } /** * Remove unused files. * * @param array $files The files that needs to be there (others will be removed) * * @return void */ private function removeUnusedFiles($files) { $dirs = []; foreach ($files as $file) { list($filename, $content) = $file; $dir = dirname($filename); if (!isset($dirs[$dir])) { $dirs[$dir] = []; } $dirs[$dir][] = basename($filename); } foreach ($dirs as $dir => $filesSupposedToBeInDir) { $fileIterator = new \FilesystemIterator($dir); while ($fileIterator->valid()) { $filename = $fileIterator->getFilename(); if (!in_array($filename, $filesSupposedToBeInDir)) { unlink($dir . '/' . $filename); } $fileIterator->next(); } } } /** * Line-up test files. * * This method should make sure that the files passed in are there and are up-to-date. * - If a file is missing, it should be created. * - If a file has changed content, it should be updated * - If the directory contains a file/dir that should not be there, it should be removed * * @param array $files The files that needs to be there * * @return void */ public function lineUp($files) { // 1. Put missing files / changed files $this->writeMissingAndChangedFiles($files); // 2. Remove unused files $this->removeUnusedFiles($files); } } __halt_compiler();----SIGNATURE:----NQBkiOWzFsFWGNu2u8/04RdkoruvBysV+rQXonXCZvU1Xp66jhx5WXq3bqtC0/FPbpuDkziQnk9bF+TdqG0pYjWe/UtXUoUC4XJihwVLcPpDgY6PIKt0C0EL4BIT+dad2mEgVQTRCWhmglUjqglBmjYAiugU3GIULsYESq1ZzzUSQvLm7fmffBATMCecXx2PuLhPS/wuiEWuEqD1pYIWF/D83U1Z79gV7/mL4Zy28y1sV10zt3GpUZTZRG/t4HGExER6jFyD9J3YjAYCFep+BVWTrvfYELDfEL5AzNtrGXdXlTM+4g38qQcG/S+PZkdb193wI5K2LTCce3YbbOFMMTYIgj0WvYail9YfqMAtlyzLRWtW6ei1DUe4LfSXQiZ+vY1IHK4i0pI0wjR5LQkEWvtxE524hXSCvgJqngNgNQ3YjqjzUK+4sqMXfSftEPCfCHSK2lL2xF0UqNSgbKeYOkebNc3++YnjjLl2x5YYm3fIHowFoTQ0YeOJl7KRHbLoKauDLuXLj9iBKNi6ZvYohmAwIm6X4AmYgOCvUryqp2QrobEp+p5gdvk5dxtcoojs05Csk2jinYh1iFedTQyvoPhlYL9guWypRmh3Gq9pC0gIukFB1Tk30J0OgR3wB2lap964Fxl4seZXx2Ei328Hm0KlT49bOrUze+xivkVM54w=----ATTACHMENT:----NDkxOTMwMTYyMDEzMjU3NyAyNzYwMTY4NTU2MjAxOTU1IDYwMjg5NDg4MzAwNzc4ODU=