コード例 #1
0
 protected function doGenerate($definition, SuiteDocument $document, Config $config, array $parameters = array())
 {
     if ($config['debug']) {
         $this->output->writeln('<info>Suite XML</info>');
         $this->output->writeln($document->saveXML());
     }
     $definition = $this->definitionLoader->load($definition, $document);
     if (isset($config['pretty_params']) && true === $config['pretty_params']) {
         $definition['classes']['params'] = array(array('json_format', array()));
     }
     if (array_key_exists('formatting', $config) && $config['formatting'] === false) {
         foreach ($definition['classes'] as &$class) {
             $class = array();
         }
     }
     $tableDom = $this->tabular->tabulate($document, $definition, $parameters);
     if ($config['exclude']) {
         foreach ($config['exclude'] as $cellName) {
             $excludeCells = $tableDom->xpath()->query(sprintf('//cell[@name="%s"]', $cellName));
             foreach ($excludeCells as $excludeCell) {
                 $excludeCell->parentNode->removeChild($excludeCell);
             }
         }
     }
     $reportDom = new Document();
     $reportEl = $reportDom->createRoot('reports');
     $reportEl->setAttribute('name', $config->getName());
     $reportEl = $reportEl->appendElement('report');
     if ($config['debug']) {
         $tableDom->formatOutput = true;
         $this->output->writeln('<info>Table XML</info>');
         $this->output->writeln($tableDom->saveXML());
     }
     if ($config['title']) {
         $reportEl->setAttribute('title', $config['title']);
     }
     if ($config['description']) {
         $reportEl->appendElement('description', $config['description']);
     }
     $tableEl = $reportEl->ownerDocument->importNode($tableDom->firstChild, true);
     $reportEl->appendChild($tableEl);
     return $reportEl->ownerDocument;
 }
コード例 #2
0
 protected function doGenerate($definition, SuiteDocument $document, array $config, array $parameters = array())
 {
     if ($config['debug']) {
         $this->output->writeln('<info>Suite XML</info>');
         $this->output->writeln($document->saveXML());
     }
     $tableDom = $this->tabular->tabulate($document, $definition, $parameters);
     if ($config['debug']) {
         $tableDom->formatOutput = true;
         $this->output->writeln('<info>Table XML</info>');
         $this->output->writeln($tableDom->saveXML());
     }
     if ($config['title']) {
         $this->output->writeln(sprintf('<title>%s</title>', $config['title']));
     }
     if ($config['description']) {
         $this->output->writeln(sprintf('<description>%s</description>', $config['description']));
     }
     $this->render($tableDom, $config);
 }