diff --git a/Tests/PHPWord/AutoloaderTest.php b/Tests/PHPWord/AutoloaderTest.php index d8882f9f..03e16db0 100644 --- a/Tests/PHPWord/AutoloaderTest.php +++ b/Tests/PHPWord/AutoloaderTest.php @@ -1,11 +1,10 @@ load( \join( @@ -28,32 +27,61 @@ class TemplateTest extends \PHPUnit_Framework_TestCase array(\PHPWORD_TESTS_DIR_ROOT, '_files', 'xsl', 'remove_tables_by_needle.xsl') ) ); - foreach (array('${employee.', '${scoreboard.') as $needle) { - $template->applyXslStyleSheet($xslDOMDocument, array('needle' => $needle)); + $document->applyXslStyleSheet($xslDOMDocument, array('needle' => $needle)); } - $actualDocument = $template->save(); - $expectedDocument = \join( + $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; + } + + /** + * @covers ::applyXslStyleSheet + * @depends testTemplateCanBeSavedInTemporaryLocation + * @test + */ + final public function testXslStyleSheetCanBeApplied($actualDocumentFqfn) + { + $expectedDocumentFqfn = \join( \DIRECTORY_SEPARATOR, array(\PHPWORD_TESTS_DIR_ROOT, '_files', 'documents', 'without_table_macros.docx') ); - $actualZip = new \ZipArchive(); - $actualZip->open($actualDocument); - $actualXml = $actualZip->getFromName('word/document.xml'); - if ($actualZip->close() === false) { - throw new \Exception('Could not close zip file "' . $actualDocument . '".'); + $actualDocumentZip = new \ZipArchive(); + $actualDocumentZip->open($actualDocumentFqfn); + $actualDocumentXml = $actualDocumentZip->getFromName('word/document.xml'); + if ($actualDocumentZip->close() === false) { + throw new \Exception("Could not close zip file \"{$actualDocumentFqfn}\"."); } - $expectedZip = new \ZipArchive(); - $expectedZip->open($expectedDocument); - $expectedXml = $expectedZip->getFromName('word/document.xml'); - if ($expectedZip->close() === false) { - throw new \Exception('Could not close zip file "' . $expectedDocument . '".'); + $expectedDocumentZip = new \ZipArchive(); + $expectedDocumentZip->open($expectedDocumentFqfn); + $expectedDocumentXml = $expectedDocumentZip->getFromName('word/document.xml'); + if ($expectedDocumentZip->close() === false) { + throw new \Exception("Could not close zip file \"{$expectedDocumentFqfn}\"."); } - $this->assertXmlStringEqualsXmlString($expectedXml, $actualXml); + $this->assertXmlStringEqualsXmlString($expectedDocumentXml, $actualDocumentXml); } /** diff --git a/Tests/PHPWord/Writer/ODTextTest.php b/Tests/PHPWord/Writer/ODTextTest.php index d2ac2fc2..6b162c3a 100644 --- a/Tests/PHPWord/Writer/ODTextTest.php +++ b/Tests/PHPWord/Writer/ODTextTest.php @@ -1,7 +1,6 @@