wiki.techinc.nl/tests/phpunit/includes/resourceloader/ResourceLoaderOOUIImageModuleTest.php
Kunal Mehta 2de2e056a8 Use ExtensionRegistry::setAttributeForTest() instead of Reflection
Change-Id: If29e8825f1734f8c0efa21aa77f6354fa3468248
2019-06-02 21:08:07 -04:00

57 lines
1.4 KiB
PHP

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