]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blobdiff - tests/phpunit/LessFileCompilationTest.php
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / tests / phpunit / LessFileCompilationTest.php
diff --git a/tests/phpunit/LessFileCompilationTest.php b/tests/phpunit/LessFileCompilationTest.php
new file mode 100644 (file)
index 0000000..5e1f1a9
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+
+/**
+ * Modelled on Sebastian Bergmann's PHPUnit_Extensions_PhptTestCase class.
+ *
+ * @see https://github.com/sebastianbergmann/phpunit/blob/master/src/Extensions/PhptTestCase.php
+ * @author Sam Smith <samsmith@wikimedia.org>
+ */
+class LessFileCompilationTest extends ResourceLoaderTestCase {
+
+       /**
+        * @var string $file
+        */
+       protected $file;
+
+       /**
+        * @var ResourceLoaderModule The ResourceLoader module that contains
+        *   the file
+        */
+       protected $module;
+
+       /**
+        * @param string $file
+        * @param ResourceLoaderModule $module The ResourceLoader module that
+        *   contains the file
+        */
+       public function __construct( $file, ResourceLoaderModule $module ) {
+               parent::__construct( 'testLessFileCompilation' );
+
+               $this->file = $file;
+               $this->module = $module;
+       }
+
+       public function testLessFileCompilation() {
+               $thisString = $this->toString();
+               $this->assertTrue(
+                       is_string( $this->file ) && is_file( $this->file ) && is_readable( $this->file ),
+                       "$thisString must refer to a readable file"
+               );
+
+               $rlContext = $this->getResourceLoaderContext();
+
+               // Bleh
+               $method = new ReflectionMethod( $this->module, 'compileLessFile' );
+               $method->setAccessible( true );
+               $this->assertNotNull( $method->invoke( $this->module, $this->file, $rlContext ) );
+       }
+
+       public function toString() {
+               $moduleName = $this->module->getName();
+
+               return "{$this->file} in the \"{$moduleName}\" module";
+       }
+}