aboutsummaryrefslogtreecommitdiffstats
path: root/tests/phpunit/includes/resourceloader/ResourceLoaderSkinModuleTest.php
diff options
context:
space:
mode:
authorTimo Tijhof <krinklemail@gmail.com>2017-07-07 20:34:56 -0700
committerBartosz DziewoƄski <matma.rex@gmail.com>2017-07-10 17:59:17 +0000
commit0a4704c430cab3fc55bf5a42ce3d3974635ae592 (patch)
treea070021813934b4fce574fd3e0d653e0c8f0bd4c /tests/phpunit/includes/resourceloader/ResourceLoaderSkinModuleTest.php
parent171bcfaae9aa28ee356a62e5e1d273823ae3cd9e (diff)
downloadmediawikicore-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.php67
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 ) );
+ }
+}