Page MenuHomeWickedGov Phorge

PhpUnitTestListProcessor.php
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

PhpUnitTestListProcessor.php

<?php
declare( strict_types = 1 );
namespace MediaWiki\Composer\PhpUnitSplitter;
use SimpleXMLElement;
/**
* @license GPL-2.0-or-later
*/
class PhpUnitTestListProcessor {
private SimpleXMLElement $xml;
public function __construct( string $testListFile ) {
$this->xml = new SimpleXMLElement( file_get_contents( $testListFile ) );
}
/**
* @return TestDescriptor[] A list of TestDescriptor objects representing the
* test classes found in the `--list-tests` XML
* output
*/
public function getTestClasses(): array {
if ( !property_exists( $this->xml, "testCaseClass" ) ) {
return [];
}
return array_map(
fn ( $element ) => self::extractNamespace( (string)$element->attributes()["name"] ),
iterator_to_array( $this->xml->testCaseClass, false )
);
}
private static function extractNamespace( string $qualifiedClassName ): TestDescriptor {
$parts = explode( '\\', $qualifiedClassName );
$className = array_pop( $parts );
return new TestDescriptor( $className, $parts );
}
}

File Metadata

Mime Type
text/x-php
Expires
Sat, May 16, 14:37 (1 d, 4 h)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
05/36/51c5991644e8aac49b76c0671fa9
Default Alt Text
PhpUnitTestListProcessor.php (1 KB)

Event Timeline