Symfony\Component\Config\Tests\Util\XmlUtilsTest::testLoadWrongEmptyXMLWithErrorHandler PHP Method

testLoadWrongEmptyXMLWithErrorHandler() public method

test for issue https://github.com/symfony/symfony/issues/9731
    public function testLoadWrongEmptyXMLWithErrorHandler()
    {
        $originalDisableEntities = libxml_disable_entity_loader(false);
        $errorReporting = error_reporting(-1);
        set_error_handler(function ($errno, $errstr) {
            throw new \Exception($errstr, $errno);
        });
        $file = __DIR__ . '/../Fixtures/foo.xml';
        try {
            try {
                XmlUtils::loadFile($file);
                $this->fail('An exception should have been raised');
            } catch (\InvalidArgumentException $e) {
                $this->assertEquals(sprintf('File %s does not contain valid XML, it is empty.', $file), $e->getMessage());
            }
        } finally {
            restore_error_handler();
            error_reporting($errorReporting);
        }
        $disableEntities = libxml_disable_entity_loader(true);
        libxml_disable_entity_loader($disableEntities);
        libxml_disable_entity_loader($originalDisableEntities);
        $this->assertFalse($disableEntities);
        // should not throw an exception
        XmlUtils::loadFile(__DIR__ . '/../Fixtures/Util/valid.xml', __DIR__ . '/../Fixtures/Util/schema.xsd');
    }