jenkins-bot has submitted this change and it was merged. Change subject: Return nil when mw.entity.label and sitelink don't find anything ......................................................................
Return nil when mw.entity.label and sitelink don't find anything this is the old behavior and we ought not to change this, else we break various lua modules like on Russian Wikipedia: https://ru.wikipedia.org/wiki/%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD:Wikidata Bug: 73615 Change-Id: I57b825e9020d3e6910188edcbe2da728fa2bef54 --- M client/includes/scribunto/WikibaseLuaBindings.php M client/tests/phpunit/includes/scribunto/LuaWikibaseLibraryTests.lua M client/tests/phpunit/includes/scribunto/WikibaseLuaBindingsTest.php M client/tests/phpunit/includes/scribunto/WikibaseLuaIntegrationTestItemSetUpHelper.php 4 files changed, 18 insertions(+), 7 deletions(-) Approvals: Hoo man: Looks good to me, approved jenkins-bot: Verified diff --git a/client/includes/scribunto/WikibaseLuaBindings.php b/client/includes/scribunto/WikibaseLuaBindings.php index b068fbf..d1b4d8a 100644 --- a/client/includes/scribunto/WikibaseLuaBindings.php +++ b/client/includes/scribunto/WikibaseLuaBindings.php @@ -270,15 +270,15 @@ try { $entityId = $this->entityIdParser->parse( $prefixedEntityId ); } catch( EntityIdParsingException $e ) { - return ''; + return null; } try { $label = $this->labelLookup->getLabel( $entityId ); } catch ( StorageException $ex ) { - return ''; + return null; } catch ( OutOfBoundsException $ex ) { - return ''; + return null; } // NOTE: This tracks a label usage in the wiki's content language. @@ -300,12 +300,12 @@ try { $itemId = new ItemId( $prefixedEntityId ); } catch( InvalidArgumentException $e ) { - return ''; + return null; } $item = $this->entityLookup->getEntity( $itemId ); if ( !$item || !$item->getSiteLinkList()->hasLinkWithSiteId( $this->siteId ) ) { - return ''; + return null; } $this->usageAccumulator->addPageUsage( $itemId ); diff --git a/client/tests/phpunit/includes/scribunto/LuaWikibaseLibraryTests.lua b/client/tests/phpunit/includes/scribunto/LuaWikibaseLibraryTests.lua index 2130484..5452d64 100644 --- a/client/tests/phpunit/includes/scribunto/LuaWikibaseLibraryTests.lua +++ b/client/tests/phpunit/includes/scribunto/LuaWikibaseLibraryTests.lua @@ -59,9 +59,18 @@ args = { 'Q32487' }, expect = { 'Lua Test Item' } }, + { name = 'mw.wikibase.label', func = mw.wikibase.label, type='ToString', + args = { 'Q32488' }, + expect = { nil } + }, { name = 'mw.wikibase.sitelink', func = mw.wikibase.sitelink, type='ToString', args = { 'Q32487' }, expect = { 'WikibaseClientLuaTest' } + }, + { + name = 'mw.wikibase.sitelink', func = mw.wikibase.sitelink, type='ToString', + args = { 'Q32488' }, + expect = { nil } } } diff --git a/client/tests/phpunit/includes/scribunto/WikibaseLuaBindingsTest.php b/client/tests/phpunit/includes/scribunto/WikibaseLuaBindingsTest.php index b14df57..60408f0 100644 --- a/client/tests/phpunit/includes/scribunto/WikibaseLuaBindingsTest.php +++ b/client/tests/phpunit/includes/scribunto/WikibaseLuaBindingsTest.php @@ -150,7 +150,7 @@ public function getLabelProvider() { return array( array( 'LabelString', 'Q123' ), - array( '', 'DoesntExist' ) + array( null, 'DoesntExist' ) ); } @@ -180,7 +180,7 @@ public function getSiteLinkPageNameProvider() { return array( array( 'Beer', 'Q666' ), - array( '', 'DoesntExist' ) + array( null, 'DoesntExist' ) ); } diff --git a/client/tests/phpunit/includes/scribunto/WikibaseLuaIntegrationTestItemSetUpHelper.php b/client/tests/phpunit/includes/scribunto/WikibaseLuaIntegrationTestItemSetUpHelper.php index ffeab0c..180292e 100644 --- a/client/tests/phpunit/includes/scribunto/WikibaseLuaIntegrationTestItemSetUpHelper.php +++ b/client/tests/phpunit/includes/scribunto/WikibaseLuaIntegrationTestItemSetUpHelper.php @@ -83,6 +83,8 @@ $this->createTestItem( new ItemId( 'Q32487' ), $labels, array( $statement1, $statement2 ), $siteLinks ); + $this->createTestItem( new ItemId( 'Q32488' ), array(), array( $statement1 ), array() ); + // Create another test item to test arbitrary access $this->createTestItem( new ItemId( 'Q199024' ), array( 'de' => 'Arbitrary access \o/' ) ); } -- To view, visit https://gerrit.wikimedia.org/r/174443 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I57b825e9020d3e6910188edcbe2da728fa2bef54 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Aude <aude.w...@gmail.com> Gerrit-Reviewer: Hoo man <h...@online.de> Gerrit-Reviewer: Jackmcbarn <jackmcb...@gmail.com> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits