Пример #1
0
 /**
  * testCreateRuleWithExcludePattern
  *
  * @return void
  */
 public function testCreateRuleWithExcludePattern()
 {
     self::changeWorkingDirectory();
     $factory = new RuleSetFactory();
     $excludes = $factory->getIgnorePattern('exclude-pattern');
     $expected = array('some/excluded/files');
     $this->assertEquals($expected, $excludes);
 }
Пример #2
0
 /**
  * This method will process all files that can be found in the given input
  * path. It will apply rules defined in the comma-separated <b>$ruleSets</b>
  * argument. The result will be passed to all given renderer instances.
  *
  * @param string $inputPath
  * @param string $ruleSets
  * @param \PHPMD\AbstractRenderer[] $renderers
  * @param \PHPMD\RuleSetFactory $ruleSetFactory
  * @return void
  */
 public function processFiles($inputPath, $ruleSets, array $renderers, RuleSetFactory $ruleSetFactory)
 {
     // Merge parsed excludes
     $this->ignorePatterns = array_merge($this->ignorePatterns, $ruleSetFactory->getIgnorePattern($ruleSets));
     $this->input = $inputPath;
     $report = new Report();
     $factory = new ParserFactory();
     $parser = $factory->create($this);
     foreach ($ruleSetFactory->createRuleSets($ruleSets) as $ruleSet) {
         $parser->addRuleSet($ruleSet);
     }
     $report->start();
     $parser->parse($report);
     $report->end();
     foreach ($renderers as $renderer) {
         $renderer->start();
     }
     foreach ($renderers as $renderer) {
         $renderer->renderReport($report);
     }
     foreach ($renderers as $renderer) {
         $renderer->end();
     }
     $this->violations = !$report->isEmpty();
 }