This is non-trivial because: - "blockedemailuser" is not a real message, so it can't be passed to StatusValue. For now, use BlockErrorFormatter to obtain a suitable message. In the future, we should simply rely on Authority/PermissionManager to set a message for us, but that's left for another change. - The hooks used here return an error in the format accepted by ErrorPageError. There's no "official" way to do this with StatusValue. This patch uses StatusValue::value as a temporary workaround, but these hooks should be replaced with a new hook that uses StatusValue for errors. As an aside, note that ApiEmailUser passes the return value of getPermissionsError to dieWithError(), which doesn't work in the cases above. This is a pre-existing issue that will be fixed in another patch. Bug: T265541 Change-Id: I84cc521b24adef6406e0378a293438d5cd7db02a |
||
|---|---|---|
| .. | ||
| data | ||
| docs | ||
| includes | ||
| integration/includes | ||
| maintenance | ||
| mocks | ||
| structure | ||
| suites | ||
| tests | ||
| unit | ||
| bootstrap.maintenance.php | ||
| bootstrap.php | ||
| HamcrestPHPUnitIntegration.php | ||
| MediaWikiCliOptions.php | ||
| MediaWikiCoversValidator.php | ||
| MediaWikiGroupValidator.php | ||
| MediaWikiIntegrationTestCase.php | ||
| MediaWikiLangTestCase.php | ||
| MediaWikiLoggerPHPUnitExtension.php | ||
| MediaWikiPHPUnitResultPrinter.php | ||
| MediaWikiTestCaseTrait.php | ||
| MediaWikiUnitTestCase.php | ||
| MWTestDox.php | ||
| phpunit.php | ||
| README.md | ||
| ResourceLoaderTestCase.php | ||
| suite.xml | ||
MediaWiki PHPUnit tests
WARNING: Integration tests may be destructive and alter or remove parts of your local database. We try to use temporary tables where possible, but you must never run tests on a production server or on a wiki where you don't want to lose data.
Running tests
If you haven't already, run composer update (specifically without --no-dev) in the MediaWiki core directory. This will install PHPUnit.
To read about how to run specific tests, refer to:
https://www.mediawiki.org/wiki/Manual:PHP_unit_testing/Running_the_tests
Writing tests
A guide to writing PHPUnit tests for MediaWiki can be found at: