Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/okikio/aiscode.
Something went wrong. Try again.
PHP
at astro
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364<?php declare(strict_types=1);/* * This file is part of phpunit/php-code-coverage. * * (c) Sebastian Bergmann <sebastian@phpunit.de> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */namespace SebastianBergmann\CodeCoverage\Report\Xml;
use DOMElement;use SebastianBergmann\CodeCoverage\ReportAlreadyFinalizedException;use XMLWriter;
/** * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage */final class Coverage{ private readonly XMLWriter $writer; private readonly DOMElement $contextNode; private bool $finalized = false;
public function __construct(DOMElement $context, string $line) { $this->contextNode = $context;
$this->writer = new XMLWriter; $this->writer->openMemory(); $this->writer->startElementNS(null, $context->nodeName, 'https://schema.phpunit.de/coverage/1.0'); $this->writer->writeAttribute('nr', $line); }
/** * @throws ReportAlreadyFinalizedException */ public function addTest(string $test): void { if ($this->finalized) { throw new ReportAlreadyFinalizedException; }
$this->writer->startElement('covered'); $this->writer->writeAttribute('by', $test); $this->writer->endElement(); }
public function finalize(): void { $this->writer->endElement();
$fragment = $this->contextNode->ownerDocument->createDocumentFragment(); $fragment->appendXML($this->writer->outputMemory());
$this->contextNode->parentNode->replaceChild( $fragment, $this->contextNode, );
$this->finalized = true; }}