You are here

class PHP_CodeCoverage_Report_XML_File_Coverage in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php \PHP_CodeCoverage_Report_XML_File_Coverage

@since Class available since Release 2.0.0

Hierarchy

Expanded class hierarchy of PHP_CodeCoverage_Report_XML_File_Coverage

File

vendor/phpunit/php-code-coverage/src/CodeCoverage/Report/XML/File/Coverage.php, line 14

View source
class PHP_CodeCoverage_Report_XML_File_Coverage {

  /**
   * @var XMLWriter
   */
  private $writer;

  /**
   * @var DOMElement
   */
  private $contextNode;

  /**
   * @var bool
   */
  private $finalized = false;
  public function __construct(DOMElement $context, $line) {
    $this->contextNode = $context;
    $this->writer = new XMLWriter();
    $this->writer
      ->openMemory();
    $this->writer
      ->startElementNs(null, $context->nodeName, 'http://schema.phpunit.de/coverage/1.0');
    $this->writer
      ->writeAttribute('nr', $line);
  }
  public function addTest($test) {
    if ($this->finalized) {
      throw new PHP_CodeCoverage_Exception('Coverage Report already finalized');
    }
    $this->writer
      ->startElement('covered');
    $this->writer
      ->writeAttribute('by', $test);
    $this->writer
      ->endElement();
  }
  public function finalize() {
    $this->writer
      ->endElement();
    $fragment = $this->contextNode->ownerDocument
      ->createDocumentFragment();
    $fragment
      ->appendXML($this->writer
      ->outputMemory());
    $this->contextNode->parentNode
      ->replaceChild($fragment, $this->contextNode);
    $this->finalized = true;
  }

}

Members