/** * Construct with font and TOC style in array format */ public function testConstructWithStyleArray() { $expected = array('position' => 9062, 'leader' => \PhpOffice\PhpWord\Style\Tab::TAB_LEADER_DOT, 'indent' => 200); $object = new TOC(array('size' => 11), array('position' => $expected['position'])); $tocStyle = $object->getStyleTOC(); $this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\TOC', $tocStyle); $this->assertInstanceOf('PhpOffice\\PhpWord\\Style\\Font', $object->getStyleFont()); foreach ($expected as $key => $value) { $method = "get{$key}"; $this->assertEquals($value, $tocStyle->{$method}()); } }
/** * Write style * * @param \PhpOffice\PhpWord\Shared\XMLWriter $xmlWriter * @param \PhpOffice\PhpWord\Element\TOC $element * @param int $indent */ private function writeStyle(XMLWriter $xmlWriter, TOCElement $element, $indent) { $tocStyle = $element->getStyleTOC(); $fontStyle = $element->getStyleFont(); $isObject = $fontStyle instanceof Font ? true : false; $xmlWriter->startElement('w:pPr'); // Paragraph if ($isObject && !is_null($fontStyle->getParagraph())) { $styleWriter = new ParagraphStyleWriter($xmlWriter, $fontStyle->getParagraph()); $styleWriter->write(); } // Font if (!empty($fontStyle) && !$isObject) { $xmlWriter->startElement('w:rPr'); $xmlWriter->startElement('w:rStyle'); $xmlWriter->writeAttribute('w:val', $fontStyle); $xmlWriter->endElement(); $xmlWriter->endElement(); // w:rPr } // Tab $xmlWriter->startElement('w:tabs'); $styleWriter = new TabStyleWriter($xmlWriter, $tocStyle); $styleWriter->write(); $xmlWriter->endElement(); // Indent if ($indent > 0) { $xmlWriter->startElement('w:ind'); $xmlWriter->writeAttribute('w:left', $indent); $xmlWriter->endElement(); } $xmlWriter->endElement(); // w:pPr }
/** * Construct with named font style */ public function testConstructWithStyleName() { $object = new TOC('Font Style'); $tocStyle = $object->getStyleTOC(); $this->assertEquals('Font Style', $object->getStyleFont()); }