wiki.techinc.nl/tests/phpunit/ResourceLoaderTestCase.php
Kunal Mehta 1e301b1550 Add tests for OutputPage::makeResourceLoaderLink()
Change-Id: I22dc7fd1003f07ab0be61bb4645b45a9db9f2548
2014-07-05 04:25:58 -07:00

83 lines
1.9 KiB
PHP

<?php
abstract class ResourceLoaderTestCase extends MediaWikiTestCase {
protected static function getResourceLoaderContext() {
$resourceLoader = new ResourceLoader();
$request = new FauxRequest( array(
'lang' => 'en',
'modules' => 'startup',
'only' => 'scripts',
'skin' => 'vector',
'target' => 'test',
) );
return new ResourceLoaderContext( $resourceLoader, $request );
}
protected function setUp() {
parent::setUp();
ResourceLoader::clearCache();
$this->setMwGlobals( array(
// For ResourceLoader::inDebugMode since it doesn't have context
'wgResourceLoaderDebug' => true,
// Avoid influence from wgInvalidateCacheOnLocalSettingsChange
'wgCacheEpoch' => '20140101000000',
// For ResourceLoader::__construct()
'wgResourceLoaderSources' => array(),
// For wfScript()
'wgScriptPath' => '/w',
'wgScriptExtension' => '.php',
'wgScript' => '/w/index.php',
'wgLoadScript' => '/w/load.php',
) );
}
}
/* Stubs */
class ResourceLoaderTestModule extends ResourceLoaderModule {
protected $dependencies = array();
protected $group = null;
protected $source = 'local';
protected $script = '';
protected $styles = '';
protected $skipFunction = null;
protected $targets = array( 'test' );
public function __construct( $options = array() ) {
foreach ( $options as $key => $value ) {
$this->$key = $value;
}
}
public function getScript( ResourceLoaderContext $context ) {
return $this->script;
}
public function getStyles( ResourceLoaderContext $context ) {
return array( '' => $this->styles );
}
public function getDependencies() {
return $this->dependencies;
}
public function getGroup() {
return $this->group;
}
public function getSource() {
return $this->source;
}
public function getSkipFunction() {
return $this->skipFunction;
}
}
class ResourceLoaderFileModuleTestModule extends ResourceLoaderFileModule {
}