From 84074e856dc762b041d9fe412ae3bfaaeafe176b Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Wed, 21 Jun 2017 20:37:44 +0100 Subject: [PATCH] resourceloader: Add unit tests for ResourceLoader::isFileModule Change-Id: Ic21ae9e9cc418868ad7b93fe65bd09495f38d1b2 --- .../resourceloader/ResourceLoaderTest.php | 52 +++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php index 0833047a0c..79d0784c27 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php @@ -113,6 +113,58 @@ class ResourceLoaderTest extends ResourceLoaderTestCase { ); } + public function provideTestIsFileModule() { + $fileModuleObj = $this->getMockBuilder( ResourceLoaderFileModule::class ) + ->disableOriginalConstructor() + ->getMock(); + return [ + 'object' => [ false, + new ResourceLoaderTestModule() + ], + 'FileModule object' => [ false, + $fileModuleObj + ], + 'simple empty' => [ true, + [] + ], + 'simple scripts' => [ true, + [ 'scripts' => 'example.js' ] + ], + 'simple scripts, raw and targets' => [ true, [ + 'scripts' => [ 'a.js', 'b.js' ], + 'raw' => true, + 'targets' => [ 'desktop', 'mobile' ], + ] ], + 'FileModule' => [ true, + [ 'class' => ResourceLoaderFileModule::class, 'scripts' => 'example.js' ] + ], + 'TestModule' => [ false, + [ 'class' => ResourceLoaderTestModule::class, 'scripts' => 'example.js' ] + ], + 'SkinModule (FileModule subclass)' => [ true, + [ 'class' => ResourceLoaderSkinModule::class, 'scripts' => 'example.js' ] + ], + 'JqueryMsgModule (FileModule subclass)' => [ true, [ + 'class' => ResourceLoaderJqueryMsgModule::class, + 'scripts' => 'example.js', + ] ], + 'WikiModule' => [ false, [ + 'class' => ResourceLoaderWikiModule::class, + 'scripts' => [ 'MediaWiki:Example.js' ], + ] ], + ]; + } + + /** + * @dataProvider provideTestIsFileModule + * @covers ResourceLoader::isFileModule + */ + public function testIsFileModule( $expected, $module ) { + $rl = TestingAccessWrapper::newFromObject( new EmptyResourceLoader() ); + $rl->register( 'test', $module ); + $this->assertSame( $expected, $rl->isFileModule( 'test' ) ); + } + /** * @covers ResourceLoader::isModuleRegistered */ -- 2.20.1