Thiemo Mättig (WMDE) has uploaded a new change for review. https://gerrit.wikimedia.org/r/165440
Change subject: Workaround for invalid ParserAfterParse hook call ...................................................................... Workaround for invalid ParserAfterParse hook call Bug: 71772 Change-Id: I70a9542a0f2c25139e4d7d464c93228f27157974 --- M client/includes/hooks/SidebarHookHandlers.php M client/tests/phpunit/includes/hooks/SidebarHookHandlersTest.php 2 files changed, 20 insertions(+), 9 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/40/165440/1 diff --git a/client/includes/hooks/SidebarHookHandlers.php b/client/includes/hooks/SidebarHookHandlers.php index 95e2b74..94127d0 100644 --- a/client/includes/hooks/SidebarHookHandlers.php +++ b/client/includes/hooks/SidebarHookHandlers.php @@ -114,13 +114,13 @@ /** * Static handler for the ParserAfterParse hook. * - * @param Parser &$parser - * @param string &$text - * @param StripState $stripState + * @param Parser|null &$parser + * @param string|null &$text Unused. + * @param StripState|null $stripState Unused. * * @return bool */ - public static function onParserAfterParse( Parser &$parser, &$text, StripState $stripState ) { + public static function onParserAfterParse( Parser &$parser = null, &$text = null, StripState $stripState = null ) { // this hook tries to access repo SiteLinkTable // it interferes with any test that parses something, like a page or a message if ( defined( 'MW_PHPUNIT_TEST' ) ) { @@ -197,13 +197,17 @@ * Hook runs after internal parsing * @see https://www.mediawiki.org/wiki/Manual:Hooks/ParserAfterParse * - * @param Parser &$parser - * @param string &$text - * @param StripState $stripState + * @param Parser|null &$parser + * @param string|null &$text Unused. + * @param StripState|null $stripState Unused. * * @return bool */ - public function doParserAfterParse( Parser &$parser, &$text, StripState $stripState ) { + public function doParserAfterParse( Parser &$parser = null, &$text = null, StripState $stripState = null ) { + if ( $parser === null ) { + return true; + } + $title = $parser->getTitle(); if ( !$this->namespaceChecker->isWikibaseEnabled( $title->getNamespace() ) ) { diff --git a/client/tests/phpunit/includes/hooks/SidebarHookHandlersTest.php b/client/tests/phpunit/includes/hooks/SidebarHookHandlersTest.php index 71f38b9..43fd22a 100644 --- a/client/tests/phpunit/includes/hooks/SidebarHookHandlersTest.php +++ b/client/tests/phpunit/includes/hooks/SidebarHookHandlersTest.php @@ -15,10 +15,10 @@ use SiteStore; use StripState; use Title; -use Wikibase\Client\WikibaseClient; use Wikibase\Client\Hooks\LanguageLinkBadgeDisplay; use Wikibase\Client\Hooks\OtherProjectsSidebarGenerator; use Wikibase\Client\Hooks\SidebarHookHandlers; +use Wikibase\Client\WikibaseClient; use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\SiteLink; @@ -362,6 +362,13 @@ } } + /** + * @see https://bugzilla.wikimedia.org/show_bug.cgi?id=71772 + */ + public function testOnParserAfterParse_withoutParameters() { + $this->assertTrue( SidebarHookHandlers::onParserAfterParse() ); + } + public function testDoOutputPageParserOutput() { $title = Title::makeTitle( NS_MAIN, 'Oxygen' ); -- To view, visit https://gerrit.wikimedia.org/r/165440 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I70a9542a0f2c25139e4d7d464c93228f27157974 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits