diff options
author | Timo Tijhof <krinklemail@gmail.com> | 2017-07-07 20:34:56 -0700 |
---|---|---|
committer | Bartosz DziewoĆski <matma.rex@gmail.com> | 2017-07-10 17:59:17 +0000 |
commit | 0a4704c430cab3fc55bf5a42ce3d3974635ae592 (patch) | |
tree | a070021813934b4fce574fd3e0d653e0c8f0bd4c /tests/phpunit/includes/resourceloader/ResourceLoaderSkinModuleTest.php | |
parent | 171bcfaae9aa28ee356a62e5e1d273823ae3cd9e (diff) | |
download | mediawikicore-0a4704c430cab3fc55bf5a42ce3d3974635ae592.tar.gz mediawikicore-0a4704c430cab3fc55bf5a42ce3d3974635ae592.zip |
resourceloader: Add unit tests for ResourceLoaderSkinModule
Change-Id: I299eff8f5172e047c0d54d9c824b17529dd6d190
Diffstat (limited to 'tests/phpunit/includes/resourceloader/ResourceLoaderSkinModuleTest.php')
-rw-r--r-- | tests/phpunit/includes/resourceloader/ResourceLoaderSkinModuleTest.php | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderSkinModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderSkinModuleTest.php new file mode 100644 index 000000000000..c56769827ac1 --- /dev/null +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderSkinModuleTest.php @@ -0,0 +1,67 @@ +<?php + +/** + * @group Database + * @group ResourceLoader + */ +class ResourceLoaderSkinModuleTest extends PHPUnit_Framework_TestCase { + + public static function provideGetStyles() { + return [ + [ + 'parent' => [], + 'expected' => [ + 'all' => [ '.mw-wiki-logo { background-image: url(/logo.png); }' ], + ], + ], + [ + 'parent' => [ + 'screen' => '.example {}', + ], + 'expected' => [ + 'screen' => [ '.example {}' ], + 'all' => [ '.mw-wiki-logo { background-image: url(/logo.png); }' ], + ], + ], + ]; + } + + /** + * @dataProvider provideGetStyles + * @covers ResourceLoaderSkinModule::normalizeStyles + * @covers ResourceLoaderSkinModule::getStyles + */ + public function testGetStyles( $parent, $expected ) { + $module = $this->getMockBuilder( ResourceLoaderSkinModule::class ) + ->disableOriginalConstructor() + ->setMethods( [ 'readStyleFiles' ] ) + ->getMock(); + $module->expects( $this->once() )->method( 'readStyleFiles' ) + ->willReturn( $parent ); + $module->setConfig( new HashConfig( [ + 'ResourceBasePath' => '/w', + 'Logo' => '/logo.png', + 'LogoHD' => false, + ] ) ); + + $ctx = $this->getMockBuilder( ResourceLoaderContext::class ) + ->disableOriginalConstructor()->getMock(); + + $this->assertEquals( + $module->getStyles( $ctx ), + $expected + ); + } + + /** + * @covers ResourceLoaderSkinModule::isKnownEmpty + */ + public function testIsKnownEmpty() { + $module = $this->getMockBuilder( ResourceLoaderSkinModule::class ) + ->disableOriginalConstructor()->setMethods( null )->getMock(); + $ctx = $this->getMockBuilder( ResourceLoaderContext::class ) + ->disableOriginalConstructor()->getMock(); + + $this->assertFalse( $module->isKnownEmpty( $ctx ) ); + } +} |