]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - tests/phpunit/includes/resourceloader/ResourceLoaderSkinModuleTest.php
MediaWiki 1.30.2
[autoinstalls/mediawiki.git] / tests / phpunit / includes / resourceloader / ResourceLoaderSkinModuleTest.php
1 <?php
2
3 /**
4  * @group Database
5  * @group ResourceLoader
6  */
7 class ResourceLoaderSkinModuleTest extends PHPUnit_Framework_TestCase {
8
9         public static function provideGetStyles() {
10                 return [
11                         [
12                                 'parent' => [],
13                                 'expected' => [
14                                         'all' => [ '.mw-wiki-logo { background-image: url(/logo.png); }' ],
15                                 ],
16                         ],
17                         [
18                                 'parent' => [
19                                         'screen' => '.example {}',
20                                 ],
21                                 'expected' => [
22                                         'screen' => [ '.example {}' ],
23                                         'all' => [ '.mw-wiki-logo { background-image: url(/logo.png); }' ],
24                                 ],
25                         ],
26                 ];
27         }
28
29         /**
30          * @dataProvider provideGetStyles
31          * @covers ResourceLoaderSkinModule::normalizeStyles
32          * @covers ResourceLoaderSkinModule::getStyles
33          */
34         public function testGetStyles( $parent, $expected ) {
35                 $module = $this->getMockBuilder( ResourceLoaderSkinModule::class )
36                         ->disableOriginalConstructor()
37                         ->setMethods( [ 'readStyleFiles' ] )
38                         ->getMock();
39                 $module->expects( $this->once() )->method( 'readStyleFiles' )
40                         ->willReturn( $parent );
41                 $module->setConfig( new HashConfig( [
42                         'ResourceBasePath' => '/w',
43                         'Logo' => '/logo.png',
44                         'LogoHD' => false,
45                 ] ) );
46
47                 $ctx = $this->getMockBuilder( ResourceLoaderContext::class )
48                         ->disableOriginalConstructor()->getMock();
49
50                 $this->assertEquals(
51                         $module->getStyles( $ctx ),
52                         $expected
53                 );
54         }
55
56         /**
57          * @covers ResourceLoaderSkinModule::isKnownEmpty
58          */
59         public function testIsKnownEmpty() {
60                 $module = $this->getMockBuilder( ResourceLoaderSkinModule::class )
61                         ->disableOriginalConstructor()->setMethods( null )->getMock();
62                 $ctx = $this->getMockBuilder( ResourceLoaderContext::class )
63                         ->disableOriginalConstructor()->getMock();
64
65                 $this->assertFalse( $module->isKnownEmpty( $ctx ) );
66         }
67 }