getPhpWord()); self::assertEquals('./', $object->getDiskCachingDirectory()); foreach (['Content', 'Manifest', 'Meta', 'Mimetype', 'Styles'] as $part) { self::assertInstanceOf( "PhpOffice\\PhpWord\\Writer\\ODText\\Part\\{$part}", $object->getWriterPart($part) ); self::assertInstanceOf( 'PhpOffice\\PhpWord\\Writer\\ODText', $object->getWriterPart($part)->getParentWriter() ); } } /** * Construct with null. */ public function testConstructWithNull(): void { $this->expectException(\PhpOffice\PhpWord\Exception\Exception::class); $this->expectExceptionMessage('No PhpWord assigned.'); $object = new ODText(); $object->getPhpWord(); } /** * Save. */ public function testSave(): void { $imageSrc = __DIR__ . '/../_files/images/PhpWord.png'; $objectSrc = __DIR__ . '/../_files/documents/sheet.xls'; $file = __DIR__ . '/../_files/temp.odt'; $phpWord = new PhpWord(); $phpWord->addFontStyle('Font', ['size' => 11]); $phpWord->addParagraphStyle('Paragraph', ['alignment' => Jc::CENTER]); $section = $phpWord->addSection(); $section->addText('Test 1', 'Font'); $section->addTextBreak(); $section->addText('Test 2', null, 'Paragraph'); $section->addLink('https://github.com/PHPOffice/PHPWord'); $section->addTitle('Test', 1); $section->addPageBreak(); $section->addTable()->addRow()->addCell()->addText('Test'); $section->addListItem('Test'); $section->addImage($imageSrc); $section->addObject($objectSrc); $section->addTOC(); $section = $phpWord->addSection(); $textrun = $section->addTextRun(); $textrun->addText('Test 3'); $writer = new ODText($phpWord); $writer->save($file); self::assertFileExists($file); unlink($file); } /** * Save php output. * * @todo Haven't got any method to test this */ public function testSavePhpOutput(): void { $this->setOutputCallback(function (): void { }); $phpWord = new PhpWord(); $section = $phpWord->addSection(); $section->addText('Test'); $writer = new ODText($phpWord); $writer->save('php://output'); self::assertNotNull($this->getActualOutput()); } /** * Get writer part return null value. */ public function testGetWriterPartNull(): void { $object = new ODText(); self::assertNull($object->getWriterPart('foo')); } /** * Set/get use disk caching. */ public function testSetGetUseDiskCaching(): void { $object = new ODText(); $object->setUseDiskCaching(true, PHPWORD_TESTS_BASE_DIR); self::assertTrue($object->isUseDiskCaching()); self::assertEquals(PHPWORD_TESTS_BASE_DIR, $object->getDiskCachingDirectory()); } /** * Use disk caching exception. */ public function testSetUseDiskCachingException(): void { $this->expectException(\PhpOffice\PhpWord\Exception\Exception::class); $dir = implode(DIRECTORY_SEPARATOR, [PHPWORD_TESTS_BASE_DIR, 'foo']); $object = new ODText(); $object->setUseDiskCaching(true, $dir); } }