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