123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- <?php
- /**
- * 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.
- *
- * @link https://github.com/PHPOffice/PHPWord
- * @copyright 2010-2014 PHPWord contributors
- * @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
- */
-
- namespace PhpOffice\PhpWord\Tests;
-
- use PhpOffice\PhpWord\Settings;
-
- /**
- * Test class for PhpOffice\PhpWord\Settings
- *
- * @coversDefaultClass \PhpOffice\PhpWord\Settings
- * @runTestsInSeparateProcesses
- */
- class SettingsTest extends \PHPUnit_Framework_TestCase
- {
- /**
- * Test set/get compatibity option
- */
- public function testSetGetCompatibility()
- {
- $this->assertTrue(Settings::hasCompatibility());
- $this->assertTrue(Settings::setCompatibility(false));
- $this->assertFalse(Settings::hasCompatibility());
- }
-
- /**
- * Test set/get zip class
- */
- public function testSetGetZipClass()
- {
- $this->assertEquals(Settings::ZIPARCHIVE, Settings::getZipClass());
- $this->assertTrue(Settings::setZipClass(Settings::PCLZIP));
- $this->assertFalse(Settings::setZipClass('foo'));
- }
-
- /**
- * Test set/get PDF renderer
- */
- public function testSetGetPdfRenderer()
- {
- $domPdfPath = realpath(PHPWORD_TESTS_BASE_DIR . '/../vendor/dompdf/dompdf');
-
- $this->assertFalse(Settings::setPdfRenderer('FOO', 'dummy/path'));
- $this->assertTrue(Settings::setPdfRenderer(Settings::PDF_RENDERER_DOMPDF, $domPdfPath));
- $this->assertEquals(Settings::PDF_RENDERER_DOMPDF, Settings::getPdfRendererName());
- $this->assertEquals($domPdfPath, Settings::getPdfRendererPath());
- $this->assertFalse(Settings::setPdfRendererPath('dummy/path'));
- }
-
- /**
- * Test set/get measurement unit
- */
- public function testSetGetMeasurementUnit()
- {
- $this->assertEquals(Settings::UNIT_TWIP, Settings::getMeasurementUnit());
- $this->assertTrue(Settings::setMeasurementUnit(Settings::UNIT_INCH));
- $this->assertFalse(Settings::setMeasurementUnit('foo'));
- }
-
- /**
- * @covers ::getTempDir
- * @test
- */
- public function testPhpTempDirIsUsedByDefault()
- {
- $this->assertEquals(sys_get_temp_dir(), Settings::getTempDir());
- }
-
-
- /**
- * @covers ::setTempDir
- * @covers ::getTempDir
- * @depends testPhpTempDirIsUsedByDefault
- * @test
- */
- public function testTempDirCanBeSet()
- {
- $userDefinedTempDir = 'C:\PhpWordTemp';
- Settings::setTempDir($userDefinedTempDir);
- $currentTempDir = Settings::getTempDir();
- $this->assertEquals($userDefinedTempDir, $currentTempDir);
- $this->assertNotEquals(sys_get_temp_dir(), $currentTempDir);
- }
-
- /**
- * Test set/get default font name
- */
- public function testSetGetDefaultFontName()
- {
- $this->assertEquals(Settings::DEFAULT_FONT_NAME, Settings::getDefaultFontName());
- $this->assertTrue(Settings::setDefaultFontName('Times New Roman'));
- $this->assertFalse(Settings::setDefaultFontName(' '));
- }
-
- /**
- * Test set/get default font size
- */
- public function testSetGetDefaultFontSize()
- {
- $this->assertEquals(Settings::DEFAULT_FONT_SIZE, Settings::getDefaultFontSize());
- $this->assertTrue(Settings::setDefaultFontSize(12));
- $this->assertFalse(Settings::setDefaultFontSize(null));
- }
-
- /**
- * Test load config
- */
- public function testLoadConfig()
- {
- $expected = array(
- 'compatibility' => true,
- 'zipClass' => 'ZipArchive',
- 'pdfRendererName' => 'DomPDF',
- 'pdfRendererPath' => '',
- 'defaultFontName' => 'Arial',
- 'defaultFontSize' => 10,
- );
-
- // Test default value
- $this->assertEquals($expected, Settings::loadConfig());
-
- // Test with valid file
- $this->assertEquals($expected, Settings::loadConfig(__DIR__ . '/../../../phpword.ini.dist'));
-
- // Test with invalid file
- $this->assertEmpty(Settings::loadConfig(__DIR__ . '/../../../phpunit.xml.dist'));
- }
- }
|