2017-03-20 19:34:21 +00:00
|
|
|
<?php
|
|
|
|
|
|
2022-05-06 09:09:56 +00:00
|
|
|
namespace MediaWiki\Tests\ResourceLoader;
|
|
|
|
|
|
|
|
|
|
use ExtensionRegistry;
|
|
|
|
|
use MediaWiki\ResourceLoader\OOUIImageModule;
|
2022-06-29 22:34:37 +00:00
|
|
|
use MediaWiki\Tests\Unit\DummyServicesTrait;
|
2022-05-06 09:09:56 +00:00
|
|
|
use ResourceLoaderTestCase;
|
|
|
|
|
use SkinFactory;
|
2020-02-06 09:44:05 +00:00
|
|
|
|
2017-03-20 19:34:21 +00:00
|
|
|
/**
|
|
|
|
|
* @group ResourceLoader
|
2022-08-08 15:22:31 +00:00
|
|
|
* @covers \MediaWiki\ResourceLoader\OOUIImageModule
|
2017-03-20 19:34:21 +00:00
|
|
|
*/
|
2022-05-06 09:09:56 +00:00
|
|
|
class OOUIImageModuleTest extends ResourceLoaderTestCase {
|
2022-06-29 22:34:37 +00:00
|
|
|
use DummyServicesTrait;
|
2017-03-20 19:34:21 +00:00
|
|
|
|
|
|
|
|
public function testNonDefaultSkin() {
|
2022-05-06 09:09:56 +00:00
|
|
|
$module = new OOUIImageModule( [
|
|
|
|
|
'class' => OOUIImageModule::class,
|
2017-03-20 19:34:21 +00:00
|
|
|
'name' => 'icons',
|
|
|
|
|
'rootPath' => 'tests/phpunit/data/resourceloader/oouiimagemodule',
|
|
|
|
|
] );
|
|
|
|
|
|
|
|
|
|
// Pretend that 'fakemonobook' is a real skin using the Apex theme
|
2022-06-29 22:34:37 +00:00
|
|
|
$skinFactory = new SkinFactory( $this->getDummyObjectFactory(), [] );
|
2019-06-03 00:55:00 +00:00
|
|
|
$skinFactory->register(
|
2017-03-20 19:34:21 +00:00
|
|
|
'fakemonobook',
|
|
|
|
|
'FakeMonoBook',
|
2020-02-06 09:44:05 +00:00
|
|
|
[]
|
2017-03-20 19:34:21 +00:00
|
|
|
);
|
2019-06-03 00:55:00 +00:00
|
|
|
$this->setService( 'SkinFactory', $skinFactory );
|
|
|
|
|
|
2019-06-03 00:58:58 +00:00
|
|
|
$reset = ExtensionRegistry::getInstance()->setAttributeForTest(
|
|
|
|
|
'SkinOOUIThemes', [ 'fakemonobook' => 'Apex' ]
|
|
|
|
|
);
|
2017-03-20 19:34:21 +00:00
|
|
|
|
|
|
|
|
$styles = $module->getStyles( $this->getResourceLoaderContext( [ 'skin' => 'fakemonobook' ] ) );
|
2022-10-07 17:03:35 +00:00
|
|
|
$this->assertMatchesRegularExpression(
|
2017-06-06 13:04:09 +00:00
|
|
|
'/stu-apex/',
|
2017-03-20 19:34:21 +00:00
|
|
|
$styles['all'],
|
2023-02-07 23:31:01 +00:00
|
|
|
'Generated styles use the non-default image'
|
2017-03-20 19:34:21 +00:00
|
|
|
);
|
|
|
|
|
|
|
|
|
|
$styles = $module->getStyles( $this->getResourceLoaderContext() );
|
2022-10-07 17:03:35 +00:00
|
|
|
$this->assertMatchesRegularExpression(
|
2017-06-06 13:04:09 +00:00
|
|
|
'/stu-wikimediaui/',
|
2017-03-20 19:34:21 +00:00
|
|
|
$styles['all'],
|
2023-02-07 23:31:01 +00:00
|
|
|
'Generated styles use the default image'
|
2017-03-20 19:34:21 +00:00
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|