class Loader
Same name in this branch
- 11.1.x vendor/phpunit/phpunit/src/TextUI/Configuration/Xml/Loader.php \PHPUnit\TextUI\XmlConfiguration\Loader
@no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
@internal This class is not covered by the backward compatibility promise for PHPUnit
Hierarchy
- class \PHPUnit\Util\Xml\Loader
Expanded class hierarchy of Loader
5 files declare their use of Loader
- Assert.php in vendor/
phpunit/ phpunit/ src/ Framework/ Assert.php - Loader.php in vendor/
phpunit/ phpunit/ src/ TextUI/ Configuration/ Xml/ Loader.php - Migrator.php in vendor/
phpunit/ phpunit/ src/ TextUI/ Configuration/ Xml/ Migration/ Migrator.php - Reader.php in vendor/
phpunit/ phpunit/ src/ Runner/ Baseline/ Reader.php - SchemaDetector.php in vendor/
phpunit/ phpunit/ src/ TextUI/ Configuration/ Xml/ SchemaDetector/ SchemaDetector.php
File
-
vendor/
phpunit/ phpunit/ src/ Util/ Xml/ Loader.php, line 28
Namespace
PHPUnit\Util\XmlView source
final class Loader {
/**
* @throws XmlException
*/
public function loadFile(string $filename) : DOMDocument {
$reporting = error_reporting(0);
$contents = file_get_contents($filename);
error_reporting($reporting);
if ($contents === false) {
throw new XmlException(sprintf('Could not read XML from file "%s"', $filename));
}
return $this->load($contents, $filename);
}
/**
* @throws XmlException
*/
public function load(string $actual, ?string $filename = null) : DOMDocument {
if ($actual === '') {
if ($filename === null) {
throw new XmlException('Could not parse XML from empty string');
}
throw new XmlException(sprintf('Could not parse XML from empty file "%s"', $filename));
}
$document = new DOMDocument();
$document->preserveWhiteSpace = false;
$internal = libxml_use_internal_errors(true);
$message = '';
$reporting = error_reporting(0);
// Required for XInclude
if ($filename !== null) {
// Required for XInclude on Windows
if (PHP_OS_FAMILY === 'Windows') {
$cwd = getcwd();
@chdir(dirname($filename));
}
$document->documentURI = $filename;
}
$loaded = $document->loadXML($actual);
if ($filename !== null) {
$document->xinclude();
}
foreach (libxml_get_errors() as $error) {
$message .= "\n" . $error->message;
}
libxml_use_internal_errors($internal);
error_reporting($reporting);
if (isset($cwd)) {
@chdir($cwd);
}
if ($loaded === false || $message !== '') {
if ($filename !== null) {
throw new XmlException(sprintf('Could not load "%s"%s', $filename, $message !== '' ? ":\n" . $message : ''));
}
if ($message === '') {
$message = 'Could not load XML for unknown reason';
}
throw new XmlException($message);
}
return $document;
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
Loader::load | public | function | |
Loader::loadFile | public | function |