コード例 #1
0
 /** @test */
 function it_merges_with_other_analysis_result()
 {
     $anaysisResult1 = new AnalysisResult();
     $files1 = ['Z.php', 'A.php'];
     $lines1 = [31, 56, 11];
     foreach ($files1 as $file) {
         foreach ($lines1 as $line) {
             $anaysisResult1->addIssue($file, $line, 'PHPMessDetector', 'error', 'Error');
         }
     }
     $anaysisResult2 = new AnalysisResult();
     $files2 = ['Y.php', 'B.php', 'A.php'];
     $lines2 = [300, 418];
     foreach ($files2 as $file) {
         foreach ($lines2 as $line) {
             $anaysisResult2->addIssue($file, $line, 'PHPCodeSniffer', 'error', 'Error');
         }
     }
     $anaysisResult1->mergeWith($anaysisResult2);
     $this->assertEquals(['A.php' => [11 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 31 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 56 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 300 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']], 418 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']]], 'B.php' => [300 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']], 418 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']]], 'Y.php' => [300 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']], 418 => [['tool' => 'PHPCodeSniffer', 'type' => 'error', 'message' => 'Error']]], 'Z.php' => [11 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 31 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']], 56 => [['tool' => 'PHPMessDetector', 'type' => 'error', 'message' => 'Error']]]], $anaysisResult1->toArray());
 }
コード例 #2
0
ファイル: Command.php プロジェクト: GuidoBR/php-hound
 /**
  * Run each configured PHP analysis tool.
  * @return void
  */
 protected function runAllAnalysisTools()
 {
     $result = new AnalysisResult();
     $this->trigger(self::EVENT_STARTING_ANALYSIS);
     foreach ($this->getAnalysisTools() as $tool) {
         $startingMessage = ['description' => $tool->getDescription(), 'ignoredPaths' => $tool->getIgnoredPaths()];
         $this->trigger(self::EVENT_STARTING_TOOL, $startingMessage);
         $tool->run($this->getAnalysedPath());
         $result->mergeWith($tool->getAnalysisResult());
         $this->trigger(self::EVENT_FINISHED_TOOL);
     }
     $this->output->result($result);
     $this->trigger(self::EVENT_FINISHED_ANALYSIS);
 }