protected function setUp() {
parent::setUp();
$reflection = new ReflectionClass( $this );
- if ( strpos( $reflection->getFilename(), '/unit/' ) === false ) {
+ $dirSeparator = DIRECTORY_SEPARATOR;
+ if ( strpos( $reflection->getFilename(), "${dirSeparator}unit${dirSeparator}" ) === false ) {
$this->fail( 'This unit test needs to be in "tests/phpunit/unit" !' );
}
$this->unitGlobals = $GLOBALS;
$GLOBALS = [];
// Add back the minimal set of globals needed for unit tests to run for core +
// extensions/skins.
- foreach ( [ 'wgAutoloadClasses', 'wgAutoloadLocalClasses', 'IP' ] as $requiredGlobal ) {
- $GLOBALS[$requiredGlobal] = $this->unitGlobals[ $requiredGlobal ];
+ foreach ( $this->unitGlobals['wgPhpUnitBootstrapGlobals'] ?? [] as $key => $value ) {
+ $GLOBALS[ $key ] = $this->unitGlobals[ $key ];
}
}