summaryrefslogtreecommitdiff
path: root/maintenance/checkLess.php
diff options
context:
space:
mode:
Diffstat (limited to 'maintenance/checkLess.php')
-rw-r--r--maintenance/checkLess.php48
1 files changed, 16 insertions, 32 deletions
diff --git a/maintenance/checkLess.php b/maintenance/checkLess.php
index d02d8a7b..b97e1b0b 100644
--- a/maintenance/checkLess.php
+++ b/maintenance/checkLess.php
@@ -22,49 +22,33 @@
*/
require_once __DIR__ . '/Maintenance.php';
+require_once 'PHPUnit/Autoload.php';
/**
* @ingroup Maintenance
*/
class CheckLess extends Maintenance {
+
public function __construct() {
parent::__construct();
- $this->mDescription = 'Checks LESS files for errors';
+ $this->mDescription =
+ 'Checks LESS files for errors by running the LessTestSuite PHPUnit test suite';
}
public function execute() {
- $result = false;
- $resourceLoader = new ResourceLoader();
- foreach ( $resourceLoader->getModuleNames() as $name ) {
- /** @var ResourceLoaderFileModule $module */
- $module = $resourceLoader->getModule( $name );
- if ( !$module || !$module instanceof ResourceLoaderFileModule ) {
- continue;
- }
+ global $IP;
+
+ // NOTE (phuedx, 2014-03-26) wgAutoloadClasses isn't set up
+ // by either of the dependencies at the top of the file, so
+ // require it here.
+ require_once __DIR__ . '/../tests/TestsAutoLoader.php';
- $hadErrors = false;
- foreach ( $module->getAllStyleFiles() as $file ) {
- if ( $module->getStyleSheetLang( $file ) !== 'less' ) {
- continue;
- }
- try {
- $compiler = ResourceLoader::getLessCompiler();
- $compiler->compileFile( $file );
- } catch ( Exception $e ) {
- if ( !$hadErrors ) {
- $this->error( "Errors checking module $name:\n" );
- $hadErrors = true;
- }
- $this->error( $e->getMessage() . "\n" );
- $result = true;
- }
- }
- }
- if ( !$result ) {
- $this->output( "No errors found\n" );
- } else {
- die( 1 );
- }
+ $textUICommand = new PHPUnit_TextUI_Command();
+ $argv = array(
+ "$IP/tests/phpunit/phpunit.php",
+ "$IP/tests/phpunit/suites/LessTestSuite.php"
+ );
+ $textUICommand->run( $argv );
}
}