Merge "Remove deprecated ParserOutput::legacyOptions"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 12 Mar 2019 08:35:09 +0000 (08:35 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 12 Mar 2019 08:35:09 +0000 (08:35 +0000)
docs/hooks.txt
includes/content/ContentHandler.php
tests/phpunit/includes/content/ContentHandlerTest.php

index ae4a4dc..9e6ed10 100644 (file)
@@ -2431,10 +2431,12 @@ $flags: Flags passed to WikiPage::doEditContent()
 $revision: New Revision of the article
 
 'PageContentLanguage': Allows changing the language in which the content of a
-page is written. Defaults to the wiki content language ($wgContLang).
+page is written. Defaults to the wiki content language.
 $title: Title object
-&$pageLang: the page content language (either an object or a language code)
-$wgLang: the user language
+&$pageLang: the page content language. Input can be anything (under control of
+  hook subscribers), but hooks should return Language objects. Language code
+  strings are deprecated.
+$userLang: the user language (Language or StubUserLang object)
 
 'PageContentSave': Before an article is saved.
 $wikiPage: the WikiPage (object) being saved
index 49e3132..decbb0c 100644 (file)
@@ -667,7 +667,7 @@ abstract class ContentHandler {
         * This default implementation just returns the content language (except for pages
         * in the MediaWiki namespace)
         *
-        * Note that the pages language is not cacheable, since it may in some
+        * Note that the page's language is not cacheable, since it may in some
         * cases depend on user settings.
         *
         * Also note that the page language may or may not depend on the actual content of the page,
@@ -684,7 +684,7 @@ abstract class ContentHandler {
                global $wgLang;
                $pageLang = MediaWikiServices::getInstance()->getContentLanguage();
 
-               if ( $title->getNamespace() == NS_MEDIAWIKI ) {
+               if ( $title->inNamespace( NS_MEDIAWIKI ) ) {
                        // Parse mediawiki messages with correct target language
                        list( /* $unused */, $lang ) = MessageCache::singleton()->figureMessage( $title->getText() );
                        $pageLang = Language::factory( $lang );
index a8ea3f0..f42f8b4 100644 (file)
@@ -158,6 +158,7 @@ class ContentHandlerTest extends MediaWikiTestCase {
                $handler = ContentHandler::getForTitle( $title );
                $lang = $handler->getPageLanguage( $title );
 
+               $this->assertInstanceOf( Language::class, $lang );
                $this->assertEquals( $expected->getCode(), $lang->getCode() );
        }