| 
									
										
										
										
											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; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-05 16:03:42 +00:00
										 |  |  |     public function setUp() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2017-03-12 13:00:46 +00:00
										 |  |  |         $this->prevValue = libxml_disable_entity_loader(); | 
					
						
							|  |  |  |         libxml_disable_entity_loader(false); // Enable entity loader
 | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     protected function tearDown() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         libxml_disable_entity_loader($this->prevValue); | 
					
						
							| 
									
										
										
										
											2016-06-05 16:03:42 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function testGetXMLSettings() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											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)); | 
					
						
							|  |  |  |         self::assertFalse(libxml_disable_entity_loader()); | 
					
						
							| 
									
										
										
										
											2016-06-05 16:03:42 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public function testSetXMLSettings() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											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)); | 
					
						
							|  |  |  |         self::assertFalse(libxml_disable_entity_loader()); | 
					
						
							| 
									
										
										
										
											2016-06-05 16:03:42 +00:00
										 |  |  |     } | 
					
						
							|  |  |  | } |