Esempio n. 1
0
 /**
  * Template can be saved in temporary location
  *
  * @covers ::save
  * @test
  */
 public final function testTemplateCanBeSavedInTemporaryLocation()
 {
     $templateFqfn = __DIR__ . "/_files/templates/with_table_macros.docx";
     $document = new Template($templateFqfn);
     $xslDOMDocument = new \DOMDocument();
     $xslDOMDocument->load(__DIR__ . "/_files/xsl/remove_tables_by_needle.xsl");
     foreach (array('${employee.', '${scoreboard.') as $needle) {
         $document->applyXslStyleSheet($xslDOMDocument, array('needle' => $needle));
     }
     $documentFqfn = $document->save();
     $this->assertNotEmpty($documentFqfn, 'FQFN of the saved document is empty.');
     $this->assertFileExists($documentFqfn, "The saved document \"{$documentFqfn}\" doesn't exist.");
     $templateZip = new \ZipArchive();
     $templateZip->open($templateFqfn);
     $templateXml = $templateZip->getFromName('word/document.xml');
     if ($templateZip->close() === false) {
         throw new \Exception("Could not close zip file \"{$templateZip}\".");
     }
     $documentZip = new \ZipArchive();
     $documentZip->open($documentFqfn);
     $documentXml = $documentZip->getFromName('word/document.xml');
     if ($documentZip->close() === false) {
         throw new \Exception("Could not close zip file \"{$documentZip}\".");
     }
     $this->assertNotEquals($documentXml, $templateXml);
     return $documentFqfn;
 }