Example #1
0
 /** @covers \phpDocumentor\Fileset\Collection::getProjectRoot() */
 public function testGetProjectRootWhenTwoDatafilesWereAddedReturnsDataFolder()
 {
     $this->fixture->setAllowedExtensions(array('phar', 'txt'));
     $this->fixture->addFile($this->getNameOfDataDir() . 'test.phar');
     $this->fixture->addFile($this->getNameOfDataDir() . 'fileWithText.txt');
     // realpath() steals our trailing directory separator
     $expected = realpath($this->getNameOfDataDir()) . DIRECTORY_SEPARATOR;
     $this->assertEquals($expected, $this->fixture->getProjectRoot());
 }
Example #2
0
 /**
  * Returns the collection of files based on the input and configuration.
  *
  * @param InputInterface $input
  *
  * @return Collection
  */
 protected function getFileCollection($input)
 {
     /** @var ConfigurationHelper $configurationHelper */
     $configurationHelper = $this->getHelper('phpdocumentor_configuration');
     $this->files->setAllowedExtensions($configurationHelper->getOption($input, 'extensions', 'parser/extensions', array('php', 'php3', 'phtml'), true));
     $this->files->setIgnorePatterns($configurationHelper->getOption($input, 'ignore', 'files/ignore', array(), true));
     $ignoreHidden = $configurationHelper->getOption($input, 'hidden', 'files/ignore-hidden', 'off');
     $this->files->setIgnoreHidden($ignoreHidden !== 'off' && $ignoreHidden === false);
     $this->files->setFollowSymlinks($configurationHelper->getOption($input, 'ignore-symlinks', 'files/ignore-symlinks', 'off') == 'on');
     $file_options = (array) $configurationHelper->getOption($input, 'filename', 'files/files', array(), true);
     $added_files = array();
     foreach ($file_options as $glob) {
         if (!is_string($glob)) {
             continue;
         }
         $matches = glob($glob);
         if (is_array($matches)) {
             foreach ($matches as $file) {
                 if (!empty($file)) {
                     $file = realpath($file);
                     if (!empty($file)) {
                         $added_files[] = $file;
                     }
                 }
             }
         }
     }
     $this->files->addFiles($added_files);
     $directory_options = $configurationHelper->getOption($input, 'directory', 'files/directories', array(), true);
     $added_directories = array();
     foreach ($directory_options as $glob) {
         if (!is_string($glob)) {
             continue;
         }
         $matches = glob($glob, GLOB_ONLYDIR);
         if (is_array($matches)) {
             foreach ($matches as $dir) {
                 if (!empty($dir)) {
                     $dir = realpath($dir);
                     if (!empty($dir)) {
                         $added_directories[] = $dir;
                     }
                 }
             }
         }
     }
     $this->files->addDirectories($added_directories);
     return $this->files;
 }
 /**
  * Constructs a Fileset collection and returns that.
  *
  * @param array $sources    List of source paths.
  * @param array $extensions List of extensions to scan for in directories.
  *
  * @return Collection
  */
 protected function buildCollection(array $sources, array $extensions)
 {
     $collection = new Collection();
     $collection->setAllowedExtensions($extensions);
     foreach ($sources as $path) {
         if (is_dir($path)) {
             $collection->addDirectory($path);
             continue;
         }
         $collection->addFile($path);
     }
     return $collection;
 }