Test node value
';
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
$elements = $phpWord->getSection(0)->getElements();
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
self::assertInstanceOf('PhpOffice\PhpWord\Element\Text', $elements[0]->getElement(0));
$text = $elements[0];
self::assertEquals('Test node value', trim($text->getElement(0)->getText()));
}
/**
* Test reading of textbreak.
*/
public function testReadTextBreak(): void
{
$documentXml = '
test string
';
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
$elements = $phpWord->getSection(0)->getElements();
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
/** @var \PhpOffice\PhpWord\Element\TextRun $textRun */
$textRun = $elements[0];
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextBreak', $textRun->getElement(0));
self::assertInstanceOf('PhpOffice\PhpWord\Element\Text', $textRun->getElement(1));
self::assertEquals('test string', $textRun->getElement(1)->getText());
}
/**
* Test reading content inside w:smartTag.
*/
public function testSmartTag(): void
{
$documentXml = '
test string
';
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
$elements = $phpWord->getSection(0)->getElements();
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
/** @var \PhpOffice\PhpWord\Element\TextRun $textRun */
$textRun = $elements[0];
self::assertInstanceOf('PhpOffice\PhpWord\Element\Text', $textRun->getElement(0));
self::assertEquals('test string', $textRun->getElement(0)->getText());
}
/**
* Test reading of textbreak.
*/
public function testReadListItemRunWithFormatting(): void
{
$documentXml = '
Two
with
bold
';
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
$sections = $phpWord->getSection(0);
self::assertNull($sections->getElement(999));
self::assertInstanceOf('PhpOffice\PhpWord\Element\ListItemRun', $sections->getElement(0));
self::assertEquals(0, $sections->getElement(0)->getDepth());
$listElements = $sections->getElement(0)->getElements();
self::assertInstanceOf('PhpOffice\PhpWord\Element\Text', $listElements[0]);
self::assertEquals('Two', $listElements[0]->getText());
self::assertEquals(' with ', $listElements[1]->getText());
self::assertEquals('bold', $listElements[2]->getText());
self::assertTrue($listElements[2]->getFontStyle()->isBold());
}
/**
* Test reading track changes.
*/
public function testReadTrackChange(): void
{
$documentXml = '
One
two
three
';
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
$elements = $phpWord->getSection(0)->getElements();
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
/** @var \PhpOffice\PhpWord\Element\TextRun $elements */
$textRun = $elements[0];
self::assertEquals('One ', $textRun->getElement(0)->getText());
self::assertEquals('two', $textRun->getElement(1)->getText());
self::assertNotNull($textRun->getElement(1)->getTrackChange());
/** @var \PhpOffice\PhpWord\Element\TrackChange $trackChange */
$trackChange = $textRun->getElement(1)->getTrackChange();
self::assertEquals(TrackChange::DELETED, $trackChange->getChangeType());
self::assertEquals('three', $textRun->getElement(2)->getText());
self::assertNotNull($textRun->getElement(2)->getTrackChange());
/** @var \PhpOffice\PhpWord\Element\TrackChange $trackChange */
$trackChange = $textRun->getElement(2)->getTrackChange();
self::assertEquals(TrackChange::INSERTED, $trackChange->getChangeType());
}
/**
* Test reading of tab.
*/
public function testReadTab(): void
{
$documentXml = '
One
Two
';
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
$elements = $phpWord->getSection(0)->getElements();
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
/** @var \PhpOffice\PhpWord\Element\TextRun $textRun */
$textRun = $elements[0];
self::assertInstanceOf('PhpOffice\PhpWord\Element\Text', $textRun->getElement(0));
self::assertEquals('One', $textRun->getElement(0)->getText());
self::assertInstanceOf('PhpOffice\PhpWord\Element\Text', $textRun->getElement(1));
self::assertEquals("\t", $textRun->getElement(1)->getText());
self::assertInstanceOf('PhpOffice\PhpWord\Element\Text', $textRun->getElement(2));
self::assertEquals('Two', $textRun->getElement(2)->getText());
}
/**
* Test reading Title style.
*/
public function testReadTitleStyle(): void
{
$documentXml = '
This is a non formatted title
This is a
bold
title
';
$stylesXml = '
';
$phpWord = $this->getDocumentFromString(['document' => $documentXml, 'styles' => $stylesXml]);
$elements = $phpWord->getSection(0)->getElements();
self::assertInstanceOf('PhpOffice\PhpWord\Element\Title', $elements[0]);
/** @var \PhpOffice\PhpWord\Element\Title $title */
$title = $elements[0];
self::assertEquals('Title', $title->getStyle());
self::assertEquals('This is a non formatted title', $title->getText());
self::assertInstanceOf('PhpOffice\PhpWord\Element\Title', $elements[1]);
/** @var \PhpOffice\PhpWord\Element\Title $formattedTitle */
$formattedTitle = $elements[1];
self::assertEquals('Title', $formattedTitle->getStyle());
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $formattedTitle->getText());
}
/**
* Test reading Drawing.
*/
public function testReadDrawing(): void
{
$documentXml = '
';
$phpWord = $this->getDocumentFromString(['document' => $documentXml]);
$elements = $phpWord->getSection(0)->getElements();
self::assertInstanceOf('PhpOffice\PhpWord\Element\TextRun', $elements[0]);
}
}