Merge "Add (hacky) check for webm audio files"
[lhc/web/wiklou.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 }