diff options
Diffstat (limited to 'tests/phpunit/unit/includes/composer/PhpUnitSplitter/PhpUnitXmlTest.php')
-rw-r--r-- | tests/phpunit/unit/includes/composer/PhpUnitSplitter/PhpUnitXmlTest.php | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/tests/phpunit/unit/includes/composer/PhpUnitSplitter/PhpUnitXmlTest.php b/tests/phpunit/unit/includes/composer/PhpUnitSplitter/PhpUnitXmlTest.php new file mode 100644 index 000000000000..6b30596e90bf --- /dev/null +++ b/tests/phpunit/unit/includes/composer/PhpUnitSplitter/PhpUnitXmlTest.php @@ -0,0 +1,52 @@ +<?php + +declare( strict_types = 1 ); + +namespace MediaWiki\Tests\Unit\composer\PhpUnitSplitter; + +use MediaWiki\Composer\PhpUnitSplitter\PhpUnitXml; +use PHPUnit\Framework\TestCase; + +/** + * @license GPL-2.0-or-later + * @covers \MediaWiki\Composer\PhpUnitSplitter\PhpUnitXml + */ +class PhpUnitXmlTest extends TestCase { + + private const BASIC_XML = '<?xml version="1.0" encoding="UTF-8"?> +<phpunit bootstrap="tests/phpunit/bootstrap.php"> +<testsuites> + <testsuite name="core:unit"> + <directory>tests/phpunit/unit</directory> + </testsuite> +</testsuites> +</phpunit>'; + + public function createFixtureFile( string $data ): string { + $filename = tempnam( sys_get_temp_dir(), "phpunit-test" ); + file_put_contents( $filename, $data ); + return $filename; + } + + public function testFixtureContainsNoSplitGroups() { + $phpUnitXmlFile = $this->createFixtureFile( self::BASIC_XML ); + $phpUnitXml = new PhpUnitXml( $phpUnitXmlFile ); + $this->assertFalse( $phpUnitXml->containsSplitGroups(), "No split groups expected in fixture" ); + unlink( $phpUnitXmlFile ); + } + + public function testAddSplitGroups() { + $phpUnitXmlFile = $this->createFixtureFile( self::BASIC_XML ); + $phpUnitXml = new PhpUnitXml( $phpUnitXmlFile ); + $phpUnitXml->addSplitGroups( [ + [ "file1.php", "file2.php" ], + [ "file3.php", "file4.php" ], + [ "file7.php", "file6.php" ], + [ "file9.php", "file8.php" ], + [ "file11.php", "file10.php" ], + [ "file13.php", "file12.php" ], + ] ); + $this->assertTrue( $phpUnitXml->containsSplitGroups(), "Expected groups to be added" ); + unlink( $phpUnitXmlFile ); + } +} |