wiki.techinc.nl/tests/parser
Ebrahim Byagowi e1385d3bdf Add {{#dir}} parser function
Template:Dir is one of the most used templates in Wikimedia Commons,
this tries to provide parts of its functionality in hope we can
perhaps simplify or get rid of the template eventually for clarity and
performance reasons.

As a convenience, `{{#dir}}` and `{{#dir:}}` are synonyms for
`{{#dir:{{PAGELANGUAGE}}}}`: they return the direction of the target
language.  For articles, the target language is the content language;
for messages, the target language is the user language.

In addition, to avoid confusion between BCP-47 language codes and
MediaWiki-internal language codes, an optional second parameter can be
supplied.  If the second parameter is the (localizable) string
'bcp47', the language code given in the first parameter will be
treated as a BCP-47 code.  For example: `{{#dir:sr-Cyrl|bcp47}}`.

(See LanguageCode::bcp47ToInternal() for a description of the
differences and overlaps between MediaWiki internal and BCP-47
codes.  These overlaps *so far* don't result in any case where
encouraging editors to be precise about which set of enumerated
string values they are using for consistency with other
language-related functions, and because MediaWiki internally
differentiates between BCP-47 codes and internal codes.)

Bug: T359761
Change-Id: I19c3e91a924e080f37dc95a0d4e61493583b533e
2024-07-19 16:57:48 -04:00
..
AnsiTermColorer.php Pass <Test,TestMode> as argument pair, deprecate old TestFileReader 2022-06-03 17:15:38 -04:00
badCharacters.txt Sync up core repo with Parsoid 2022-10-19 19:13:04 -05:00
comments.txt Sync up core repo with Parsoid 2022-10-19 19:13:04 -05:00
DbTestPreviewer.php Improve type documentation in parser test runner classes 2024-01-20 20:24:35 +01:00
DbTestRecorder.php tests: Migrate to IDatabase::newInsertQueryBuilder 2024-04-14 21:56:07 +02:00
definitionLists.txt Update name & email for bvibber 2024-02-08 17:02:16 -08:00
DjVuSupport.php Drop $wgDjvuToXML 2021-09-10 23:40:31 +02:00
DummyTermColorer.php maintenance: Move MWTerm classes to /tests/parser/ 2022-03-24 21:01:14 +00:00
editTests.php Make Maintenance::finalSetup require a SettingsBuilder 2024-01-08 09:40:18 -05:00
extLinks.txt Move Linker::makeExternalLink() to the LinkRenderer service 2024-06-10 18:47:32 +00:00
fuzzTest.php build: Upgrade mediawiki/mediawiki-phan-config from 0.13.0 to 0.14.0 manually 2024-02-10 02:22:41 +00:00
headings.txt Sync up core repo with Parsoid 2024-06-27 11:09:10 -04:00
indentPre.txt Sync up core repo with Parsoid 2024-04-11 12:59:32 -04:00
indicators.txt Sync up core repo with Parsoid 2024-06-07 09:06:26 +02:00
interlanguageLinks.txt ParserTestRunner: handle metadata output as separate section 2023-02-28 17:26:08 -05:00
interwikiLinks.txt Sync up core repo with Parsoid 2024-02-21 15:04:08 -05:00
langParserTests.txt Sync up core repo with Parsoid 2024-06-27 11:09:10 -04:00
legacyHeadings.txt Merge "Parser: Avoid extra escaping in replaceTableOfContentsMarker" 2024-06-12 19:51:18 +00:00
legacyMedia.txt Remove image and gallery image caption trimming 2024-06-26 21:51:40 -04:00
magicLinks.txt Sync up core repo with Parsoid 2023-01-06 08:29:04 -06:00
magicWords.txt Sync up core repo with Parsoid 2024-07-10 14:41:17 -04:00
media.txt Remove image and gallery image caption trimming 2024-06-26 21:51:40 -04:00
MultiTestRecorder.php tests/parser/TestMode: move parser test helper class to parsoid library 2022-08-16 16:26:25 -04:00
ParserTestMockParser.php Move Parser to Mediawiki\Parser namespace 2024-02-16 09:18:38 -05:00
ParserTestParserHook.php [tests] Remove use of dynamic property Parser::$static_tag_buf 2024-02-22 16:02:19 -05:00
ParserTestPrinter.php Namespace Sanitizer under \MediaWiki\Parser 2023-09-21 05:39:23 +00:00
ParserTestResult.php Remove comment from parser test result description 2022-08-30 19:42:35 -04:00
ParserTestResultNormalizer.php Improve type documentation in parser test runner classes 2024-01-20 20:24:35 +01:00
ParserTestRunner.php Add namespace and deprecation alias to FileBackend 2024-05-19 22:35:58 +03:30
parserTests.php Replace last remaining wfGetDB() calls in core, except ResourceLoader 2024-02-14 11:02:01 -05:00
parserTests.txt Add {{#dir}} parser function 2024-07-19 16:57:48 -04:00
pfeqParserTests.txt Add {{=}} as a built-in magic word 2022-05-20 13:08:20 -04:00
PhpunitTestRecorder.php tests/parser/TestMode: move parser test helper class to parsoid library 2022-08-16 16:26:25 -04:00
preprocessor.txt Move section edit links outside headings (new heading HTML) 2024-05-06 12:25:33 -04:00
preTags.txt Sync up core repo with Parsoid 2024-04-11 12:59:32 -04:00
pst.txt parser: Fix detection of variable with whitespace after subst: 2023-10-01 18:30:15 +00:00
pWrapping.txt Sync up core repo with Parsoid 2022-10-19 19:13:04 -05:00
quotes.txt Sync up core repo with Parsoid 2023-01-06 08:29:04 -06:00
README Avoid mentioning tests/phpunit.php in documentation 2023-07-02 17:35:17 +02:00
redirects.txt Sync up core repo with Parsoid 2023-07-03 11:49:21 -04:00
tables.txt Sync up core repo with Parsoid 2024-06-07 09:06:26 +02:00
TestFileEditor.php Improve type documentation in parser test runner classes 2024-01-20 20:24:35 +01:00
TestRecorder.php Fix some typos 2023-03-21 15:58:09 +01:00
wtEscaping.txt Update expected test output after i18n change 2024-07-10 11:38:39 +02:00

Parser tests can be run either via PHPUnit or by using the standalone
parserTests.php in this directory. The standalone version provides more
options.

To run parser tests via PHPUnit:

 $ composer phpunit -- --testsuite parsertests

You can optionally filter by title using --filter, e.g.

 composer phpunit -- --testsuite parsertests --filter="T6400"