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

Reply via email to