Chris@14
|
1 <?php
|
Chris@14
|
2 /*
|
Chris@14
|
3 * This file is part of the php-code-coverage package.
|
Chris@14
|
4 *
|
Chris@14
|
5 * (c) Sebastian Bergmann <sebastian@phpunit.de>
|
Chris@14
|
6 *
|
Chris@14
|
7 * For the full copyright and license information, please view the LICENSE
|
Chris@14
|
8 * file that was distributed with this source code.
|
Chris@14
|
9 */
|
Chris@14
|
10
|
Chris@14
|
11 namespace SebastianBergmann\CodeCoverage\Report\Xml;
|
Chris@14
|
12
|
Chris@14
|
13 class Tests
|
Chris@14
|
14 {
|
Chris@14
|
15 private $contextNode;
|
Chris@14
|
16
|
Chris@14
|
17 private $codeMap = [
|
Chris@14
|
18 0 => 'PASSED', // PHPUnit_Runner_BaseTestRunner::STATUS_PASSED
|
Chris@14
|
19 1 => 'SKIPPED', // PHPUnit_Runner_BaseTestRunner::STATUS_SKIPPED
|
Chris@14
|
20 2 => 'INCOMPLETE', // PHPUnit_Runner_BaseTestRunner::STATUS_INCOMPLETE
|
Chris@14
|
21 3 => 'FAILURE', // PHPUnit_Runner_BaseTestRunner::STATUS_FAILURE
|
Chris@14
|
22 4 => 'ERROR', // PHPUnit_Runner_BaseTestRunner::STATUS_ERROR
|
Chris@14
|
23 5 => 'RISKY', // PHPUnit_Runner_BaseTestRunner::STATUS_RISKY
|
Chris@14
|
24 6 => 'WARNING' // PHPUnit_Runner_BaseTestRunner::STATUS_WARNING
|
Chris@14
|
25 ];
|
Chris@14
|
26
|
Chris@14
|
27 public function __construct(\DOMElement $context)
|
Chris@14
|
28 {
|
Chris@14
|
29 $this->contextNode = $context;
|
Chris@14
|
30 }
|
Chris@14
|
31
|
Chris@14
|
32 public function addTest($test, array $result)
|
Chris@14
|
33 {
|
Chris@14
|
34 $node = $this->contextNode->appendChild(
|
Chris@14
|
35 $this->contextNode->ownerDocument->createElementNS(
|
Chris@14
|
36 'http://schema.phpunit.de/coverage/1.0',
|
Chris@14
|
37 'test'
|
Chris@14
|
38 )
|
Chris@14
|
39 );
|
Chris@14
|
40
|
Chris@14
|
41 $node->setAttribute('name', $test);
|
Chris@14
|
42 $node->setAttribute('size', $result['size']);
|
Chris@14
|
43 $node->setAttribute('result', (int) $result['status']);
|
Chris@14
|
44 $node->setAttribute('status', $this->codeMap[(int) $result['status']]);
|
Chris@14
|
45 }
|
Chris@14
|
46 }
|