2014-03-09 19:09:22 +01:00
|
|
|
<?php
|
2014-03-27 23:55:06 +07:00
|
|
|
/**
|
2014-05-05 13:06:53 +04:00
|
|
|
* This file is part of PHPWord - A pure PHP library for reading and writing
|
|
|
|
|
* word processing documents.
|
|
|
|
|
*
|
|
|
|
|
* PHPWord is free software distributed under the terms of the GNU Lesser
|
|
|
|
|
* General Public License version 3 as published by the Free Software Foundation.
|
|
|
|
|
*
|
|
|
|
|
* For the full copyright and license information, please read the LICENSE
|
|
|
|
|
* file that was distributed with this source code. For the full list of
|
|
|
|
|
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
2014-03-27 23:55:06 +07:00
|
|
|
*
|
2017-11-04 22:44:12 +01:00
|
|
|
* @see https://github.com/PHPOffice/PHPWord
|
2022-09-16 11:45:45 +02:00
|
|
|
*
|
2014-05-04 21:03:28 +04:00
|
|
|
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
2014-03-27 23:55:06 +07:00
|
|
|
*/
|
|
|
|
|
|
2022-09-16 14:09:17 +02:00
|
|
|
namespace PhpOffice\PhpWordTests\Element;
|
|
|
|
|
|
|
|
|
|
use PhpOffice\PhpWord\Element\OLEObject;
|
2014-03-09 19:09:22 +01:00
|
|
|
|
2014-03-27 23:55:06 +07:00
|
|
|
/**
|
2022-09-16 11:45:45 +02:00
|
|
|
* Test class for PhpOffice\PhpWord\Element\OLEObject.
|
2014-03-27 23:55:06 +07:00
|
|
|
*
|
2017-12-29 21:19:35 +02:00
|
|
|
* @coversDefaultClass \PhpOffice\PhpWord\Element\OLEObject
|
2022-09-16 11:45:45 +02:00
|
|
|
*
|
2014-03-27 23:55:06 +07:00
|
|
|
* @runTestsInSeparateProcesses
|
|
|
|
|
*/
|
2017-11-09 06:36:47 -02:00
|
|
|
class ObjectTest extends \PHPUnit\Framework\TestCase
|
2014-03-09 15:04:23 -04:00
|
|
|
{
|
2014-03-30 14:15:23 +07:00
|
|
|
/**
|
2022-09-16 11:45:45 +02:00
|
|
|
* Create new instance with supported files, 4 character extention.
|
2014-03-30 14:15:23 +07:00
|
|
|
*/
|
2022-09-16 11:45:45 +02:00
|
|
|
public function testConstructWithSupportedFiles(): void
|
2017-11-04 22:44:12 +01:00
|
|
|
{
|
|
|
|
|
$src = __DIR__ . '/../_files/documents/reader.docx';
|
2017-12-29 21:19:35 +02:00
|
|
|
$oObject = new OLEObject($src);
|
2017-11-04 22:44:12 +01:00
|
|
|
|
2022-09-16 11:45:45 +02:00
|
|
|
self::assertInstanceOf('PhpOffice\\PhpWord\\Element\\OLEObject', $oObject);
|
|
|
|
|
self::assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oObject->getStyle());
|
|
|
|
|
self::assertEquals($src, $oObject->getSource());
|
2017-11-04 22:44:12 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
2022-09-16 11:45:45 +02:00
|
|
|
* Create new instance with supported files.
|
2017-11-04 22:44:12 +01:00
|
|
|
*/
|
2022-09-16 11:45:45 +02:00
|
|
|
public function testConstructWithSupportedFilesLong(): void
|
2014-03-09 15:04:23 -04:00
|
|
|
{
|
2015-02-06 22:28:31 +04:00
|
|
|
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
2017-12-29 21:19:35 +02:00
|
|
|
$oObject = new OLEObject($src);
|
2014-03-09 19:09:22 +01:00
|
|
|
|
2022-09-16 11:45:45 +02:00
|
|
|
self::assertInstanceOf('PhpOffice\\PhpWord\\Element\\OLEObject', $oObject);
|
|
|
|
|
self::assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oObject->getStyle());
|
|
|
|
|
self::assertEquals($src, $oObject->getSource());
|
2014-03-09 15:04:23 -04:00
|
|
|
}
|
2014-03-09 19:09:22 +01:00
|
|
|
|
2014-03-30 14:15:23 +07:00
|
|
|
/**
|
2022-09-16 11:45:45 +02:00
|
|
|
* Create new instance with non-supported files.
|
2014-03-30 14:15:23 +07:00
|
|
|
*/
|
2022-09-16 11:45:45 +02:00
|
|
|
public function testConstructWithNotSupportedFiles(): void
|
2014-03-09 15:04:23 -04:00
|
|
|
{
|
2022-09-16 11:27:29 +02:00
|
|
|
$this->expectException(\PhpOffice\PhpWord\Exception\InvalidObjectException::class);
|
2015-02-06 22:28:31 +04:00
|
|
|
$src = __DIR__ . '/../_files/xsl/passthrough.xsl';
|
2017-12-29 21:19:35 +02:00
|
|
|
$oObject = new OLEObject($src);
|
2014-05-04 22:53:56 +07:00
|
|
|
$oObject->getSource();
|
2014-03-09 15:04:23 -04:00
|
|
|
}
|
2014-03-09 19:09:22 +01:00
|
|
|
|
2014-03-30 14:15:23 +07:00
|
|
|
/**
|
2022-09-16 11:45:45 +02:00
|
|
|
* Create with style.
|
2014-03-30 14:15:23 +07:00
|
|
|
*/
|
2022-09-16 11:45:45 +02:00
|
|
|
public function testConstructWithSupportedFilesAndStyle(): void
|
2014-03-09 15:04:23 -04:00
|
|
|
{
|
2015-02-06 22:28:31 +04:00
|
|
|
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
2022-09-16 11:45:45 +02:00
|
|
|
$oObject = new OLEObject($src, ['width' => '230px']);
|
2014-03-09 19:09:22 +01:00
|
|
|
|
2022-09-16 11:45:45 +02:00
|
|
|
self::assertInstanceOf('PhpOffice\\PhpWord\\Element\\OLEObject', $oObject);
|
|
|
|
|
self::assertInstanceOf('PhpOffice\\PhpWord\\Style\\Image', $oObject->getStyle());
|
|
|
|
|
self::assertEquals($src, $oObject->getSource());
|
2014-03-09 15:04:23 -04:00
|
|
|
}
|
2014-03-09 19:09:22 +01:00
|
|
|
|
2014-03-30 14:15:23 +07:00
|
|
|
/**
|
2022-09-16 11:45:45 +02:00
|
|
|
* Set/get relation Id.
|
2014-03-30 14:15:23 +07:00
|
|
|
*/
|
2022-09-16 11:45:45 +02:00
|
|
|
public function testRelationId(): void
|
2014-03-09 15:04:23 -04:00
|
|
|
{
|
2015-02-06 22:28:31 +04:00
|
|
|
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
2017-12-29 21:19:35 +02:00
|
|
|
$oObject = new OLEObject($src);
|
2014-03-09 19:09:22 +01:00
|
|
|
|
2022-09-16 11:45:45 +02:00
|
|
|
$iVal = mt_rand(1, 1000);
|
2014-03-09 15:04:23 -04:00
|
|
|
$oObject->setRelationId($iVal);
|
2022-09-16 11:45:45 +02:00
|
|
|
self::assertEquals($iVal, $oObject->getRelationId());
|
2014-03-09 15:04:23 -04:00
|
|
|
}
|
2014-03-09 19:09:22 +01:00
|
|
|
|
2014-03-30 14:15:23 +07:00
|
|
|
/**
|
2022-09-16 11:45:45 +02:00
|
|
|
* Set/get image relation Id.
|
2014-03-30 14:15:23 +07:00
|
|
|
*/
|
2022-09-16 11:45:45 +02:00
|
|
|
public function testImageRelationId(): void
|
2014-03-09 15:04:23 -04:00
|
|
|
{
|
2015-02-06 22:28:31 +04:00
|
|
|
$src = __DIR__ . '/../_files/documents/sheet.xls';
|
2017-12-29 21:19:35 +02:00
|
|
|
$oObject = new OLEObject($src);
|
2014-03-09 19:09:22 +01:00
|
|
|
|
2022-09-16 11:45:45 +02:00
|
|
|
$iVal = mt_rand(1, 1000);
|
2014-03-09 15:04:23 -04:00
|
|
|
$oObject->setImageRelationId($iVal);
|
2022-09-16 11:45:45 +02:00
|
|
|
self::assertEquals($iVal, $oObject->getImageRelationId());
|
2014-03-09 15:04:23 -04:00
|
|
|
}
|
2014-03-11 21:44:54 +07:00
|
|
|
}
|