X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=tests%2Fphpunit%2Fincludes%2Fresourceloader%2FResourceLoaderImageModuleTest.php;h=aeb82d14ff3c6f9136b22591063c5e8d9c428703;hb=766d795f27df5f956e9d48bba63c4bfe3848ba86;hp=fc1887d838c645262eb4487451c5ce8c921067d3;hpb=af4d3cd4a0864e33d3ba0791853742e2a487d16d;p=lhc%2Fweb%2Fwiklou.git diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderImageModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderImageModuleTest.php index fc1887d838..aeb82d14ff 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderImageModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderImageModuleTest.php @@ -5,63 +5,63 @@ */ class ResourceLoaderImageModuleTest extends ResourceLoaderTestCase { - public static $commonImageData = array( + public static $commonImageData = [ 'add' => 'add.gif', - 'remove' => array( + 'remove' => [ 'file' => 'remove.svg', - 'variants' => array( 'destructive' ), - ), - 'next' => array( - 'file' => array( + 'variants' => [ 'destructive' ], + ], + 'next' => [ + 'file' => [ 'ltr' => 'next.svg', 'rtl' => 'prev.svg' - ), - ), - 'help' => array( - 'file' => array( + ], + ], + 'help' => [ + 'file' => [ 'ltr' => 'help-ltr.svg', 'rtl' => 'help-rtl.svg', - 'lang' => array( + 'lang' => [ 'he' => 'help-ltr.svg', - ) - ), - ), - 'bold' => array( - 'file' => array( + ] + ], + ], + 'bold' => [ + 'file' => [ 'default' => 'bold-a.svg', - 'lang' => array( + 'lang' => [ 'en' => 'bold-b.svg', 'ar,de' => 'bold-f.svg', - ) - ), - ) - ); + ] + ], + ] + ]; - public static $commonImageVariants = array( - 'invert' => array( + public static $commonImageVariants = [ + 'invert' => [ 'color' => '#FFFFFF', 'global' => true, - ), - 'primary' => array( + ], + 'primary' => [ 'color' => '#598AD1', - ), - 'constructive' => array( + ], + 'constructive' => [ 'color' => '#00C697', - ), - 'destructive' => array( + ], + 'destructive' => [ 'color' => '#E81915', - ), - ); + ], + ]; public static function providerGetModules() { - return array( - array( - array( + return [ + [ + [ 'class' => 'ResourceLoaderImageModule', 'prefix' => 'oo-ui-icon', 'variants' => self::$commonImageVariants, 'images' => self::$commonImageData, - ), + ], '.oo-ui-icon-add { ... } @@ -95,16 +95,16 @@ class ResourceLoaderImageModuleTest extends ResourceLoaderTestCase { .oo-ui-icon-bold-invert { ... }', - ), - array( - array( + ], + [ + [ 'class' => 'ResourceLoaderImageModule', 'selectorWithoutVariant' => '.mw-ui-icon-{name}:after, .mw-ui-icon-{name}:before', 'selectorWithVariant' => '.mw-ui-icon-{name}-{variant}:after, .mw-ui-icon-{name}-{variant}:before', 'variants' => self::$commonImageVariants, 'images' => self::$commonImageData, - ), + ], '.mw-ui-icon-add:after, .mw-ui-icon-add:before { ... } @@ -138,8 +138,8 @@ class ResourceLoaderImageModuleTest extends ResourceLoaderTestCase { .mw-ui-icon-bold-invert:after, .mw-ui-icon-bold-invert:before { ... }', - ), - ); + ], + ]; } /** @@ -154,6 +154,49 @@ class ResourceLoaderImageModuleTest extends ResourceLoaderTestCase { $styles = $module->getStyles( $this->getResourceLoaderContext() ); $this->assertEquals( $expected, $styles['all'] ); } + + /** + * @covers ResourceLoaderContext::getImageObj + */ + public function testContext() { + $context = new ResourceLoaderContext( new EmptyResourceLoader(), new FauxRequest() ); + $this->assertFalse( $context->getImageObj(), 'Missing image parameter' ); + + $context = new ResourceLoaderContext( new EmptyResourceLoader(), new FauxRequest( [ + 'image' => 'example', + ] ) ); + $this->assertFalse( $context->getImageObj(), 'Missing module parameter' ); + + $context = new ResourceLoaderContext( new EmptyResourceLoader(), new FauxRequest( [ + 'modules' => 'unknown', + 'image' => 'example', + ] ) ); + $this->assertFalse( $context->getImageObj(), 'Not an image module' ); + + $rl = new EmptyResourceLoader(); + $rl->register( 'test', [ + 'class' => ResourceLoaderImageModule::class, + 'prefix' => 'test', + 'images' => [ 'example' => 'example.png' ], + ] ); + $context = new ResourceLoaderContext( $rl, new FauxRequest( [ + 'modules' => 'test', + 'image' => 'unknown', + ] ) ); + $this->assertFalse( $context->getImageObj(), 'Unknown image' ); + + $rl = new EmptyResourceLoader(); + $rl->register( 'test', [ + 'class' => ResourceLoaderImageModule::class, + 'prefix' => 'test', + 'images' => [ 'example' => 'example.png' ], + ] ); + $context = new ResourceLoaderContext( $rl, new FauxRequest( [ + 'modules' => 'test', + 'image' => 'example', + ] ) ); + $this->assertInstanceOf( ResourceLoaderImage::class, $context->getImageObj() ); + } } class ResourceLoaderImageModuleTestable extends ResourceLoaderImageModule { @@ -161,6 +204,6 @@ class ResourceLoaderImageModuleTestable extends ResourceLoaderImageModule { * Replace with a stub to make test cases easier to write. */ protected function getCssDeclarations( $primary, $fallback ) { - return array( '...' ); + return [ '...' ]; } }