wiki.techinc.nl/tests/phpunit/includes/resourceloader/ResourceLoaderOOUIImageModuleTest.php
Bartosz Dziewoński b6a238e6bf resourceloader: Add unit tests for ResourceLoaderImage
Follows-up I5b14d65a and I5a563c59.

Change-Id: Id42e1b868c9fe97cdb14b4bc7328947820a7fd94
2017-04-11 21:55:59 +00:00

65 lines
1.6 KiB
PHP

<?php
/**
* @group ResourceLoader
*/
class ResourceLoaderOOUIImageModuleTest extends ResourceLoaderTestCase {
/**
* @covers ResourceLoaderOOUIImageModule::loadFromDefinition
*/
public function testNonDefaultSkin() {
$module = new ResourceLoaderOOUIImageModule( [
'class' => 'ResourceLoaderOOUIImageModule',
'name' => 'icons',
'rootPath' => 'tests/phpunit/data/resourceloader/oouiimagemodule',
] );
// Pretend that 'fakemonobook' is a real skin using the Apex theme
SkinFactory::getDefaultInstance()->register(
'fakemonobook',
'FakeMonoBook',
function () {
}
);
$r = new ReflectionMethod( 'ExtensionRegistry', 'exportExtractedData' );
$r->setAccessible( true );
$r->invoke( ExtensionRegistry::getInstance(), [
'globals' => [],
'defines' => [],
'callbacks' => [],
'credits' => [],
'autoloaderPaths' => [],
'attributes' => [
'SkinOOUIThemes' => [
'fakemonobook' => 'Apex',
],
],
] );
$styles = $module->getStyles( $this->getResourceLoaderContext( [ 'skin' => 'fakemonobook' ] ) );
$this->assertRegExp(
'/magnifying-glass-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(
'/magnifying-glass-mediawiki/',
$styles['all'],
'Generated styles use the default image (embed)'
);
$this->assertRegExp(
'/vector/',
$styles['all'],
'Generated styles use the default image (link)'
);
}
}