Why: * Special:DeletedContributions is built entirely separately from Special:Contributions and lacks many of the features that Special:Contributions has, such as search form filters. * As part of the temporary accounts project, a special page showing deleted contributions for temporary accounts was added via the CheckUser extension (T363362), which has feature parity with Special:Contributions. This was achieved by factoring out abstract base classes for contributions pages. * SpecialDeletedContributions should be updated to make use of this shared functionality, to avoid confusion for users switching between these various pages. What: * Update SpecialDeletedContributions to extend ContributionsSpecialPage. * Update ContributionsSpecialPage::getUserLinks to be a protected instance method instead of a public static method. This can just be done, since it was only made public to be called from SpecialDeletedContributions, and there are no other callers. * Build a link to Special:Contributions instead of Special:DeletedContributions from SpecialDeletedContributions by overriding ::getUserLinks. Bug: T370438 Change-Id: Ica817be5c5e078b88c9b3157b54d0dbf997e8893 |
||
|---|---|---|
| .. | ||
| data | ||
| docs | ||
| includes | ||
| integration/includes | ||
| maintenance | ||
| mocks | ||
| structure | ||
| suites | ||
| tests | ||
| unit | ||
| bootstrap.common.php | ||
| bootstrap.integration.php | ||
| bootstrap.maintenance.php | ||
| bootstrap.php | ||
| DynamicPropertyTestHelper.php | ||
| getPHPUnitExtensionsAndSkins.php | ||
| HamcrestPHPUnitIntegration.php | ||
| MediaWikiCoversValidator.php | ||
| MediaWikiDeprecatedConfigPHPUnitExtension.php | ||
| MediaWikiGroupValidator.php | ||
| MediaWikiIntegrationTestCase.php | ||
| MediaWikiLangTestCase.php | ||
| MediaWikiLoggerPHPUnitExtension.php | ||
| MediaWikiPHPUnitResultPrinter.php | ||
| MediaWikiTeardownPHPUnitExtension.php | ||
| MediaWikiTestCaseTrait.php | ||
| MediaWikiUnitTestCase.php | ||
| MWTestDox.php | ||
| phpunit.php | ||
| README.md | ||
| ResourceLoaderTestCase.php | ||
| suite.xml | ||
| TestSelectQueryBuilder.php | ||
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: