Mercurial > hg > isophonics-drupal-site
annotate vendor/phpunit/php-code-coverage/src/Report/Xml/Coverage.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | |
children |
rev | line source |
---|---|
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 use SebastianBergmann\CodeCoverage\RuntimeException; |
Chris@14 | 14 |
Chris@14 | 15 class Coverage |
Chris@14 | 16 { |
Chris@14 | 17 /** |
Chris@14 | 18 * @var \XMLWriter |
Chris@14 | 19 */ |
Chris@14 | 20 private $writer; |
Chris@14 | 21 |
Chris@14 | 22 /** |
Chris@14 | 23 * @var \DOMElement |
Chris@14 | 24 */ |
Chris@14 | 25 private $contextNode; |
Chris@14 | 26 |
Chris@14 | 27 /** |
Chris@14 | 28 * @var bool |
Chris@14 | 29 */ |
Chris@14 | 30 private $finalized = false; |
Chris@14 | 31 |
Chris@14 | 32 public function __construct(\DOMElement $context, $line) |
Chris@14 | 33 { |
Chris@14 | 34 $this->contextNode = $context; |
Chris@14 | 35 |
Chris@14 | 36 $this->writer = new \XMLWriter(); |
Chris@14 | 37 $this->writer->openMemory(); |
Chris@14 | 38 $this->writer->startElementNs(null, $context->nodeName, 'http://schema.phpunit.de/coverage/1.0'); |
Chris@14 | 39 $this->writer->writeAttribute('nr', $line); |
Chris@14 | 40 } |
Chris@14 | 41 |
Chris@14 | 42 public function addTest($test) |
Chris@14 | 43 { |
Chris@14 | 44 if ($this->finalized) { |
Chris@14 | 45 throw new RuntimeException('Coverage Report already finalized'); |
Chris@14 | 46 } |
Chris@14 | 47 |
Chris@14 | 48 $this->writer->startElement('covered'); |
Chris@14 | 49 $this->writer->writeAttribute('by', $test); |
Chris@14 | 50 $this->writer->endElement(); |
Chris@14 | 51 } |
Chris@14 | 52 |
Chris@14 | 53 public function finalize() |
Chris@14 | 54 { |
Chris@14 | 55 $this->writer->endElement(); |
Chris@14 | 56 |
Chris@14 | 57 $fragment = $this->contextNode->ownerDocument->createDocumentFragment(); |
Chris@14 | 58 $fragment->appendXML($this->writer->outputMemory()); |
Chris@14 | 59 |
Chris@14 | 60 $this->contextNode->parentNode->replaceChild( |
Chris@14 | 61 $fragment, |
Chris@14 | 62 $this->contextNode |
Chris@14 | 63 ); |
Chris@14 | 64 |
Chris@14 | 65 $this->finalized = true; |
Chris@14 | 66 } |
Chris@14 | 67 } |