X-Git-Url: https://git.heureux-cyclage.org/?p=lhc%2Fweb%2Fwiklou.git;a=blobdiff_plain;f=tests%2Fcommon%2FTestsAutoLoader.php;h=56ee2df6630491e8c5999bef021557ff8ba016cf;hp=b994f8a1b57ed573c10cc619cfb4ce4f6f082d60;hb=d23e47e1273521c9448dee6396d3856d024da4e7;hpb=77e3624caba072521fbc1826af2d47f9b29f4032 diff --git a/tests/common/TestsAutoLoader.php b/tests/common/TestsAutoLoader.php index b994f8a1b5..56ee2df663 100644 --- a/tests/common/TestsAutoLoader.php +++ b/tests/common/TestsAutoLoader.php @@ -63,6 +63,7 @@ $wgAutoloadClasses += [ 'TestUserRegistry' => "$testDir/phpunit/includes/TestUserRegistry.php", 'LessFileCompilationTest' => "$testDir/phpunit/LessFileCompilationTest.php", 'MediaWikiCoversValidator' => "$testDir/phpunit/MediaWikiCoversValidator.php", + 'PHPUnit4And6Compat' => "$testDir/phpunit/PHPUnit4And6Compat.php", # tests/phpunit/includes 'RevisionDbTestBase' => "$testDir/phpunit/includes/RevisionDbTestBase.php", @@ -96,6 +97,8 @@ $wgAutoloadClasses += [ 'DummyContentForTesting' => "$testDir/phpunit/mocks/content/DummyContentForTesting.php", 'DummyNonTextContentHandler' => "$testDir/phpunit/mocks/content/DummyNonTextContentHandler.php", 'DummyNonTextContent' => "$testDir/phpunit/mocks/content/DummyNonTextContent.php", + 'DummySerializeErrorContentHandler' => + "$testDir/phpunit/mocks/content/DummySerializeErrorContentHandler.php", 'ContentHandlerTest' => "$testDir/phpunit/includes/content/ContentHandlerTest.php", 'JavaScriptContentTest' => "$testDir/phpunit/includes/content/JavaScriptContentTest.php", 'TextContentTest' => "$testDir/phpunit/includes/content/TextContentTest.php", @@ -175,9 +178,43 @@ $wgAutoloadClasses += [ 'MediaWiki\\Session\\DummySessionBackend' => "$testDir/phpunit/mocks/session/DummySessionBackend.php", 'DummySessionProvider' => "$testDir/phpunit/mocks/session/DummySessionProvider.php", + 'MockMessageLocalizer' => "$testDir/phpunit/mocks/MockMessageLocalizer.php", # tests/suites 'ParserTestFileSuite' => "$testDir/phpunit/suites/ParserTestFileSuite.php", 'ParserTestTopLevelSuite' => "$testDir/phpunit/suites/ParserTestTopLevelSuite.php", ]; // phpcs:enable + +/** + * Alias any PHPUnit 4 era PHPUnit_... class + * to it's PHPUnit 6 replacement. For most classes + * this is a direct _ -> \ replacement, but for + * some others we might need to maintain a manual + * mapping. Once we drop support for PHPUnit 4 this + * should be considered deprecated and eventually removed. + */ +spl_autoload_register( function ( $class ) { + if ( strpos( $class, 'PHPUnit_' ) !== 0 ) { + // Skip if it doesn't start with the old prefix + return; + } + + // Classes that don't map 100% + $map = [ + 'PHPUnit_Framework_TestSuite_DataProvider' => 'PHPUnit\Framework\DataProviderTestSuite', + 'PHPUnit_Framework_Error' => 'PHPUnit\Framework\Error\Error', + ]; + + if ( isset( $map[$class] ) ) { + $newForm = $map[$class]; + } else { + $newForm = str_replace( '_', '\\', $class ); + } + + if ( class_exists( $newForm ) || interface_exists( $newForm ) ) { + // If the new class name exists, alias + // the old name to it. + class_alias( $newForm, $class ); + } +} );