comparison vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/Project.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2 /*
3 * This file is part of the PHP_CodeCoverage package.
4 *
5 * (c) Sebastian Bergmann <sebastian@phpunit.de>
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
9 */
10
11 /**
12 * @since Class available since Release 2.0.0
13 */
14 class PHP_CodeCoverage_Report_XML_Project extends PHP_CodeCoverage_Report_XML_Node
15 {
16 public function __construct($name)
17 {
18 $this->init();
19 $this->setProjectName($name);
20 }
21
22 private function init()
23 {
24 $dom = new DOMDocument;
25 $dom->loadXML('<?xml version="1.0" ?><phpunit xmlns="http://schema.phpunit.de/coverage/1.0"><project/></phpunit>');
26
27 $this->setContextNode(
28 $dom->getElementsByTagNameNS(
29 'http://schema.phpunit.de/coverage/1.0',
30 'project'
31 )->item(0)
32 );
33 }
34
35 private function setProjectName($name)
36 {
37 $this->getContextNode()->setAttribute('name', $name);
38 }
39
40 public function getTests()
41 {
42 $testsNode = $this->getContextNode()->getElementsByTagNameNS(
43 'http://schema.phpunit.de/coverage/1.0',
44 'tests'
45 )->item(0);
46
47 if (!$testsNode) {
48 $testsNode = $this->getContextNode()->appendChild(
49 $this->getDom()->createElementNS(
50 'http://schema.phpunit.de/coverage/1.0',
51 'tests'
52 )
53 );
54 }
55
56 return new PHP_CodeCoverage_Report_XML_Tests($testsNode);
57 }
58
59 public function asDom()
60 {
61 return $this->getDom();
62 }
63 }