From 0e05ec5b31d444d52db5822313448885d5dd6268 Mon Sep 17 00:00:00 2001 From: Kunal Mehta Date: Thu, 18 Dec 2014 16:52:28 -0800 Subject: [PATCH] Don't create Language objects during ResourceLoader tests Mock calls to ResourceLoaderContext::getDirection(), which creates Language objects to get the directionality of a language. Change-Id: Ibe6da3013e658aa7cf596c1da2f8ca1314b7cdd3 --- tests/phpunit/LessFileCompilationTest.php | 2 +- tests/phpunit/ResourceLoaderTestCase.php | 16 ++++++++++++++-- .../ResourceLoaderFileModuleTest.php | 3 +-- .../resourceloader/ResourceLoaderModuleTest.php | 2 +- .../ResourceLoaderStartupModuleTest.php | 6 +++--- .../resourceloader/ResourceLoaderTest.php | 6 +++--- 6 files changed, 23 insertions(+), 12 deletions(-) diff --git a/tests/phpunit/LessFileCompilationTest.php b/tests/phpunit/LessFileCompilationTest.php index 71e0f4b2c6..df4690a4f6 100644 --- a/tests/phpunit/LessFileCompilationTest.php +++ b/tests/phpunit/LessFileCompilationTest.php @@ -38,7 +38,7 @@ class LessFileCompilationTest extends ResourceLoaderTestCase { "$thisString must refer to a readable file" ); - $rlContext = static::getResourceLoaderContext(); + $rlContext = $this->getResourceLoaderContext(); // Bleh $method = new ReflectionMethod( $this->module, 'getLessCompiler' ); diff --git a/tests/phpunit/ResourceLoaderTestCase.php b/tests/phpunit/ResourceLoaderTestCase.php index f5f302e0c3..055beb018c 100644 --- a/tests/phpunit/ResourceLoaderTestCase.php +++ b/tests/phpunit/ResourceLoaderTestCase.php @@ -1,7 +1,12 @@ $lang, @@ -10,7 +15,14 @@ abstract class ResourceLoaderTestCase extends MediaWikiTestCase { 'skin' => 'vector', 'target' => 'test', ) ); - return new ResourceLoaderContext( $resourceLoader, $request ); + $ctx = $this->getMockBuilder( 'ResourceLoaderContext' ) + ->setConstructorArgs( array( $resourceLoader, $request ) ) + ->setMethods( array( 'getDirection' ) ) + ->getMock(); + $ctx->expects( $this->any() )->method( 'getDirection' )->will( + $this->returnValue( $dir ) + ); + return $ctx; } protected function setUp() { diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php index 95da8473d3..9afc54d6cb 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderFileModuleTest.php @@ -148,8 +148,7 @@ class ResourceLoaderFileModuleTest extends ResourceLoaderTestCase { */ public function testGetModifiedTime( $module, $expected ) { $rl = new ResourceLoaderFileModule( $module ); - $ts = $rl->getModifiedTime( new ResourceLoaderContext( - new ResourceLoader, new FauxRequest() ) ); + $ts = $rl->getModifiedTime( $this->getResourceLoaderContext() ); $this->assertEquals( $ts, $expected ); } } diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php index b25e9b061a..6d1ed4e05d 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderModuleTest.php @@ -7,7 +7,7 @@ class ResourceLoaderModuleTest extends ResourceLoaderTestCase { * @covers ResourceLoaderFileModule::getDefinitionSummary */ public function testDefinitionSummary() { - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $baseParams = array( 'scripts' => array( 'foo.js', 'bar.js' ), diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php index 3fddc1edc1..69854d5b84 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderStartupModuleTest.php @@ -300,7 +300,7 @@ mw.loader.addSource( { $this->setMwGlobals( 'wgResourceLoaderSources', $case['sources'] ); } - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $rl = $context->getResourceLoader(); $rl->register( $case['modules'] ); @@ -337,7 +337,7 @@ mw.loader.addSource( { public function testRegistrationsMinified( $modules ) { $this->setMwGlobals( 'wgResourceLoaderDebug', false ); - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $rl = $context->getResourceLoader(); $rl->register( $modules ); $module = new ResourceLoaderStartUpModule(); @@ -357,7 +357,7 @@ mw.loader.addSource( { * @dataProvider provideRegistrations */ public function testRegistrationsUnminified( $modules ) { - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $rl = $context->getResourceLoader(); $rl->register( $modules ); $module = new ResourceLoaderStartUpModule(); diff --git a/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php b/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php index 5cdfa77d04..4fc7378a8a 100644 --- a/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php +++ b/tests/phpunit/includes/resourceloader/ResourceLoaderTest.php @@ -79,7 +79,7 @@ class ResourceLoaderTest extends ResourceLoaderTestCase { * @covers ResourceLoaderFileModule::compileLessFile */ public function testLessFileCompilation() { - $context = self::getResourceLoaderContext(); + $context = $this->getResourceLoaderContext(); $basePath = __DIR__ . '/../../data/less/module'; $module = new ResourceLoaderFileModule( array( 'localBasePath' => $basePath, @@ -113,8 +113,8 @@ class ResourceLoaderTest extends ResourceLoaderTestCase { 'styles' => array( 'expected.css' ), ) ); - $contextLtr = self::getResourceLoaderContext( 'en' ); - $contextRtl = self::getResourceLoaderContext( 'he' ); + $contextLtr = $this->getResourceLoaderContext( 'en', 'ltr' ); + $contextRtl = $this->getResourceLoaderContext( 'he', 'rtl' ); // Since we want to compare the effect of @noflip+@embed against the effect of just @embed, and // the @noflip annotations are always preserved, we need to strip them first. -- 2.20.1