Code Duplication    Length = 77-77 lines in 2 locations

tests/php/PHPMD/Renderer/JSONRendererTest.php 1 location

@@ 29-105 (lines=77) @@
26
 *
27
 * @covers \PHPMD\Renderer\JSONRenderer
28
 */
29
class JSONRendererTest extends AbstractTest
30
{
31
    /**
32
     * testRendererCreatesExpectedNumberOfJsonElements
33
     *
34
     * @return void
35
     */
36
    public function testRendererCreatesExpectedNumberOfJsonElements()
37
    {
38
        // Create a writer instance.
39
        $writer = new WriterStub();
40
        
41
        $violations = array(
42
            $this->getRuleViolationMock('/bar.php'),
43
            $this->getRuleViolationMock('/foo.php'),
44
            $this->getRuleViolationMock('/bar.php'),
45
        );
46
47
        $report = $this->getReportMock(0);
48
        $report->expects($this->once())
49
            ->method('getRuleViolations')
50
            ->willReturn(new \ArrayIterator($violations));
51
        $report->expects($this->once())
52
            ->method('getErrors')
53
            ->willReturn(new \ArrayIterator(array()));
54
55
        $renderer = new JSONRenderer();
56
        $renderer->setWriter($writer);
57
58
        $renderer->start();
59
        $renderer->renderReport($report);
60
        $renderer->end();
61
62
        $this->assertJsonEquals(
63
            $writer->getData(),
64
            'renderer/json_renderer_expected.json'
65
        );
66
    }
67
68
    /**
69
     * testRendererAddsProcessingErrorsToJsonReport
70
     *
71
     * @return void
72
     */
73
    public function testRendererAddsProcessingErrorsToJsonReport()
74
    {
75
        // Create a writer instance.
76
        $writer = new WriterStub();
77
78
        $processingErrors = array(
79
            new ProcessingError('Failed for file "/tmp/foo.php".'),
80
            new ProcessingError('Failed for file "/tmp/bar.php".'),
81
            new ProcessingError('Failed for file "/tmp/baz.php".'),
82
            new ProcessingError('Cannot read file "/tmp/foo.php". Permission denied.'),
83
        );
84
85
        $report = $this->getReportMock(0);
86
        $report->expects($this->once())
87
            ->method('getRuleViolations')
88
            ->willReturn(new \ArrayIterator(array()));
89
        $report->expects($this->once())
90
            ->method('getErrors')
91
            ->willReturn(new \ArrayIterator($processingErrors));
92
93
        $renderer = new JSONRenderer();
94
        $renderer->setWriter($writer);
95
96
        $renderer->start();
97
        $renderer->renderReport($report);
98
        $renderer->end();
99
100
        $this->assertJsonEquals(
101
            $writer->getData(),
102
            'renderer/json_renderer_processing_errors.json'
103
        );
104
    }
105
}
106

tests/php/PHPMD/Renderer/XMLRendererTest.php 1 location

@@ 29-105 (lines=77) @@
26
 *
27
 * @covers \PHPMD\Renderer\XMLRenderer
28
 */
29
class XMLRendererTest extends AbstractTest
30
{
31
    /**
32
     * testRendererCreatesExpectedNumberOfXmlElements
33
     *
34
     * @return void
35
     */
36
    public function testRendererCreatesExpectedNumberOfXmlElements()
37
    {
38
        // Create a writer instance.
39
        $writer = new WriterStub();
40
41
        $violations = array(
42
            $this->getRuleViolationMock('/bar.php'),
43
            $this->getRuleViolationMock('/foo.php'),
44
            $this->getRuleViolationMock('/foo.php'),
45
        );
46
47
        $report = $this->getReportMock(0);
48
        $report->expects($this->once())
49
            ->method('getRuleViolations')
50
            ->willReturn(new \ArrayIterator($violations));
51
        $report->expects($this->once())
52
            ->method('getErrors')
53
            ->willReturn(new \ArrayIterator(array()));
54
55
        $renderer = new XMLRenderer();
56
        $renderer->setWriter($writer);
57
58
        $renderer->start();
59
        $renderer->renderReport($report);
60
        $renderer->end();
61
62
        $this->assertXmlEquals(
63
            $writer->getData(),
64
            'renderer/xml_renderer_expected1.xml'
65
        );
66
    }
67
68
    /**
69
     * testRendererAddsProcessingErrorsToXmlReport
70
     *
71
     * @return void
72
     * @since 1.2.1
73
     */
74
    public function testRendererAddsProcessingErrorsToXmlReport()
75
    {
76
        // Create a writer instance.
77
        $writer = new WriterStub();
78
79
        $processingErrors = array(
80
            new ProcessingError('Failed for file "/tmp/foo.php".'),
81
            new ProcessingError('Failed for file "/tmp/bar.php".'),
82
            new ProcessingError('Failed for file "/tmp/baz.php".'),
83
        );
84
85
        $report = $this->getReportMock(0);
86
        $report->expects($this->once())
87
            ->method('getRuleViolations')
88
            ->willReturn(new \ArrayIterator(array()));
89
        $report->expects($this->once())
90
            ->method('getErrors')
91
            ->willReturn(new \ArrayIterator($processingErrors));
92
93
        $renderer = new XMLRenderer();
94
        $renderer->setWriter($writer);
95
96
        $renderer->start();
97
        $renderer->renderReport($report);
98
        $renderer->end();
99
100
        $this->assertXmlEquals(
101
            $writer->getData(),
102
            'renderer/xml_renderer_processing_errors.xml'
103
        );
104
    }
105
}
106