wiki.techinc.nl/tests/phpunit/includes/ResourceLoader/OOUIImageModuleTest.php
James D. Forrester d6fd1436a3 tests: Namespace ResourceLoaderTestCase and friends
Leave class aliases behind because they might be being used somewhere,
but we don't normally flag these kinds of things in the release notes,
do we?

Bug: T357823
Change-Id: I7fc7f34494d5c4df81f6746d63df1d0f990f8ae9
2024-02-16 21:32:22 +00:00

52 lines
1.4 KiB
PHP

<?php
namespace MediaWiki\Tests\ResourceLoader;
use ExtensionRegistry;
use MediaWiki\ResourceLoader\OOUIImageModule;
use MediaWiki\Tests\Unit\DummyServicesTrait;
use SkinFactory;
/**
* @group ResourceLoader
* @covers \MediaWiki\ResourceLoader\OOUIImageModule
*/
class OOUIImageModuleTest extends ResourceLoaderTestCase {
use DummyServicesTrait;
public function testNonDefaultSkin() {
$module = new OOUIImageModule( [
'class' => OOUIImageModule::class,
'name' => 'icons',
'rootPath' => 'tests/phpunit/data/resourceloader/oouiimagemodule',
] );
// Pretend that 'fakemonobook' is a real skin using the Apex theme
$skinFactory = new SkinFactory( $this->getDummyObjectFactory(), [] );
$skinFactory->register(
'fakemonobook',
'FakeMonoBook',
[]
);
$this->setService( 'SkinFactory', $skinFactory );
$reset = ExtensionRegistry::getInstance()->setAttributeForTest(
'SkinOOUIThemes', [ 'fakemonobook' => 'Apex' ]
);
$styles = $module->getStyles( $this->getResourceLoaderContext( [ 'skin' => 'fakemonobook' ] ) );
$this->assertMatchesRegularExpression(
'/stu-apex/',
$styles['all'],
'Generated styles use the non-default image'
);
$styles = $module->getStyles( $this->getResourceLoaderContext() );
$this->assertMatchesRegularExpression(
'/stu-wikimediaui/',
$styles['all'],
'Generated styles use the default image'
);
}
}