Merge "resourceloader: Add test case for ResourceLoader::getLessCompiler"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sun, 20 May 2018 08:50:48 +0000 (08:50 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sun, 20 May 2018 08:50:48 +0000 (08:50 +0000)
tests/phpunit/data/less/module/dependency.less
tests/phpunit/data/less/module/use-import-dir.less [new file with mode: 0644]
tests/phpunit/includes/resourceloader/ResourceLoaderTest.php

index c7725a2..110e00b 100644 (file)
@@ -1,3 +1,3 @@
-@import "test.common.mixins";
+@import "../common/test.common.mixins";
 
 @unitTestColor: green;
diff --git a/tests/phpunit/data/less/module/use-import-dir.less b/tests/phpunit/data/less/module/use-import-dir.less
new file mode 100644 (file)
index 0000000..4710bc6
--- /dev/null
@@ -0,0 +1,6 @@
+@import "test.common.mixins";
+
+/* @noflip */
+.unit-tests {
+       .test-mixin(green);
+}
index e811d87..95006aa 100644 (file)
@@ -8,9 +8,7 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
                parent::setUp();
 
                $this->setMwGlobals( [
-                       'wgResourceLoaderLESSImportPaths' => [
-                               dirname( dirname( __DIR__ ) ) . '/data/less/common',
-                       ],
+                       'wgResourceLoaderLESSImportPaths' => [],
                        'wgResourceLoaderLESSVars' => [
                                'foo'  => '2px',
                                'Foo' => '#eeeeee',
@@ -264,6 +262,20 @@ class ResourceLoaderTest extends ResourceLoaderTestCase {
                $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 [
                        [