2016-06-05 16:03:42 +00:00
|
|
|
<?php
|
|
|
|
|
2016-08-31 17:18:12 +00:00
|
|
|
namespace PhpOffice\PhpSpreadsheetTests;
|
2016-06-05 16:03:42 +00:00
|
|
|
|
2017-05-17 22:02:17 +00:00
|
|
|
use PhpOffice\PhpSpreadsheet\Settings;
|
2017-11-08 15:48:01 +00:00
|
|
|
use PHPUnit\Framework\TestCase;
|
2017-05-17 22:02:17 +00:00
|
|
|
|
2017-11-08 15:48:01 +00:00
|
|
|
class SettingsTest extends TestCase
|
2016-06-05 16:03:42 +00:00
|
|
|
{
|
2017-03-12 13:00:46 +00:00
|
|
|
/**
|
|
|
|
* @var string
|
|
|
|
*/
|
|
|
|
protected $prevValue;
|
|
|
|
|
2020-04-27 10:28:36 +00:00
|
|
|
protected function setUp(): void
|
2016-06-05 16:03:42 +00:00
|
|
|
{
|
2020-10-08 13:02:14 +00:00
|
|
|
// php 8.+ deprecated libxml_disable_entity_loader() - It's on by default
|
|
|
|
if (\PHP_VERSION_ID < 80000) {
|
|
|
|
$this->prevValue = libxml_disable_entity_loader();
|
|
|
|
libxml_disable_entity_loader(false); // Enable entity loader
|
|
|
|
}
|
2017-03-12 13:00:46 +00:00
|
|
|
}
|
|
|
|
|
2020-04-27 10:28:36 +00:00
|
|
|
protected function tearDown(): void
|
2017-03-12 13:00:46 +00:00
|
|
|
{
|
2020-10-08 13:02:14 +00:00
|
|
|
// php 8.+ deprecated libxml_disable_entity_loader() - It's on by default
|
|
|
|
if (\PHP_VERSION_ID < 80000) {
|
|
|
|
libxml_disable_entity_loader($this->prevValue);
|
|
|
|
}
|
2016-06-05 16:03:42 +00:00
|
|
|
}
|
|
|
|
|
2020-05-18 04:49:57 +00:00
|
|
|
public function testGetXMLSettings(): void
|
2016-06-05 16:03:42 +00:00
|
|
|
{
|
2017-05-17 22:02:17 +00:00
|
|
|
$result = Settings::getLibXmlLoaderOptions();
|
2017-09-20 05:55:42 +00:00
|
|
|
self::assertTrue((bool) ((LIBXML_DTDLOAD | LIBXML_DTDATTR) & $result));
|
2020-10-08 13:02:14 +00:00
|
|
|
// php 8.+ deprecated libxml_disable_entity_loader() - It's on by default
|
|
|
|
if (\PHP_VERSION_ID < 80000) {
|
|
|
|
self::assertFalse(libxml_disable_entity_loader());
|
|
|
|
}
|
2016-06-05 16:03:42 +00:00
|
|
|
}
|
|
|
|
|
2020-05-18 04:49:57 +00:00
|
|
|
public function testSetXMLSettings(): void
|
2016-06-05 16:03:42 +00:00
|
|
|
{
|
2017-05-17 22:02:17 +00:00
|
|
|
Settings::setLibXmlLoaderOptions(LIBXML_DTDLOAD | LIBXML_DTDATTR | LIBXML_DTDVALID);
|
|
|
|
$result = Settings::getLibXmlLoaderOptions();
|
2017-09-20 05:55:42 +00:00
|
|
|
self::assertTrue((bool) ((LIBXML_DTDLOAD | LIBXML_DTDATTR | LIBXML_DTDVALID) & $result));
|
2020-10-08 13:02:14 +00:00
|
|
|
// php 8.+ deprecated libxml_disable_entity_loader() - It's on by default
|
|
|
|
if (\PHP_VERSION_ID < 80000) {
|
|
|
|
self::assertFalse(libxml_disable_entity_loader());
|
|
|
|
}
|
2016-06-05 16:03:42 +00:00
|
|
|
}
|
|
|
|
}
|