1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
<?php
namespace MediaWiki\Tests\ResourceLoader;
use MediaWiki\HookContainer\HookContainer;
use MediaWiki\HookContainer\StaticHookRegistry;
use MediaWiki\Registration\ExtensionRegistry;
use MediaWiki\ResourceLoader\OOUIImageModule;
use MediaWiki\Skin\SkinFactory;
use MediaWiki\Tests\Unit\DummyServicesTrait;
/**
* @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',
] );
$module->setHookContainer( new HookContainer(
new StaticHookRegistry(),
$this->getServiceContainer()->getObjectFactory()
) );
// 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'
);
}
}
|