assertInstanceOf('PhpOffice\\PhpWord\\PhpWord', $object->getPhpWord()); } /** * Construct with null */ public function testConstructWithNull() { $this->expectException(\PhpOffice\PhpWord\Exception\Exception::class); $this->expectExceptionMessage('No PhpWord assigned.'); $object = new RTF(); $object->getPhpWord(); } /** * Save */ public function testSave() { $imageSrc = __DIR__ . '/../_files/images/PhpWord.png'; $objectSrc = __DIR__ . '/../_files/documents/sheet.xls'; $file = __DIR__ . '/../_files/temp.rtf'; $phpWord = new PhpWord(); $phpWord->addFontStyle( 'Font', array('name' => 'Verdana', 'size' => 11, 'color' => 'FF0000', 'fgColor' => '00FF00') ); $phpWord->addParagraphStyle('Paragraph', array('alignment' => Jc::CENTER)); $section = $phpWord->addSection(); $section->addText(htmlspecialchars('Test 1', ENT_COMPAT, 'UTF-8'), 'Font', 'Paragraph'); $section->addTextBreak(); $section->addText(htmlspecialchars('Test 2', ENT_COMPAT, 'UTF-8'), array('name' => 'Tahoma', 'bold' => true, 'italic' => true)); $section->addLink('https://github.com/PHPOffice/PHPWord'); $section->addTitle(htmlspecialchars('Test', ENT_COMPAT, 'UTF-8'), 1); $section->addPageBreak(); // Rowspan $table = $section->addTable(); $table->addRow()->addCell(null, array('vMerge' => 'restart'))->addText('Test'); $table->addRow()->addCell(null, array('vMerge' => 'continue'))->addText('Test'); // Nested table $cell = $section->addTable()->addRow()->addCell(); $cell->addTable()->addRow()->addCell(); $section->addListItem(htmlspecialchars('Test', ENT_COMPAT, 'UTF-8')); $section->addImage($imageSrc); $section->addObject($objectSrc); $section->addTOC(); $section = $phpWord->addSection(); $textrun = $section->addTextRun(); $textrun->addText(htmlspecialchars('Test 3', ENT_COMPAT, 'UTF-8')); $textrun->addTextBreak(); $writer = new RTF($phpWord); $writer->save($file); $this->assertFileExists($file); @unlink($file); } /** * Save * * @todo Haven't got any method to test this */ public function testSavePhpOutput() { $this->setOutputCallback(function () { }); $phpWord = new PhpWord(); $section = $phpWord->addSection(); $section->addText(htmlspecialchars('Test', ENT_COMPAT, 'UTF-8')); $writer = new RTF($phpWord); $writer->save('php://output'); $this->assertNotNull($this->getActualOutput()); } }