wiki.techinc.nl/tests/phpunit
C. Scott Ananian 183a6da420 Add ParserOutput::getLanguage()
Provide a way for backend code to determine the primary language of a
ParserOutput, eg for setting the Content-Language header of an API
response.

This is read-only and backed by extension data at the moment for
transition purposes; if this API sticks we'll graduate it to a
"real" property in the future, with appropriate serialization
to/from JSON (T303329).

Similarly, this patch only includes the most basic code to handle
the various ParserOutput merge cases in
ParserOutput::merge{Internal,Html,Tracking}MetaDataFrom(),
ParserOutput::collectMetadata(), and
OutputPage::addParserOutput{Content,Metadata,Text,}(); mostly
inherited from the fact that the storage is backed by extension
data at the moment.

Generally only the "top-level" parser output gets to set the
primary language; we'll presumably need to ensure that the
language is consistent during merge.

Change-Id: I767daba22805a877d9b806fd77334e508902844b
2023-03-10 18:42:29 -05:00
..
data Merge "Drop 1.34 db updates" 2023-02-15 12:51:34 +00:00
docs
includes Add ParserOutput::getLanguage() 2023-03-10 18:42:29 -05:00
integration/includes Reorg: Namespace the Title class 2023-03-02 08:46:53 -05:00
maintenance Reorg: Namespace the Title class 2023-03-02 08:46:53 -05:00
mocks Reorg: Namespace the Title class 2023-03-02 08:46:53 -05:00
structure Merge "Reorg: Namespace the Title class" 2023-03-02 18:40:46 +00:00
suites Followup to 02d13afa: Respect parsoid-compatible options in CLI runs 2022-10-25 17:05:22 -05:00
tests Reorg: Namespace the Title class 2023-03-02 08:46:53 -05:00
unit Merge "Stats: add copy to statsd feature" 2023-03-10 21:48:18 +00:00
bootstrap.maintenance.php
bootstrap.php profiler: Inject $wgProfiler from Setup.php to Profiler 2022-11-09 02:58:19 +00:00
HamcrestPHPUnitIntegration.php
LessFileCompilationTest.php
MediaWikiCliOptions.php
MediaWikiCoversValidator.php
MediaWikiGroupValidator.php
MediaWikiIntegrationTestCase.php Treat $wgHooks as a regular setting 2023-03-09 10:20:44 +01:00
MediaWikiLangTestCase.php
MediaWikiLoggerPHPUnitExtension.php phpunit: Add PHPUNIT_LOGS flag 2023-02-08 22:15:32 -08:00
MediaWikiPHPUnitResultPrinter.php
MediaWikiTestCaseTrait.php tests: Replace checkPHPExtension() with @requires annotations 2022-10-23 20:47:14 -04:00
MediaWikiUnitTestCase.php AutoLoader: Drop support for $wgAutoloadAttemptLowercase 2022-12-04 02:38:57 -05:00
MWTestDox.php
phpunit.php
README.md
ResourceLoaderTestCase.php tests: Handle dynamic created properties on test classes 2023-01-13 21:03:42 +00:00
suite.xml tests: Move all language converter tests into /includes/ 2023-02-01 20:10:56 +01:00

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:

https://www.mediawiki.org/wiki/Manual:PHP_unit_testing