ResourceLoaderFileModule::readStyleFile() both reads a style file from disk and processes it through LESS, CSSJanus and CSSMin. Factor out the processing part into ResourceLoaderFileModule::processStyle(), which takes a string of unprocessed CSS/LESS rather than a file. This is needed for future support for styles that don't come (directly) from a file, but are generated through packageFiles. Other changes: - Use a hash of the source instead of the file name in the cache keys for the LESS compilation output - Also prefix the cache key with 'resourceloader' while we're changing it anyway - LESS compilation no longer adds the source file itself as a dependency - Don't pass down $flip, just use $this>getFlip() Change-Id: I86e880d06af724f0fbae93e042c85e0395771912 |
||
|---|---|---|
| .. | ||
| data | ||
| docs | ||
| documentation | ||
| includes | ||
| integration/includes | ||
| languages | ||
| maintenance | ||
| mocks | ||
| skins | ||
| structure | ||
| suites | ||
| tests | ||
| unit | ||
| bootstrap.maintenance.php | ||
| bootstrap.php | ||
| HamcrestPHPUnitIntegration.php | ||
| LessFileCompilationTest.php | ||
| Makefile | ||
| MediaWikiCliOptions.php | ||
| MediaWikiCoversValidator.php | ||
| MediaWikiGroupValidator.php | ||
| MediaWikiIntegrationTestCase.php | ||
| MediaWikiLangTestCase.php | ||
| MediaWikiLoggerPHPUnitTestListener.php | ||
| MediaWikiPHPUnitCommand.php | ||
| MediaWikiPHPUnitResultPrinter.php | ||
| MediaWikiPHPUnitTestListener.php | ||
| MediaWikiTestCaseTrait.php | ||
| MediaWikiUnitTestCase.php | ||
| phpunit.php | ||
| PHPUnit4And6Compat.php | ||
| PHPUnit6And8Compat.php | ||
| README | ||
| ResourceLoaderTestCase.php | ||
| run-tests.bat | ||
| suite.xml | ||
== MediaWiki PHPUnit Tests == The unit and integration tests for MediaWiki are implemented using the PHPUnit testing framework and require PHPUnit to run. === WARNING === Some of the integration tests are DESTRUCTIVE and WILL ALTER YOUR WIKI'S CONTENTS. DO NOT RUN THESE TESTS ON A PRODUCTION SYSTEM OR ON ANY SYSTEM WHERE YOU NEED TO RETAIN YOUR DATA. == Installation == If you used composer to install MediaWiki's dependencies PHPUnit will already be available, unless you explicitly specified the --no-dev flag during the install. In this case just run "composer update". Otherwise follow the installation instructions in the PHPUnit Manual at: https://phpunit.de/manual/current/en/installation.html == Running tests == The tests are run from your operating system's command line. Ensure that you are in the tests/phpunit directory of your MediaWiki installation. On Unix-like operating systems, the tests runs are controlled with a makefile. Run command: make help for a full list of options for running tests. On Windows-family operating systems, run the 'run-tests.bat' batch file. === Writing tests === A guide to writing PHP unit tests for MediaWiki can be found at: https://www.mediawiki.org/wiki/Manual:PHP_unit_testing