wiki.techinc.nl/tests/phpunit
Timo Tijhof 0be2e83ef4 resourceloader: Restore feedback for SkinModule invalid argument
This was added in 381499a675 in response to the issue that when a skin
adopts a feature that was new in MW 1.36, it caused an exception when
that version of the skin is then installed on MW 1.35. That's expected,
and generally helpful because the default support policy requires
like-for-like (MW 1.35 with REL1_35, this applies to all skins and
extensions, except for a few like Translate and SemanticMediaWiki).

However, while supporting LTS within master is unusual, there are
indeed the Translate/SemanticMediaWiki projects, and this problem has
already been solved years ago there by using a conditional with
$wgVersion. The proposed approach on T271441 actually also involves
such a conditional, but late at runtime instead of in the module
definition. Anyway, the way it was fixed in Timeless already solves
the problem by not passing down the invalid feature in the first
place, thus making the 381499a675 patch obsolete. I'm not aware of
any skin in Gerrit having such a compat policy, but if they exist,
they can fix it the same way, by defining the module in code with
a condition, just as Translate/SemanticMediaWiki do.

Bug: T271441
Change-Id: If97b3d04ac1e3355ee4f229db11e524d24ebd27a
2021-05-14 20:30:15 +00:00
..
data registration: Allow multi-line strings in "@" note keys 2021-04-29 02:47:47 +01:00
docs
includes resourceloader: Restore feedback for SkinModule invalid argument 2021-05-14 20:30:15 +00:00
integration/includes Merge "RevisionDeleter: Use PageIdentity instead of Title" 2021-05-10 13:41:25 +00:00
languages Parser: remove Title from method signatures 2021-04-29 18:11:46 +02:00
maintenance Merge "Add MediaWikiIntegrationTestCase::runJobs() and use it" 2021-05-05 03:15:17 +00:00
mocks Remove unused default values from class properties 2021-05-12 13:44:28 +02:00
structure Replace uses of DB_MASTER with DB_PRIMARY 2021-04-29 09:24:31 -07:00
suites Remove unused default values from class properties 2021-05-12 13:44:28 +02:00
tests
unit Merge "Rewrite UserEditTrackerTest as an integration test" 2021-05-11 19:08:56 +00:00
bootstrap.maintenance.php
bootstrap.php
HamcrestPHPUnitIntegration.php Update Legoktm's email address 2021-05-02 05:39:37 +00:00
LessFileCompilationTest.php
Makefile
MediaWikiCliOptions.php
MediaWikiCoversValidator.php Update Legoktm's email address 2021-05-02 05:39:37 +00:00
MediaWikiGroupValidator.php
MediaWikiHooksPHPUnitExtension.php
MediaWikiIntegrationTestCase.php Remove MediaWikiIntegrationTestCase::formatErrorLevel, private and unused 2021-05-12 21:04:43 +00:00
MediaWikiLangTestCase.php Use @before/@after in MediaWikiIntegrationTestCase/MediaWikiUnitTestCase 2021-04-27 22:21:59 +02:00
MediaWikiLoggerPHPUnitExtension.php
MediaWikiPHPUnitCommand.php
MediaWikiPHPUnitResultPrinter.php
MediaWikiTestCaseTrait.php Give WikiAwareEntityTrait it's own unit tests. 2021-04-27 20:31:14 -07:00
MediaWikiUnitTestCase.php Use @before/@after in MediaWikiIntegrationTestCase/MediaWikiUnitTestCase 2021-04-27 22:21:59 +02:00
phpunit.php rdbms: Move setLBFactoryTriggers from doMaintenance to service wiring 2021-04-27 23:35:20 +01:00
README
ResourceLoaderTestCase.php resourceloader: Fix reliance on global state in SkinModule 2021-05-14 20:29:53 +00:00
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