/** * testRendererCreatesExpectedNumberOfXmlElements * * @return void * @covers PHP_PMD_Renderer_XMLRenderer * @group phpmd * @group phpmd::renderer * @group unittest */ public function testRendererCreatesExpectedNumberOfXmlElements() { // Create a writer instance. $writer = new PHP_PMD_Stubs_WriterStub(); $violations = array($this->getRuleViolationMock('/bar.php'), $this->getRuleViolationMock('/foo.php'), $this->getRuleViolationMock('/foo.php')); $report = $this->getReportMock(0); $report->expects($this->once())->method('getRuleViolations')->will($this->returnValue(new ArrayIterator($violations))); $renderer = new PHP_PMD_Renderer_XMLRenderer(); $renderer->setWriter($writer); $renderer->start(); $renderer->renderReport($report); $renderer->end(); $this->assertXmlEquals($writer->getData(), 'renderer/xml_renderer_expected1.xml'); }
/** * testRendererAddsProcessingErrorsToXmlReport * * @return void * @since 1.2.1 */ public function testRendererAddsProcessingErrorsToXmlReport() { // Create a writer instance. $writer = new PHP_PMD_Stubs_WriterStub(); $processingErrors = array(new PHP_PMD_ProcessingError('Failed for file "/tmp/foo.php".'), new PHP_PMD_ProcessingError('Failed for file "/tmp/bar.php".'), new PHP_PMD_ProcessingError('Failed for file "/tmp/baz.php".')); $report = $this->getReportMock(0); $report->expects($this->once())->method('getRuleViolations')->will($this->returnValue(new ArrayIterator(array()))); $report->expects($this->once())->method('getErrors')->will($this->returnValue(new ArrayIterator($processingErrors))); $renderer = new PHP_PMD_Renderer_XMLRenderer(); $renderer->setWriter($writer); $renderer->start(); $renderer->renderReport($report); $renderer->end(); $this->assertXmlEquals($writer->getData(), 'renderer/xml_renderer_processing_errors.xml'); }