parent::setUp();
$this->setMwGlobals( [
- 'wgResourceLoaderLESSImportPaths' => [
- dirname( dirname( __DIR__ ) ) . '/data/less/common',
- ],
+ 'wgResourceLoaderLESSImportPaths' => [],
'wgResourceLoaderLESSVars' => [
'foo' => '2px',
'Foo' => '#eeeeee',
$resourceLoader->register( 'test', new stdClass() );
}
+ /**
+ * @covers ResourceLoader::register
+ */
+ public function testRegisterDuplicate() {
+ $logger = $this->getMockBuilder( Psr\Log\LoggerInterface::class )->getMock();
+ $logger->expects( $this->once() )
+ ->method( 'warning' );
+ $resourceLoader = new EmptyResourceLoader( null, $logger );
+
+ $module1 = new ResourceLoaderTestModule();
+ $module2 = new ResourceLoaderTestModule();
+ $resourceLoader->register( 'test', $module1 );
+ $resourceLoader->register( 'test', $module2 );
+ $this->assertSame( $module2, $resourceLoader->getModule( 'test' ) );
+ }
+
/**
* @covers ResourceLoader::getModuleNames
*/
$this->assertStringEqualsFile( $basePath . '/styles.css', $styles['all'] );
}
+ /**
+ * @covers ResourceLoader::getLessCompiler
+ */
+ public function testLessImportDirs() {
+ $rl = new EmptyResourceLoader();
+ $lc = $rl->getLessCompiler();
+ $basePath = dirname( dirname( __DIR__ ) ) . '/data/less';
+ $lc->SetImportDirs( [
+ "$basePath/common" => '',
+ ] );
+ $css = $lc->parseFile( "$basePath/module/use-import-dir.less" )->getCss();
+ $this->assertStringEqualsFile( "$basePath/module/styles.css", $css );
+ }
+
public static function providePackedModules() {
return [
[