"$thisString must refer to a readable file"
);
- $rlContext = static::getResourceLoaderContext();
+ $rlContext = $this->getResourceLoaderContext();
// Bleh
$method = new ReflectionMethod( $this->module, 'getLessCompiler' );
<?php
abstract class ResourceLoaderTestCase extends MediaWikiTestCase {
- protected static function getResourceLoaderContext( $lang = 'en' ) {
+ /**
+ * @param string $lang
+ * @param string $dir
+ * @return ResourceLoaderContext
+ */
+ protected function getResourceLoaderContext( $lang = 'en', $dir = 'ltr' ) {
$resourceLoader = new ResourceLoader();
$request = new FauxRequest( array(
'lang' => $lang,
'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() {
*/
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 );
}
}
* @covers ResourceLoaderFileModule::getDefinitionSummary
*/
public function testDefinitionSummary() {
- $context = self::getResourceLoaderContext();
+ $context = $this->getResourceLoaderContext();
$baseParams = array(
'scripts' => array( 'foo.js', 'bar.js' ),
$this->setMwGlobals( 'wgResourceLoaderSources', $case['sources'] );
}
- $context = self::getResourceLoaderContext();
+ $context = $this->getResourceLoaderContext();
$rl = $context->getResourceLoader();
$rl->register( $case['modules'] );
public function testRegistrationsMinified( $modules ) {
$this->setMwGlobals( 'wgResourceLoaderDebug', false );
- $context = self::getResourceLoaderContext();
+ $context = $this->getResourceLoaderContext();
$rl = $context->getResourceLoader();
$rl->register( $modules );
$module = new ResourceLoaderStartUpModule();
* @dataProvider provideRegistrations
*/
public function testRegistrationsUnminified( $modules ) {
- $context = self::getResourceLoaderContext();
+ $context = $this->getResourceLoaderContext();
$rl = $context->getResourceLoader();
$rl->register( $modules );
$module = new ResourceLoaderStartUpModule();
* @covers ResourceLoaderFileModule::compileLessFile
*/
public function testLessFileCompilation() {
- $context = self::getResourceLoaderContext();
+ $context = $this->getResourceLoaderContext();
$basePath = __DIR__ . '/../../data/less/module';
$module = new ResourceLoaderFileModule( array(
'localBasePath' => $basePath,
'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.