229 lines
7.8 KiB
PHP
Raw Normal View History

2014-03-14 20:36:09 +01:00
<?php
2014-03-27 23:55:06 +07: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
*
* @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\Metadata;
use PhpOffice\PhpWord\Metadata\DocInfo;
2014-03-14 20:36:09 +01:00
/**
2022-09-16 11:45:45 +02:00
* Test class for PhpOffice\PhpWord\Metadata\DocInfo.
2014-03-27 23:55:06 +07:00
*
* @runTestsInSeparateProcesses
*/
class DocInfoTest extends \PHPUnit\Framework\TestCase
2014-03-14 20:36:09 +01:00
{
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Creator.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testCreator(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setCreator();
2022-09-16 11:45:45 +02:00
self::assertEquals('', $oProperties->getCreator());
2014-03-14 20:36:09 +01:00
$oProperties->setCreator('AAA');
2022-09-16 11:45:45 +02:00
self::assertEquals('AAA', $oProperties->getCreator());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Last modified by.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testLastModifiedBy(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setLastModifiedBy();
2022-09-16 11:45:45 +02:00
self::assertEquals('', $oProperties->getLastModifiedBy());
2014-03-14 20:36:09 +01:00
$oProperties->setLastModifiedBy('AAA');
2022-09-16 11:45:45 +02:00
self::assertEquals('AAA', $oProperties->getLastModifiedBy());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Created.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testCreated(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setCreated();
2022-09-16 11:45:45 +02:00
self::assertEquals(time(), $oProperties->getCreated());
2014-03-14 20:36:09 +01:00
$iTime = time() + 3600;
$oProperties->setCreated($iTime);
2022-09-16 11:45:45 +02:00
self::assertEquals($iTime, $oProperties->getCreated());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Modified.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testModified(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setModified();
2022-09-16 11:45:45 +02:00
self::assertEquals(time(), $oProperties->getModified());
2014-03-14 20:36:09 +01:00
$iTime = time() + 3600;
$oProperties->setModified($iTime);
2022-09-16 11:45:45 +02:00
self::assertEquals($iTime, $oProperties->getModified());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Title.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testTitle(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setTitle();
2022-09-16 11:45:45 +02:00
self::assertEquals('', $oProperties->getTitle());
2014-03-14 20:36:09 +01:00
$oProperties->setTitle('AAA');
2022-09-16 11:45:45 +02:00
self::assertEquals('AAA', $oProperties->getTitle());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Description.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testDescription(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setDescription();
2022-09-16 11:45:45 +02:00
self::assertEquals('', $oProperties->getDescription());
2014-03-14 20:36:09 +01:00
$oProperties->setDescription('AAA');
2022-09-16 11:45:45 +02:00
self::assertEquals('AAA', $oProperties->getDescription());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Subject.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testSubject(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setSubject();
2022-09-16 11:45:45 +02:00
self::assertEquals('', $oProperties->getSubject());
2014-03-14 20:36:09 +01:00
$oProperties->setSubject('AAA');
2022-09-16 11:45:45 +02:00
self::assertEquals('AAA', $oProperties->getSubject());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Keywords.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testKeywords(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setKeywords();
2022-09-16 11:45:45 +02:00
self::assertEquals('', $oProperties->getKeywords());
2014-03-14 20:36:09 +01:00
$oProperties->setKeywords('AAA');
2022-09-16 11:45:45 +02:00
self::assertEquals('AAA', $oProperties->getKeywords());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Category.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testCategory(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setCategory();
2022-09-16 11:45:45 +02:00
self::assertEquals('', $oProperties->getCategory());
2014-03-14 20:36:09 +01:00
$oProperties->setCategory('AAA');
2022-09-16 11:45:45 +02:00
self::assertEquals('AAA', $oProperties->getCategory());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Company.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testCompany(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setCompany();
2022-09-16 11:45:45 +02:00
self::assertEquals('', $oProperties->getCompany());
2014-03-14 20:36:09 +01:00
$oProperties->setCompany('AAA');
2022-09-16 11:45:45 +02:00
self::assertEquals('AAA', $oProperties->getCompany());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Manager.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testManager(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setManager();
2022-09-16 11:45:45 +02:00
self::assertEquals('', $oProperties->getManager());
2014-03-14 20:36:09 +01:00
$oProperties->setManager('AAA');
2022-09-16 11:45:45 +02:00
self::assertEquals('AAA', $oProperties->getManager());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Custom properties.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testCustomProperty(): void
2014-03-14 20:36:09 +01:00
{
$oProperties = new DocInfo();
$oProperties->setCustomProperty('key1', null);
$oProperties->setCustomProperty('key2', true);
$oProperties->setCustomProperty('key3', 3);
$oProperties->setCustomProperty('key4', 4.4);
$oProperties->setCustomProperty('key5', 'value5');
2022-09-16 11:45:45 +02:00
self::assertEquals(DocInfo::PROPERTY_TYPE_STRING, $oProperties->getCustomPropertyType('key1'));
self::assertEquals(DocInfo::PROPERTY_TYPE_BOOLEAN, $oProperties->getCustomPropertyType('key2'));
self::assertEquals(DocInfo::PROPERTY_TYPE_INTEGER, $oProperties->getCustomPropertyType('key3'));
self::assertEquals(DocInfo::PROPERTY_TYPE_FLOAT, $oProperties->getCustomPropertyType('key4'));
self::assertEquals(DocInfo::PROPERTY_TYPE_STRING, $oProperties->getCustomPropertyType('key5'));
self::assertNull($oProperties->getCustomPropertyType('key6'));
self::assertNull($oProperties->getCustomPropertyValue('key1'));
self::assertTrue($oProperties->getCustomPropertyValue('key2'));
self::assertEquals(3, $oProperties->getCustomPropertyValue('key3'));
self::assertEquals(4.4, $oProperties->getCustomPropertyValue('key4'));
self::assertEquals('value5', $oProperties->getCustomPropertyValue('key5'));
self::assertNull($oProperties->getCustomPropertyValue('key6'));
self::assertTrue($oProperties->isCustomPropertySet('key5'));
self::assertNotTrue($oProperties->isCustomPropertySet('key6'));
self::assertEquals(['key1', 'key2', 'key3', 'key4', 'key5'], $oProperties->getCustomProperties());
2014-03-14 20:36:09 +01:00
}
2014-03-28 13:50:53 +07:00
/**
2022-09-16 11:45:45 +02:00
* Convert property.
2014-03-28 13:50:53 +07:00
*/
2022-09-16 11:45:45 +02:00
public function testConvertProperty(): void
2014-03-14 20:36:09 +01:00
{
2022-09-16 11:45:45 +02:00
self::assertEquals('', DocInfo::convertProperty('a', 'empty'));
self::assertNull(DocInfo::convertProperty('a', 'null'));
self::assertEquals(8, DocInfo::convertProperty('8', 'int'));
self::assertEquals(8, DocInfo::convertProperty('8.3', 'uint'));
self::assertEquals(8.3, DocInfo::convertProperty('8.3', 'decimal'));
self::assertEquals('8.3', DocInfo::convertProperty('8.3', 'lpstr'));
self::assertEquals(strtotime('10/11/2013'), DocInfo::convertProperty('10/11/2013', 'date'));
self::assertTrue(DocInfo::convertProperty('true', 'bool'));
self::assertNotTrue(DocInfo::convertProperty('1', 'bool'));
self::assertEquals('1', DocInfo::convertProperty('1', 'array'));
self::assertEquals('1', DocInfo::convertProperty('1', ''));
self::assertEquals(DocInfo::PROPERTY_TYPE_INTEGER, DocInfo::convertPropertyType('int'));
self::assertEquals(DocInfo::PROPERTY_TYPE_INTEGER, DocInfo::convertPropertyType('uint'));
self::assertEquals(DocInfo::PROPERTY_TYPE_FLOAT, DocInfo::convertPropertyType('decimal'));
self::assertEquals(DocInfo::PROPERTY_TYPE_STRING, DocInfo::convertPropertyType('lpstr'));
self::assertEquals(DocInfo::PROPERTY_TYPE_DATE, DocInfo::convertPropertyType('date'));
self::assertEquals(DocInfo::PROPERTY_TYPE_BOOLEAN, DocInfo::convertPropertyType('bool'));
self::assertEquals(DocInfo::PROPERTY_TYPE_UNKNOWN, DocInfo::convertPropertyType('array'));
self::assertEquals(DocInfo::PROPERTY_TYPE_UNKNOWN, DocInfo::convertPropertyType(''));
2014-03-14 20:36:09 +01:00
}
}