Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
90.00% covered (success)
90.00%
9 / 10
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
Formula
90.00% covered (success)
90.00%
9 / 10
0.00% covered (danger)
0.00%
0 / 1
2.00
0.00% covered (danger)
0.00%
0 / 1
 write
90.00% covered (success)
90.00%
9 / 10
0.00% covered (danger)
0.00%
0 / 1
2.00
1<?php
2/**
3 * This file is part of PHPWord - A pure PHP library for reading and writing
4 * word processing documents.
5 *
6 * PHPWord is free software distributed under the terms of the GNU Lesser
7 * General Public License version 3 as published by the Free Software Foundation.
8 *
9 * For the full copyright and license information, please read the LICENSE
10 * file that was distributed with this source code. For the full list of
11 * contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
12 *
13 * @see         https://github.com/PHPOffice/PHPWord
14 *
15 * @license     http://www.gnu.org/licenses/lgpl.txt LGPL version 3
16 */
17
18namespace PhpOffice\PhpWord\Writer\Word2007\Element;
19
20use PhpOffice\Math\Writer\OfficeMathML;
21use PhpOffice\PhpWord\Element\Formula as FormulaElement;
22
23/**
24 * Formula element writer.
25 */
26class Formula extends AbstractElement
27{
28    /**
29     * Write element.
30     */
31    public function write(): void
32    {
33        $element = $this->getElement();
34        if (!$element instanceof FormulaElement) {
35            return;
36        }
37
38        $this->startElementP();
39
40        $xmlWriter = $this->getXmlWriter();
41
42        $xmlWriter->startElement('w:r');
43        $xmlWriter->writeElement('w:rPr');
44        $xmlWriter->endElement();
45
46        $xmlWriter->writeRaw((new OfficeMathML())->write($element->getMath()));
47
48        $this->endElementP();
49    }
50}